Inspiration
Finding a walk-in clinic with a reasonable wait in Regina is guesswork—newcomers, students, and busy families bounce between websites and phone lines.
We wanted one trusted place to discover walk-ins, see estimated waits, and book (or call) in seconds.
What it does
- Discover walk-in clinics by hours and accessibility.
- See estimated wait times and current capacity (open/closing soon).
- Book or call instantly with a short intake form (name, phone, optional Sask Health Card).
- Get confirmations & reminders via email/SMS.
- Mobile-first, fast, and privacy-aware (no diagnosis, no sensitive notes stored).
How we built it
- Frontend: Next.js App Router + TypeScript + Tailwind (Vercel).
- APIs & Infra: cron for wait-time heuristics; Resend for emails (SPF/DKIM).
- Security: rate-limiting, input validation, minimal PII, FOIP-conscious handling.
Challenges we ran into
- Wait-time data: no unified feed; we blended hours, historical patterns, and lightweight user check-ins.
- Email deliverability: domain + DNS (SPF/DKIM) to send beyond test addresses.
- Next.js quirks: dynamic route params in async server components and caching boundaries.
- Clinic taxonomy: normalizing details across heterogeneous clinic sites.
- Time crunch: shipping end-to-end booking in a day while keeping UX clean.
Accomplishments that we’re proud of
- A live, end-to-end search → wait estimate → book → confirm flow in <24 hours.
- Clean, accessible UI (keyboard nav, good contrast) that still feels modern.
- Domain live with verified email sending and production deploy.
What we learned
- Municipal/health data is fragmented—design for partial truth and graceful fallbacks.
- Email/SMS at scale = DNS & reputation as much as code.
- Next.js server components are powerful but require careful data boundaries.
- Clinics value simple intake + clear expectations over flashy features.
What’s next for Regina Health Care
- Telehealth callback flow for eligible concerns.
- Clinic partnerships & real queue feeds (kiosk/API integration for live ticket counts).
- SMS reminders and two-way updates (“running late?”, “clinic delayed 15 min”).
- Provider portal for hours, closures, and intake toggles.
- Managed database for structured clinic + booking records (e.g., Firestore/Postgres).
- Maps & geocoding integration (e.g., Google Maps/Places or OpenStreetMap) for distance/nearby view.
- City-agnostic schema & importer to scale quickly to new communities (CSV/Sheet upload).
- Translations (Punjabi, Hindi, Tagalog, French) and PWA offline basics.
Built With
- css
- javascript
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.