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

Share this project:

Updates