
Vidyaan
A live training and placement-prep platform for engineering students, with real-time classes, proctored mock tests, coding practice, and AI-assisted interview prep in one place. Every quiz answer is graded server-side, so the correct option never reaches a student's browser early. Winner of Best Start-up Project at SIT Lonavala's Start-up Expo, and load-tested at 500 concurrent quiz submissions with zero data-integrity errors.
Problem
Live training for engineering students usually means a video call bolted onto a separate quiz tool, with no way to actually confirm who answered what, no proctoring integrity, and no shared record for a trainer or a college managing several batches at once. Placement prep tools are typically separate again, with no connection back to what a student actually learned in class.
Solution
Built as a single Next.js application with four route groups, one for the marketing site, one each for students, trainers, and admins, mapped to four subdomains by hostname in middleware, so all four share one login and one Postgres database. The live-quiz flow is server-authoritative end to end: the trainer's browser only sends a question ID, the server computes when it closes, broadcasts it over a LiveKit data channel, and grades every answer on submission, with a unique database constraint guaranteeing one answer per student. Camera and mic consent for live classes is enforced the same way, checked server-side on every request rather than trusted from the client. Mock tests are proctored with in-browser face detection and auto-submit after repeated warnings, coding practice runs in a sandboxed Web Worker, AI features (question generation, interview practice, class summaries) run through a token-capped, Zod-validated pipeline with a non-AI fallback, and payments go through Razorpay with a signature-verified, idempotent webhook.
Features
- •Live classes over LiveKit, with server-computed countdowns and grading that happens entirely server-side, so the correct answer never reaches a client before the question closes
- •A unique database constraint on each quiz push and student pair enforces one answer per student at the database level, not in application code
- •Camera and mic consent for live classes is enforced server-side: a trainer can only control a student's camera after the student has agreed, re-checked on every request
- •Proctored mock tests use in-browser face detection to flag no-face, multiple-face, tab-switch, and fullscreen-exit events, auto-submitting after repeated warnings
- •Trainers run OA-style assessments with shuffled questions, gate results until they choose to publish, then export the full batch report — scores, timing, rank as PDF or CSV
- •In-browser coding practice runs JavaScript and Python in a sandboxed Web Worker (Python through Pyodide), with hidden test cases kept server-side until submission
- •AI features for question generation, class summaries, and interview practice run through a daily token cap per college, Zod-validated output, and a non-AI fallback when disabled
- •Razorpay payments verified through an HMAC-checked, idempotent webhook, so a retried callback can never double-charge or double-activate a plan
- •One Next.js codebase serves four subdomains (marketing, student, trainer, admin), routed by hostname in middleware, sharing one login and one database
- •An analytics pipeline surfaces attendance, topic weakness, and at-risk students to trainers and admins, computed directly from live-class and quiz data
- •Ships as an installable PWA and, through Capacitor, a native Android build
Project Gallery

Student Dashboard — Practice Home

Trainer Dashboard — Session Overview

Super Admin Dashboard Overview

Trainer Live Control Room

Student Live Class — Quiz Countdown

Live Quiz Reveal & Answer Distribution

Proctored Mock Test in Progress

Coding Practice — CodeMirror Editor

Trainer Report — Proctored OA Results

Trainer analytics across batches