Cynotics — Practical Exams Platform
Built a full-stack exam platform for students and teachers in India — robust backend, clean UI, and tight frontend-backend integration.
Overview
Cynotics is a platform that makes it easier for students and teachers to run practical exams in India. I worked on the backend services, the UI, and the integration between them.
Problem
Practical exams were being run on a patchwork of tools. The platform needed to handle the end-to-end flow — authentication, exam creation, administration, submission — in one place, reliable enough for real schools to use.
Constraints
- Needed to scale to full classes writing exams at the same time
- Data integrity around submissions was non-negotiable — no lost answers
- UI had to be usable by students and teachers with varying tech literacy
Approach
Built a REST API backend for exam state, auth, and submissions, paired with a responsive React frontend. Focused the UI on clarity over cleverness — exams aren't the place for surprising interactions.
Key Decisions
Owned both backend and frontend
A lot of exam-platform bugs live in the seam between server and client. Owning both meant I could fix the class of bug where "the UI said one thing, the server recorded another" at the source.
Deployed on Vercel for frontend, separate service for API
Keeps the edges where they belong. Frontend gets global CDN for free; backend stays on infrastructure that makes sense for state-heavy work.
Tech Stack
- React
- Node.js
- REST APIs
- PostgreSQL
- Vercel
Result & Impact
Live at cynotics-merged.vercel.app, handling practical-exam flows for students and teachers. UI stayed calm under exam conditions, backend stayed consistent under submission load.
Learnings
- For tools used under pressure (exams, checkouts, medical), calm UI beats pretty UI every time
- When backend and frontend are owned by the same person, the integration bug budget shrinks to near zero