Wooble
Back to Kartik's profile
Verified on Wooble

Queue Cure '26

Kartik NairQueue Cure '26

Overview

Traditional clinics suffer from chaotic waiting rooms and severe receptionist burnout. We identified a critical architectural gap: existing queue systems rely on manual browser refreshes, creating a latency disconnect between the doctor's dashboard and the patient waiting screen. Furthermore, legacy systems use hardcoded wait-time estimates (e.g., a static 15-minutes per patient), resulting in highly inaccurate forecasts. This leads to massive cognitive overload for receptionists managing 50+ patients daily, and intense anxiety for patients who lack real-time visibility into their status. I mapped the asynchronous flow between Receptionists, Doctors, and Patients. Initially, I tried HTTP REST polling to sync screens. This failed, causing UI flickering and high latency. I pivoted to a WebSocket architecture (Socket.io). This enabled the Express backend to push events instantly to React, achieving zero-latency synchronization without page refreshes. To fix inaccurate wait times, I abandoned static math. I built an algorithm that computes a dynamic rolling average using live timestamp differences between 'Called' and 'Completed' states. Finally, I hardened the receptionist portal with strict dual-layer input validations to prevent human errors. The implementation yielded a 100% reduction in manual page refreshes across all clinic screens. The WebSocket integration achieved near 0-ms synchronization latency between the Doctor's dashboard and the Patient Waiting Room. The dynamic wait-time algorithm completely eliminated the 15-minute static hardcoding, providing patients with highly accurate estimates based on live session averages. Furthermore, the strict dual-layer form validations (React/Express) drove receptionist input errors down to zero, significantly speeding up the patient onboarding workflow. While the real-time sync is flawless, the infrastructure currently relies on a free-tier Render backend. This causes a 60-second "cold start" delay if the server goes to sleep. Next time, I would implement a CRON keep-alive script to ensure instant initial loads. Additionally, I would integrate a Service Worker with IndexedDB to create an "offline-first" queue. This would allow receptionists to seamlessly register patients even during internet outages, securely queuing the API requests to automatically sync with MongoDB once the connection is restored.

Gallery

5