Queue Cure '26 — Live Clinic Queue Manager
Overview
76% of India's 1.5 million clinics run on paper token slips and shouting. Patients wait 2-3 hours with zero visibility into how long they'll actually wait. Doctors have no dashboard. Receptionists manage everything from memory — leading to errors, skipped tokens, and frustrated patients. There is no affordable digital solution built for small neighbourhood clinics. Process I started by breaking the problem into two user roles — receptionist and patient. For the receptionist, the key constraint was speed: adding a patient must take under 10 seconds. I used auto-token assignment and Enter key submission to achieve this. For the patient screen, the key constraint was trust: the wait time must come from real data, not a hardcoded guess. I implemented a rolling average that recalculates after every consultation using actual calledAt and servedAt timestamps. For real-time sync, I chose Socket.IO over polling because it gives true push updates with ~1ms latency — both screens subscribe to a single queue-updated event. I used MongoDB's atomic findOneAndUpdate with $inc to prevent race conditions when two receptionists add patients simultaneously. I also handled edge Results Delivered a fully working live clinic queue system with zero page refresh. Receptionist can add a patient and assign a token in under 5 seconds. Patient screen updates within milliseconds of calling next token. Wait time is computed from real consultation data using a rolling average — not hardcoded. The system handles concurrency, server restarts, and edge cases gracefully. Built and deployed within the hackathon timeline using MERN stack + Socket.IO. Reflection Add separate role-based dashboards for receptionists and patients with personalized features.