Custom Web Applications
A scheduling system designed around the actual constraints of a multi-provider practice, not a generic calendar widget.
Project Overview
The client was a healthcare practice with several providers, each with different appointment types, durations, and availability rules, still relying on a phone-and-paper scheduling process.
Problem
Booking an appointment requires calling during office hours, and double-booking or scheduling the wrong appointment length for a given provider happens often enough to cause real friction for staff and patients.
Discovery
The discovery phase focused on the specific scheduling rules that matter clinically — which appointment types can be booked back-to-back, which need buffer time, and which provider covers which service — since generic calendar logic won't capture that.
Solution
A patient-facing booking flow enforces provider-specific rules automatically, while a staff-facing view gives the practice full visibility and manual override where needed, plus automated reminders to reduce no-shows.
Design Process
The booking flow was prototyped and walked through with the scheduling rules first, independent of visual design, to confirm the logic matched how the practice actually operates before any interface work began.
Technical Architecture
A scheduling service enforces availability and appointment-type rules against a shared calendar model, with a separate notification service handling reminders by email and SMS on a scheduled basis.
Implementation
Designed to be introduced provider by provider, so staff can validate the system against one schedule before it governs the whole practice.
Technologies Used
Key Features
Provider-specific appointment rules enforced automatically at booking time
A staff-facing view with full visibility and manual override where needed
Automated email and SMS reminders to reduce no-shows
Rescheduling and cancellations that update availability without manual cleanup
Challenges
Appointment rules that live in a scheduler's head — like which appointment types need a buffer, or which provider only sees certain cases — have to be made explicit and correct before the system can be trusted.
Rescheduling and cancellations need to update availability, notify the right people, and avoid opening a slot that another rule should have kept blocked.
Outcome
The finished system delivered a booking flow that reflects a practice's real scheduling constraints automatically, reducing the manual coordination currently required to avoid double-bookings and mismatched appointment types.
Lessons Learned
Encoding scheduling rules that normally live in a scheduler's head — buffer times, which provider covers which case — has to happen before any interface work, or the system inherits assumptions nobody actually agreed on.
More Capability Showcases