Skip to content
All projects

// Full Stack · AI Evaluation · Proctoring

CSE Placement Training

Live proctored examination platform used by my college

Design, frontend, backend, proctoring & deployment · 2025

Illustrative preview — replace with a real screenshot by adding `public/projects/cse-placement-training.png` and wiring it into ProjectVisual.

ReactNode.jsExpress.jsMongoDBFirebaseJWTWebGazerface-api.jsGroqLlama 3.1VercelRailway

A deployed CSE placement-training platform used by my college for training and assessments. It handles exam scheduling, randomized questions, server-controlled timers, auto-save, automatic submission on expiry, crash recovery, and JSON bulk question import.

The proctoring layer combines webcam face detection, gaze tracking, fullscreen and tab monitoring, suspicious-action detection, and a Trust Score that aggregates violations for review.

I also integrated Llama 3.1 8B Instant through the Groq API for semantic answer evaluation with partial marking and a manual-review fallback. That AI evaluation path was later removed from production due to API and deployment constraints — the rule-based grading, rankings, and percentile analytics remain live.

// features

Exam engine

Scheduling, randomized questions, server-controlled timers, auto-save, deadline handling, crash recovery, and bulk JSON question import.

Webcam proctoring

Face detection, gaze tracking, fullscreen/tab monitoring, suspicious-action detection, and Trust Score–based violation tracking.

Grading & analytics

Automated grading with rankings and percentile analytics. Semantic evaluation with Llama 3.1 via Groq (partial marking + manual-review fallback) — since removed from production.

Access control

JWT authentication with role-based workflows for admins, coordinators, and students.

// architecture

  • React frontend on Vercel; Node.js + Express API on Railway; MongoDB for exams, questions, attempts, and results; Firebase for auth/session support.
  • Server is the source of truth for timers and submission deadlines — clients auto-save and recover after crashes or reloads.
  • Proctoring runs on-device (WebGazer + face-api.js) and streams violation events to the backend, where a Trust Score aggregates them per attempt.
  • Groq / Llama 3.1 evaluation ran as an isolated service path with manual-review fallback so grading never blocked on the LLM.

// implementation

  • Randomized question delivery to reduce leakage across concurrent sessions.
  • Auto-save with deadline-aware auto-submission on time expiry.
  • Bulk question import via JSON for fast exam setup by coordinators.
  • Role-scoped APIs so students, coordinators, and admins only see their workflows.

// challenges

300 concurrent students during training and assessments.

approach — Kept timers and grading server-side, minimized payload sizes, and made the client resilient to reloads so spikes degrade gracefully instead of losing attempts.

Cheating signals are noisy (lighting, movement, tab changes).

approach — Combined multiple weak signals — face presence, gaze, fullscreen, tab visibility — into a single Trust Score for human review instead of hard auto-fail.

LLM evaluation depended on external API availability.

approach — Wrapped semantic grading with partial marking plus manual-review fallback, then removed it from production when API and deployment constraints made it unreliable.