SafeExam.in
Next.js, FastAPI, PostgreSQL
Browser-based institutional examination platform with activity monitoring, tab-switch detection, and asynchronous answer auto-save.
Overview
SafeExam.in is a production-grade browser-based examination platform designed for institutional use. It eliminates the need for dedicated exam management infrastructure by providing a secure, lightweight, and user-friendly interface for conducting MCQ assessments online.
Key Features
Client-Side Proctoring
- Tab Switch Detection: Monitors browser focus and detects when students switch tabs or windows during the exam
- Activity Monitoring: Tracks mouse movements, keyboard inputs, and window focus events
- Real-time Signals: Captures and logs proctoring events for post-exam review
Network-Resilient Architecture
- Asynchronous Auto-Save: Automatically persists answers every 30 seconds to backend, regardless of network conditions
- Offline Support: Maintains local answer cache so students never lose work during connection drops
- Graceful Recovery: Automatically syncs answers when connection is restored
Performance & UX
- Optimized Load Times: Client-side rendering with strategic code splitting
- Progressive Enhancement: Works with or without JavaScript for maximum accessibility
- Responsive Design: Works seamlessly on desktops, tablets, and mobile devices
Technical Stack
- Frontend: Next.js 14, TypeScript, React Hooks for state management
- Backend: FastAPI for lightweight async HTTP server
- Database: PostgreSQL with optimized queries for exam result aggregation
- Infrastructure: Deployed on Vercel (frontend) with managed PostgreSQL
Impact & Results
- Enables institutions to conduct secure online assessments without expensive proctoring software
- Reduces server load through intelligent client-side caching and async updates
- Provides audit trail of student activity for institutional compliance
- Currently supporting pilot testing with institutional partners
Development Timeline
Started: February 2026
Status: Active Development
Team: Solo developer with institution collaboration
Frequently Asked Questions
Q: Is exam data secure and encrypted? All answers are transmitted over HTTPS. Database queries are parameterized to prevent injection attacks. Student data is isolated per exam session.
Q: What if a student loses internet connection mid-exam? Answers are auto-saved every 30 seconds locally. When connection returns, they sync automatically. No work is ever lost.
Q: How do you detect cheating/tab switching? We log tab switch events and window blur events. Proctors can review the activity timeline post-exam but cannot intervene in real-time.
Q: What browsers are supported? Chrome, Firefox, Safari, Edge (last 2 versions). Mobile browsers work but aren’t recommended for exams due to smaller screens.
Q: Can students download the exam questions? No. Questions are served dynamically and not cached. Screenshots and downloads are blocked via JavaScript.
Q: What’s the maximum number of concurrent exam takers? Scales horizontally. Current setup supports 500+ concurrent users on managed PostgreSQL.
Related Technical Explorations
Building a robust proctoring system requires understanding hardware bottlenecks and optimization, similar to the challenges explored in our Quantum Computing research paper. Both focus on scalability, reliability, and ensuring systems work under real-world constraints.