100% Open-Source β’ Zero API Costs β’ Self-Hosted LLM
AI-powered career guidance platform that generates personalized learning roadmaps, skills analysis, and interview preparation β all running on your own infrastructure with zero usage costs.
| Feature | Description |
|---|---|
| π― Career Roadmaps | 6-month personalized learning paths with weekly breakdowns |
| π Skills Analysis | Identify transferable skills and learning priorities |
| πΌ Interview Prep | Technical & behavioral questions with answer frameworks |
| π§ Knowledge Quizzes | 15 MCQs per step with explanations (80% pass rate) |
| π¬ YouTube Tutorials | Auto-curated full course videos (no shorts!) |
| π Progress Tracking | Visual completion tracking with PDF export |
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend API β β LLM Service β
β (React/Vite) ββββββΆβ (FastAPI) ββββββΆβ (Ollama) β
β Port: 5173 β β Port: 8000 β β Port: 11434 β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Mistral 7B β
β (Apache 2.0) β
βββββββββββββββββββ
| Model | License | VRAM | Speed | Context |
|---|---|---|---|---|
| Mistral 7B β | Apache 2.0 | 6GB | 127 tok/s | 32K |
| LLaMA 3 8B | Meta License* | 8GB | 67 tok/s | 8K |
| Mixtral 8x7B | Apache 2.0 | 24GB+ | 45 tok/s | 32K |
Mistral 7B is truly open with zero licensing friction for commercial use.
- macOS/Linux or WSL on Windows
- 8GB+ RAM (16GB recommended)
- Python 3.10+
- Node.js 18+
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Start Ollama service
ollama serve
# Download Mistral 7B (4.1GB, takes 2-5 minutes)
ollama pull mistral:7b-instruct-v0.3-q4_K_Mcd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment file
cp .env.example .env
# Run the server
uvicorn main_v2:app --reload --port 8000cd frontend
npm install
npm run devVisit http://localhost:5173 π
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/ai/roadmap |
Generate career roadmap |
POST |
/api/ai/skills |
Analyze skills & recommendations |
POST |
/api/ai/interview-prep |
Interview preparation guide |
POST |
/api/ai/quiz |
Generate knowledge quiz |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/health |
System health status |
GET |
/api/health/llm |
LLM service status |
GET |
/api/health/models |
Available models |
| Method | Endpoint | Maps To |
|---|---|---|
POST |
/generate-path |
/api/ai/roadmap |
POST |
/generate-quiz |
/api/ai/quiz |
Full API docs: http://localhost:8000/docs
# Clone and run everything
docker-compose up -d
# Wait for model to download (first run only)
docker-compose logs -f model-loader# Just the LLM service
cd llm-service
docker-compose up -d
# Verify it's running
curl http://localhost:11434/api/tags- Hardware: 8GB RAM, any modern CPU
- Performance: ~3-5s per roadmap generation
- Best for: Development, personal use
Provider RAM vCPUs Cost/mo
βββββββββββββββββββββββββββββββββββββ
Hetzner 16GB 4 $18
Contabo 16GB 4 $12
DigitalOcean 16GB 4 $48
Provider GPU VRAM Cost/hr
ββββββββββββββββββββββββββββββββββββββββ
RunPod RTX 3060 12GB $0.20
Vast.ai RTX 3080 10GB $0.25
Lambda RTX 4090 24GB $0.50
GPU gives 10-20x faster inference!
career-forge/
βββ backend/
β βββ main_v2.py # FastAPI app (open-source LLM)
β βββ config.py # Environment configuration
β βββ api/
β β βββ routes/ # API endpoint handlers
β β βββ schemas/ # Request/response models
β βββ services/
β β βββ llm_service.py # Ollama integration
β β βββ roadmap_service.py # Roadmap generation
β β βββ skills_service.py # Skills analysis
β β βββ interview_service.py # Interview prep
β β βββ quiz_service_v2.py # Quiz generation
β βββ prompts/ # Prompt templates
β βββ utils/ # Helpers
β
βββ llm-service/
β βββ docker-compose.yml # Ollama deployment
β βββ Modelfile # Custom model config
β βββ scripts/
β βββ setup.sh # Installation script
β βββ health-check.sh # Monitoring
β βββ benchmark.sh # Performance testing
β
βββ frontend/ # React/Vite app
βββ docker-compose.yml # Full stack deployment
βββ ARCHITECTURE.md # Detailed architecture docs
All settings via environment variables:
# LLM Service
LLM_BASE_URL=http://localhost:11434
LLM_MODEL=mistral:7b-instruct-v0.3-q4_K_M
LLM_TIMEOUT=120
# API Server
API_PORT=8000
CORS_ORIGINS=http://localhost:5173
# Features
YOUTUBE_ENABLED=true
RATE_LIMIT=30See .env.example for all options.
- β Rate limiting on AI endpoints
- β Input validation & sanitization
- β Prompt injection protection
- β No secrets in code
- β CORS configuration
- β Non-root Docker containers
# deploy.yaml (Kubernetes)
apiVersion: apps/v1
kind: Deployment
metadata:
name: careerforge-api
spec:
replicas: 3 # Scale API pods
...Add Redis for caching common roadmaps:
# Cache similar profile queries
cache_key = hash(user_profile)
if cached := redis.get(cache_key):
return cachedHot-swap to stronger models when resources available:
# Upgrade to Mixtral (needs 24GB+ VRAM)
ollama pull mixtral:8x7b-instruct-v0.1-q4_K_M
# Update .env
LLM_MODEL=mixtral:8x7b-instruct-v0.1-q4_K_MBeautiful gradient UI with purple theme, 3D loading animations, interactive quiz modals, and progress visualization.
cd backend
pytest tests/ -vblack .
isort .
mypy .cd llm-service/scripts
./benchmark.sh- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
- This Project: MIT License
- Mistral 7B Model: Apache 2.0 License
Harsh Saini
Made with β€οΈ for developers who want AI without the API bill.
- Mistral AI for the amazing open-source model
- Ollama for making local LLM deployment easy
- The open-source community for making this possible
"BCβ¦ ye banda serious hai." π