HACKFEST'26 · Team OSPRED
A diagnostic tutoring platform that traces a student's wrong answer back to the exact prerequisite concept they haven't mastered — then teaches that first.
When a student misses a factoring problem, traditional tutors re-explain that exact problem. The student nods — and gets the next one wrong too, for the same invisible reason. The real gap stays hidden.
Root Cause doesn't just flag the wrong answer. It:
- Captures the student's specific wrong answer
- Classifies the error pattern against known misconception categories
- Traverses a hand-authored prerequisite dependency graph
- Identifies the true root cause (e.g., "Integer Addition", not "Factoring")
- Delivers a targeted micro-lesson on the actual gap
| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite |
| Styling | Vanilla CSS (glassmorphism design system) |
| Backend | Node.js (zero external dependencies) |
| Database | Firebase Firestore (real-time sync) |
| Diagnostic Engine | Deterministic rule-based parser |
| Deployment | Vercel (serverless functions + static hosting) |
root-cause/
├── api/ # Vercel serverless functions
│ ├── _helpers.js # Shared diagnostic logic
│ ├── questions.js # GET /api/questions
│ ├── graph.js # GET /api/graph
│ ├── diagnose.js # POST /api/diagnose
│ └── health.js # GET /api/health
├── client/ # React + Vite frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── api.js # API client
│ │ ├── firebase.js # Firebase config
│ │ └── App.jsx # Main application
│ └── package.json
├── server/ # Local dev backend
│ ├── data/ # Question bank + concept graph
│ ├── diagnostics.js # Graph traversal logic
│ ├── parser.js # Deterministic classification engine
│ └── index.js # HTTP server
├── vercel.json # Vercel deployment config
└── README.md
cd server
node index.jsThe API server starts on http://localhost:4000.
cd client
npm install
npm run devThe dev server starts on http://localhost:5173.
- Push this repo to GitHub
- Import the repo in Vercel
- Vercel will auto-detect the
vercel.jsonconfig - The frontend builds from
client/and API routes deploy as serverless functions fromapi/
No environment variables are required — the diagnostic engine runs entirely offline.
- 52 Randomized Questions — shuffled on every page load
- Instant Diagnostics — deterministic parser, zero latency
- Student Leaderboard — real-time accuracy rankings via Firebase
- Teacher Dashboard — aggregated root cause analytics, CSV export, lesson plan generation
- Concept Dependency Graph — interactive visualization of prerequisite chains
- Responsive Design — glassmorphism UI with micro-animations
Built by Team OSPRED for HACKFEST'26.
MIT License — see LICENSE for details.