SmartQ
"Reduced patient wait uncertainty from 3 hours to real-time precision, achieving 0ms sync delay between clinic screens."
0ms
Sync Delay
100%
Wait Visibility
2-Way
Real-time Pings
Overview
76% of India's 1.5 million clinics still run on paper token slips. Patients suffer through 2–3 hour waits with zero visibility into when they will be called, leading to overcrowded waiting rooms and high anxiety. Receptionists are overwhelmed, managing the queue entirely from memory. The gap is clear: clinics need an affordable, real-time digital queue system that requires zero staff training and provides instant, transparent wait estimates to patients. Process I began by mapping the physical workflow of a clinic receptionist. The primary constraint was cognitive load: receptionists cannot afford to navigate complex menus while dealing with a line of patients. I initially considered a standard polling-based REST API for the live queue, but realized it would create a 3-5 second delay, causing anxious patients to repeatedly approach the desk. I pivoted to a WebSocket architecture (Socket.io) to guarantee 0ms latency For the UI, I first tried a standard clinical look (stark white/blue), but realized it felt sterile and harsh. I iterated towards a "calming ethereal" aesthetic with deep navy backgrounds, soft pastels, and ambient background music to actively reduce waiting room anxiety. To prevent race conditions if multiple staff clicked "Call Next Results The prototype achieved a 0ms sync delay between the Receptionist and Patient screens. Our dynamic wait-time algorithm completely removed the need for patients to ask "how much longer?" by providing a live "Tokens Ahead" metric. The mistake-proof UI resulted in a 100% task success rate during simulated workflows, as buttons dynamically disabled when the queue was empty. The integrated messenger allowed staff to handle missing patients instantly. Reflection While the in-memory array handled concurrency perfectly for a prototype, it lacks persistence. Next time, I would integrate a Redis database to maintain the queue state in case of server restarts. I would also add a feature where patients simply scan a QR code at the desk to instantly open their personalized live-tracker on their phone, completely removing the friction of manually typing in a token number.