Q-Cure: Zero-Wait Digital Triage & Real-Time Queue Orchestration
Reduced patient registration from 3 minutes to 15 seconds via self-check-in QR kiosks, with 0ms sync latency across clinic dashboards.
3m → 15s
Patient Registration Time
0ms
Dashboard Sync Latency
1-Tap
Emergency Triage Override
Overview
Most neighbourhood clinics still manage queues using paper tokens and verbal updates. This creates massive friction: receptionists are constantly interrupted by patients asking "how much longer?", wait-time estimates are complete guesswork, and doctors lack visibility into the clinic's load. Furthermore, when an emergency case arrives, the entire manual queue breaks down. I identified a critical need for an affordable, digital triage system that orchestrates patient flow in real-time, reducing anxiety for patients and overhead for clinic staff. Process I started by mapping the actual workflow of walk-in clinics, identifying that the system needed distinct interfaces for three users: the patient, the receptionist, and the doctor. I chose React, Vite, and Tailwind to rapidly prototype a polished, high-contrast UI suitable for both tablets (kiosks) and TVs (waiting rooms). Initially, I tried using standard REST API polling to keep the screens updated, but it caused noticeable lag and UI flickering. I pivoted to Supabase Realtime with PostgreSQL, moving the core queue logic (like wait-time calculation and priority sorting) into secure SQL RPC functions. This decision was a game-changer; it allowed the React Query cache to instantly update via database subscriptions, providing a seamless, sub-50ms sync experience across all active screens. Results The resulting platform transforms a chaotic waiting room into a silent, self-managing system. By shifting check-ins to a self-service Kiosk and QR codes, patient registration time dropped from ~3 minutes to under 15 seconds. The real-time TV display effectively eliminated the "when is my turn?" interruptions at the reception desk. Technically, the Supabase Realtime implementation achieved sub-50ms sync latency, and the automated wait-time estimation proved significantly more accurate than human guesswork by leveraging historical consultation data. Reflection If I were to rebuild this, I would implement Role-Based Access Control (RBAC) at the database layer from day one to make scaling to multi-clinic environments much safer. I would also introduce an OAuth-based authentication system so patients can create persistent user profiles. This would allow clinics to track historical visit data instead of treating every check-in as an anonymous guest. Finally, integrating a WhatsApp notification webhook would provide massive value by letting patients wait at a nearby cafe instead of being tethered to the clinic waiting room.