Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ELEVARE Logo

ELEVARE

AI-Driven Career Discovery Platform

Personalized career guidance through longitudinal behavioral analysis

License: MIT Node.js Python React MongoDB FastAPI

GitHub Stars GitHub Forks GitHub Issues

Demo · Quick Start · Documentation · Contributing


What is ELEVARE?

ELEVARE replaces one-time career quizzes with continuous behavioral analysis through daily AI conversations. Over time, it builds a deep understanding of who you are — your personality, strengths, and values — and maps that to real career paths using the Big Five model and Ikigai framework.

You talk to the AI  →  AI learns your patterns  →  You get personalized career recommendations
       daily              over weeks/months               with transparent reasoning

Features

Feature Description
LLM-Powered Coach Groq API (Llama 3.3 70B) for natural, empathetic career conversations
Longitudinal Analysis Behavioral patterns tracked over time, not just a single session
Big Five Personality Full OCEAN model profiling with radar chart visualization
Ikigai Mapping Four-quadrant career framework: love, skill, need, pay
8 Behavioral Traits Creativity, analytical thinking, leadership, teamwork, and more
Explainable AI Every recommendation includes confidence score and reasoning
Real-time Dashboard Trait evolution, streak tracking, and progress analytics
Dark Mode Full dark/light theme with smooth transitions
Mobile Responsive Works on all screen sizes

Architecture

┌─────────────────────────────────────┐
│   Frontend  (React 18 + Vite)       │
│   Dashboard · Chat · Analytics      │
└────────────────┬────────────────────┘
                 │ REST / JSON
┌────────────────▼────────────────────┐
│   Backend API  (Node.js + Express)  │
│   Auth · Validation · Rate Limiting │
└────────────────┬────────────────────┘
                 │ HTTP
┌────────────────▼────────────────────┐
│   AI Services  (Python + FastAPI)   │
│   NLP · Behavioral Analysis         │
│   Groq LLM · Recommendations        │
└────────────────┬────────────────────┘
                 │
┌────────────────▼────────────────────┐
│   MongoDB                           │
│   Users · Profiles · Conversations  │
└─────────────────────────────────────┘

Tech Stack

Layer Technologies
Frontend React 18, Vite, TailwindCSS, Framer Motion, Recharts
Backend Node.js, Express, JWT, Bcrypt, Helmet, express-rate-limit
AI Engine Python, FastAPI, Groq (Llama 3.3 70B), NLTK, TextBlob
Database MongoDB, Mongoose
DevOps Docker, Docker Compose, GitHub Actions CI/CD

Quick Start

One-Command Start (Recommended)

git clone https://github.com/Varadha9/ELEVARE.git
cd ELEVARE
cp .env.template .env   # fill in GROQ_API_KEY
./start.sh

Then open http://localhost:3000

Manual Setup

Prerequisites

Software Version
Node.js 18+
Python 3.9+ (3.13 supported)
MongoDB 6+
Git Latest

1. Clone & Configure

git clone https://github.com/Varadha9/ELEVARE.git
cd ELEVARE
cp .env.template .env

Edit .env and set these required values:

MONGODB_URI=mongodb://localhost:27017/elevare
JWT_SECRET=your_strong_secret_here        # openssl rand -base64 32
GROQ_API_KEY=your_groq_api_key_here       # https://console.groq.com/keys

2. Backend

cd backend
npm install
cp .env.example .env   # fill in your values
node server.js

3. AI Services

cd ai-services
python -m venv venv
source venv/bin/activate        # Linux/Mac
# venv\Scripts\activate         # Windows

pip install -r requirements.txt
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"

cp .env.example .env            # add GROQ_API_KEY
python main.py

4. Frontend

cd frontend
npm install
npm run dev

5. Open in Browser

Service URL
Frontend http://localhost:3000
Backend API http://localhost:5000
AI Service http://localhost:8000

Project Structure

