PRABANJAN V
Featured project
QUEUE CURE
Approach & Core Problem Framing The problem was straightforward: small clinics lose time and cause confusion with paper tokens and shouted names. The goal was a zero-refresh, dual-screen display that stays in sync across devices without manual refresh. The team made an early, deliberate choice to treat the server as the single source of truth — no client-managed state syncing between tabs. All queue mutations go through the Express server, which writes to the database and then broadcasts back to every connected client. This avoided split-brain states where two receptionists' Approach: Server as single source of truth — all queue changes go through Express, written to DB, then broadcast to all clients. No client-side state conflicts. Frameworks chosen: React + Vite — lightweight, no SSR needed Socket.IO — replaced HTTP polling for instant zero-lag updates SQLite + Prisma ORM — replaced V1's in-memory state for persistence Iterations: V1 → V2: Entire data layer rebuilt from in-memory to SQLite after server restarts wiped all patient data Authentication evolved from a simple PIN to SHA-256 hashing + rate limiting Flat treatment list → department-grouped dropdowns after receptionist UX proved overwhelming Queue Cure successfully delivers a functional, real-time clinic queue management system that eliminates paper token chaos in small medical clinics. The dual-screen architecture — receptionist control panel and patient waiting display — stays perfectly synchronized via WebSockets with zero manual refresh, solving the core latency problem that HTTP polling would have introduced. The shift to SQLite in V2 means patient records, visit histories, and treatment data now survive server restarts, making the system viable for actual clinical deployment rather than just prototyping. Most queue systems are generic — a number, a screen, a buzzer. Queue Cure is built specifically for the medical clinic context, and that specificity shows throughout. It understands departments and treatment durations — a Blood Test and a Physiotherapy session are not the same wait, and the system reflects that in live time estimates. The no-show postpone flow automatically re-queues patients three slots back rather than dropping them, respecting clinic courtesy norms. Doctor pause states with reasons acknowledge that consultations have human interruptions. The thermal-style e-receipt with QR