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.
- π¦ Key Features
- ποΈ System Architecture & Logic
- ποΈ Project Structure
- βοΈ Getting Started
- π API Routes Overview
- π Authentication & Security
- π€ Sample Gemini Prompt
- π Future Roadmap
- π€ Contributing Guide
- π€ Author
- π License
- π 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.
- Upload: User provides an engineering/corporate resume (PDF formatted directly to base64 encoding).
- Parsing: System strips raw text and feeds it alongside structured, localized prompts to the LLM core.
-
Inference: Gemini evaluates semantic phrasing to output structured decimal profiles (
$0.0 - 1.0$ ) matching the Big Five spectrum. - Persistence: Complete datasets are structured in Mongoose models and reflected instantaneously on the frontend graphs.
-
Behavioral Prompts: Users interact with an
$8\text{--}10$ question deep-dive testing soft metrics and situational judgment. - Narrative Construction: Submissions compose an encrypted user-intent prompt evaluated contextually by Gemini.
- Insight Dispatch: The engine outputs raw personality metrics coupled with tailored career vectors, saved automatically to the relational MongoDB clusters.
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
Before running the application, make sure you have the following installed locally:
- Clone the Repo:
git clone [https://github.com/thedevanshagrawal/rezumix.git](https://github.com/thedevanshagrawal/rezumix.git)
cd rezumix
- Install Dependencies:
npm install
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
npm run dev
Open http://localhost:3000 inside your browser to view the app.
| Method | Route | Description |
|---|---|---|
POST |
/api/auth/register |
Register a new user profile |
POST |
/api/auth/login |
Authenticate credentials and drop an HTTP-only JWT |
| 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 |
| 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 |
| 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 |
- Secure Cookies: Session tokens are minted using JSON Web Tokens (JWT) and locked strictly inside
HTTP-onlyandSameSitecookie definitions to mitigate XSS risks. - Password Hashing: Standard plain-text password objects undergo salt rounds and processing via
bcrypthooks before database insertion. - Route Guards: Next.js middleware layers inspect incoming dynamic tokens to prevent unauthorized route access to analytical modules.
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,
...
}
- ποΈ 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.
Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.
Contributions make the open-source community an amazing place to learn, inspire and create. Any contributions you make are greatly appreciated.
- View: CONTRIBUTING.md
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Devansh Agrawal
π B.Tech CSE, The ICFAI University, Raipur
π§ Full Stack & AI Developer
π LinkedIn
π» GitHub
π§ Email: agrawaldevansh27@gmail.com
Distributed under the MIT License. See LICENSE for more information.
βYour personality. Your potential. Rezumix.β