ELEVARE/
├── backend/                    # Node.js Express API
│   ├── middleware/
│   │   ├── auth.js             # JWT middleware
│   │   └── validators.js       # Input validation
│   ├── models/                 # MongoDB schemas
│   ├── utils/
│   │   └── logger.js           # Production logger
│   └── server.js               # Main server
│
├── frontend/                   # React Application
│   └── src/
│       ├── components/
│       │   ├── charts/         # Recharts visualizations
│       │   ├── layout/         # Navbar, Sidebar
│       │   └── ui/             # Reusable components
│       ├── pages/              # 10 pages
│       ├── context/            # Auth state
│       ├── hooks/              # Custom React hooks
│       └── services/api.js     # Axios client
│
├── ai-services/                # Python AI Microservice
│   ├── services/
│   │   ├── nlp_processor.py       # Sentiment, emotion, keywords
│   │   ├── behavioral_analyzer.py # Trait & Ikigai analysis (EWMA)
│   │   ├── conversational_agent.py # Groq LLM integration
│   │   └── recommendation_engine.py
│   ├── utils/
│   │   └── llm_client.py       # Groq API client with retry logic
│   └── main.py                 # FastAPI server
│
├── docker-compose.yml
├── start.sh                    # One-command startup script
├── .env.template               # All environment variables
└── docs/                       # Full documentation

API Reference

Auth

POST /api/auth/register
POST /api/auth/login
PUT  /api/auth/change-password
DELETE /api/auth/account

Profile

GET  /api/profile
PUT  /api/profile
GET  /api/profile/export

Conversations

POST /api/conversations/message
GET  /api/conversations/history

Recommendations

GET  /api/recommendations
POST /api/recommendations/generate

Full API docs → docs/API.md


Environment Variables

Backend (backend/.env)

PORT=5000
NODE_ENV=production
MONGODB_URI=mongodb://localhost:27017/elevare
JWT_SECRET=your_secure_random_secret
JWT_EXPIRE=7d
AI_SERVICE_URL=http://localhost:8000
CORS_ORIGIN=http://localhost:3000
RATE_LIMIT_MAX_REQUESTS=100

AI Services (ai-services/.env)

MONGODB_URI=mongodb://localhost:27017/elevare
GROQ_API_KEY=your_groq_api_key
AI_SERVICE_PORT=8000

Get a free Groq API key → console.groq.com/keys


How It Works

Conversation → Analysis → Profile Update

User message
    ↓
NLP Pipeline (NLTK + TextBlob)
  → sentiment score
  → emotion detection
  → keyword extraction
  → trait signals
    ↓
Behavioral Analyzer (EWMA)
  → updates 8 trait scores
  → updates Big Five personality
  → recalculates Ikigai alignment
    ↓
Groq LLM (Llama 3.3 70B)
  → generates empathetic response
  → asks targeted follow-up question
    ↓
Saved to MongoDB

Recommendation Scoring

Confidence Score = (trait match × 0.4) + (personality fit × 0.3) + (ikigai alignment × 0.3)

Testing

# Backend tests
cd backend && npm test

# AI service tests
cd ai-services && pytest

# Health checks
curl http://localhost:5000/health
curl http://localhost:8000/health

Deployment

Service Platform
Frontend Vercel / Netlify
Backend Railway / Render
AI Service Railway / Fly.io
Database MongoDB Atlas

Full deployment guide → PRODUCTION_DEPLOYMENT.md


Database Collections

Collection Purpose
users Authentication, basic info
userprofiles Behavioral traits, personality, Ikigai
conversations Chat history with NLP analysis
recommendations Career suggestions with confidence scores

Security

  • JWT authentication with configurable expiry
  • Bcrypt password hashing (12 rounds)
  • Helmet security headers
  • MongoDB input sanitization
  • Rate limiting — global (100/15min) + auth endpoints (10/15min)
  • CORS whitelist configuration
  • Input validation on all endpoints (express-validator)

Documentation

Document Description
API Reference Complete API endpoint documentation
Architecture System design and data flow
Installation Detailed setup guide
Deployment Production deployment guide
LLM Integration Groq API integration details
Troubleshooting Common issues and fixes
Contributing How to contribute
Changelog Version history

Contributing

  1. Fork the repository
  2. Create a branch: git checkout -b feature/your-feature
  3. Commit with conventional commits: git commit -m "feat: add feature"
  4. Push and open a Pull Request against main

See CONTRIBUTING.md for full guidelines.


License

MIT — see LICENSE for details.


Acknowledgments


Built with ❤️ for students discovering their career path

⭐ Star this repo if ELEVARE helps you!

Author: Varadha

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages