Skip to content

hellokit3y/rezumix

Β 
Β 

Repository files navigation

πŸš€ Rezumix – AI-Powered Resume & Personality Analyzer

Next.js Tailwind CSS MongoDB Gemini API License: MIT

Rezumix is a sophisticated full-stack AI application designed to bridge the gap between technical qualifications and psychological soft skills. By analyzing a user's resume and behavioral questionnaire responses, Rezumix leverages Google's Gemini API to predict personality traits using the industry-standard OCEAN (Big Five) personality model. It empowers users with deep psychological insights, personalized career trajectories, and targeted skill recommendations.


πŸ“Œ Table of Contents


πŸ“¦ Key Features

  • πŸ“„ Dual-Engine Analysis: Extract text directly from uploaded PDFs or process psychological data through native questionnaire tracking.
  • 🧠 AI-Powered OCEAN Profiling: Deep evaluation across Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism utilizing custom engineering on Google Gemini.
  • πŸ“Š Dynamic Visual Dashboards: Rich, interactive charts and modern reporting modules built with Tailwind CSS and animated using Framer Motion.
  • 🧭 Actionable Career Roadmaps: Algorithmic-like tailored tracking mapping personality profiles to realistic job domains and required skillsets.
  • πŸ” Bulletproof Authentication: Secure registration and stateful user management via JWT parameters encrypted in HTTP-only cookies.

πŸ—οΈ System Architecture & Logic

Resume-Based Analysis Pipeline

  1. Upload: User provides an engineering/corporate resume (PDF formatted directly to base64 encoding).
  2. Parsing: System strips raw text and feeds it alongside structured, localized prompts to the LLM core.
  3. Inference: Gemini evaluates semantic phrasing to output structured decimal profiles ($0.0 - 1.0$) matching the Big Five spectrum.
  4. Persistence: Complete datasets are structured in Mongoose models and reflected instantaneously on the frontend graphs.

Questionnaire-Based Narrative Pipeline

  1. Behavioral Prompts: Users interact with an $8\text{--}10$ question deep-dive testing soft metrics and situational judgment.
  2. Narrative Construction: Submissions compose an encrypted user-intent prompt evaluated contextually by Gemini.
  3. Insight Dispatch: The engine outputs raw personality metrics coupled with tailored career vectors, saved automatically to the relational MongoDB clusters.

πŸ—‚οΈ Project Structure

rezumix/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ layout.js                 # App layout wrapper
β”‚   β”œβ”€β”€ page.js                   # Landing/home page
β”‚   β”œβ”€β”€ dashboard/                # Authenticated user dashboard
β”‚   β”œβ”€β”€ upload/                   # Resume upload and handling
β”‚   β”œβ”€β”€ questionnaire/            # Personality test interface
β”‚   β”œβ”€β”€ result/                   # Personality report and insights
β”‚   └── api/                      # Next.js App Router API Engines
β”‚       β”œβ”€β”€ auth/                 # JWT login/register routines
β”‚       β”œβ”€β”€ resume/               # File parsers and text extraction
β”‚       β”œβ”€β”€ questionnaire/        # Dynamic test handlers
β”‚       └── personality/          # Aggregation modules and tips
β”œβ”€β”€ components/                   # Reusable UI/UX Elements
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ db.js                     # MongoDB connection utility
β”‚   β”œβ”€β”€ gemini.js                 # Gemini API integration wrapper
β”‚   └── utils.js                  # Token generation, validation, etc.
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ User.js                   # Mongoose user model
β”‚   β”œβ”€β”€ Report.js                 # Mongoose personality analytics model
β”‚   └── Questionnaire.js          # Mongoose questionnaire tracking model
β”œβ”€β”€ public/                       # Static media, icons, and assets
β”œβ”€β”€ styles/                       # Global Tailwind and structural CSS
β”œβ”€β”€ .env.local                    # Local environment variables
└── next.config.js                # Core Next.js compilation options


βš™οΈ Getting Started

Prerequisites

Before running the application, make sure you have the following installed locally:

Installation Guide

  1. Clone the Repo:
git clone [https://github.com/thedevanshagrawal/rezumix.git](https://github.com/thedevanshagrawal/rezumix.git)
cd rezumix
  1. Install Dependencies:
npm install

Environment Configuration

Create a .env.local file in the root directory and add the following keys:

MONGODB_URI=your_mongodb_connection_string
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_key
CLOUDINARY_API_SECRET=your_cloudinary_secret
EMAIL_USER=your_email_address
EMAIL_PASS=your_email_password
JWT_SECRET=your_secure_jwt_secret_key
GEMINI_API_KEY=your_google_gemini_api_key

Running Locally

npm run dev

Open http://localhost:3000 inside your browser to view the app.


πŸ”Œ API Routes Overview (/app/api/)

πŸ” Auth Routes

Method Route Description
POST /api/auth/register Register a new user profile
POST /api/auth/login Authenticate credentials and drop an HTTP-only JWT

πŸ“„ Resume Analysis

Method Route Description
POST /api/resume/upload Validates and saves base64 PDF strings
POST /api/resume/analyze Passes structural text blocks to Gemini for score generation

🧠 Questionnaire Routes

Method Route Description
GET /api/questionnaire/sample Fetches randomized behavioral prompts generated by the AI
POST /api/questionnaire/submit Submits targeted user solutions directly to evaluation engines

πŸ“Š Personality Report

Method Route Description
GET /api/personality/report Serves finalized profile metrics and dashboard data
GET /api/personality/tips Distributes dynamic growth advice parsed by the AI

πŸ” Authentication & Security

  • Secure Cookies: Session tokens are minted using JSON Web Tokens (JWT) and locked strictly inside HTTP-only and SameSite cookie definitions to mitigate XSS risks.
  • Password Hashing: Standard plain-text password objects undergo salt rounds and processing via bcrypt hooks before database insertion.
  • Route Guards: Next.js middleware layers inspect incoming dynamic tokens to prevent unauthorized route access to analytical modules.

πŸ€– Sample Gemini Prompt

Analyze the following resume content and predict the user's Big Five (OCEAN) personality traits.

Resume:
"Full-stack developer with 3 years of experience in building scalable systems. Passionate about collaboration and solving real-world problems..."

Instructions:
- Return trait values (Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism) as decimal scores (0.0 - 1.0).
- Explain each trait in one line.
- Suggest 3 career paths and 3 skills to develop.

Format:
{
  "Openness": 0.83,
  "Conscientiousness": 0.78,
  ...
}


πŸ“ˆ Future Roadmap

  • πŸŽ™οΈ Voice Integration: Speech-to-text processing for dynamic oral questionnaire submissions.
  • πŸ’¬ Emotional Memory Hub: Contextual conversational AI tracking long-term testing trends.
  • πŸ§‘β€πŸŽ¨ Interactive Avatars: Framer Motion animated elements processing user analytical outcomes in real-time.
  • πŸ“₯ Report Exports: Native compiled PDF downloads for direct sharing with recruiters.

Code of Conduct

Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.


🀝 Contributing Guide

Contributions make the open-source community an amazing place to learn, inspire and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ‘€ Author

Devansh Agrawal

πŸŽ“ B.Tech CSE, The ICFAI University, Raipur
🧠 Full Stack & AI Developer
πŸ”— LinkedIn
πŸ’» GitHub
πŸ“§ Email: agrawaldevansh27@gmail.com


πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

β€œYour personality. Your potential. Rezumix.”

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 99.4%
  • CSS 0.6%