Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sylorix — AI Student Assistant Platform

An all-in-one AI-powered web platform that helps students choose careers, plan their study sessions, analyze their resumes, and find learning resources — built with FastAPI + Next.js 14 + multiple AI/ML components.


Features

Module What it does AI / Tech
Career Predictor Predicts best-fit tech career from 14 skill ratings Decision Tree Classifier (scikit-learn)
AI Chatbot Answers study & career questions conversationally RAG — TF-IDF + FAISS retrieval → LLaMA 3 (Groq)
Study Planner Generates personalized Pomodoro study schedules RL-inspired greedy scheduling heuristic
Resume Analyzer Scores PDF resumes against 30 industry skills SpaCy NER + PyMuPDF
Resource Finder Recommends learning resources by career goal TF-IDF content-based filtering

Tech Stack

Backend

  • Python 3.11 · FastAPI · Uvicorn
  • scikit-learn (TF-IDF, Decision Tree, cosine similarity)
  • FAISS (vector similarity search)
  • SpaCy en_core_web_sm (NER + lemmatization)
  • PyMuPDF (PDF parsing)
  • Groq API — LLaMA 3 (free tier LLM generation)
  • python-dotenv · joblib · pandas · numpy

Frontend

  • Next.js 14 (App Router) · React 18 · TypeScript
  • TailwindCSS · Framer Motion
  • Zustand (state management)
  • Axios · react-markdown · remark-gfm

Project Structure

sylorix/
├── backend/
│   ├── main.py                  # FastAPI app, CORS, router mounts
│   ├── requirements.txt
│   ├── .env.example             # Copy to .env and fill in keys
│   ├── routers/
│   │   ├── career.py            # POST /api/career/predict
│   │   ├── chatbot.py           # POST /api/chatbot/chat  (RAG + LLaMA 3)
│   │   ├── planner.py           # POST /api/planner/generate
│   │   ├── resume.py            # POST /api/resume/analyze
│   │   └── resources.py         # POST /api/resources/recommend
│   ├── ml/
│   │   ├── data_generator.py    # Generate synthetic training data
│   │   └── model_trainer.py     # Train & save Decision Tree model
│   ├── models/                  # career_model.pkl (gitignored — regenerate)
│   ├── datasets/                # career_dataset.csv (synthetic)
│   └── knowledge/
│       └── sylorix_kb.txt       # RAG knowledge base (30 documents)
├── frontend/
│   ├── src/
│   │   ├── app/                 # Next.js App Router pages
│   │   │   ├── page.tsx         # Landing / dashboard
│   │   │   ├── career/
│   │   │   ├── chat/
│   │   │   ├── planner/
│   │   │   ├── resume/
│   │   │   └── resources/
│   │   ├── components/
│   │   │   └── Sidebar.tsx      # Fixed icon sidebar
│   │   └── store/
│   │       └── useStore.ts      # Zustand store (apiBaseUrl)
│   ├── package.json
│   └── tailwind.config.ts
└── docs/
    ├── Sylorix_Project_Documentation.html
    └── Sylorix_Project_Documentation.pdf

Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • Groq API key (free — no credit card)

1 — Backend

cd backend

# Create and activate virtual environment
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Download SpaCy model
python -m spacy download en_core_web_sm

# Set up environment variables
cp .env.example .env
# Edit .env and add your GROQ_API_KEY

# Generate training data and train the model (one-time)
python backend/ml/data_generator.py
python backend/ml/model_trainer.py

# Start the API server
uvicorn main:app --reload --port 8000

API is live at http://localhost:8000
Interactive docs: http://localhost:8000/docs

2 — Frontend

cd frontend

npm install
npm run dev

App is live at http://localhost:3000


Environment Variables

Create backend/.env from the provided backend/.env.example:

# Free Groq key — https://console.groq.com/keys (14,400 req/day, no card)
GROQ_API_KEY=your_groq_api_key_here

# Optional — Gemini fallback
GEMINI_API_KEY=your_gemini_api_key_here

Security: .env is gitignored. Never commit real API keys.


API Endpoints

Method Endpoint Description
POST /api/career/predict Career prediction from skill scores
POST /api/chatbot/chat RAG chatbot (query + history)
POST /api/planner/generate Generate study schedule
POST /api/resume/analyze Analyze uploaded PDF resume
POST /api/resources/recommend Find learning resources

AI Architecture

Career Predictor:   14 skill inputs → Decision Tree → 1 of 7 career labels + probabilities

RAG Chatbot:        query
                      │
                      ▼
                    TF-IDF vectorize → FAISS top-5 search (cosine similarity)
                      │  retrieved context chunks
                      ▼
                    LLaMA 3 (Groq API)
                      ├─ System prompt: Sylorix AI persona
                      ├─ Context: KB chunks
                      └─ History: conversation turns
                      │
                      ▼
                    Grounded, student-friendly response

Resume Analyzer:    PDF upload → PyMuPDF text → SpaCy NER + lemmatization
                      → skill matching against 30-item industry set → score + gaps

Study Planner:      subjects + difficulty → greedy priority sort → Pomodoro interleaving
                      → efficiency score (0.85 + 0.1 × min(1, block/25))

Documentation

Full technical documentation (architecture, AI deep-dive, viva Q&A) is available in docs/Sylorix_Project_Documentation.pdf.


License

MIT

About

AI-powered student assistant platform — Career Predictor, RAG Chatbot (LLaMA 3), Study Planner, Resume Analyzer, Resource Recommender. Built with FastAPI + Next.js 14.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages