3 role-based dashboards
Multilingual booking flow
Double-booking protection
Problem
Appointment booking is often split across calls, spreadsheets, and unclear doctor availability, which creates missed slots, admin overhead, and a frustrating patient experience.
Solution
I built a shared platform with separate patient, doctor, and admin experiences so every role works from the same appointment lifecycle instead of managing disconnected tools.
Key Features
- Patient booking flow with doctor and specialization browsing
- Doctor dashboard for availability, appointments, and prescriptions
- Admin controls for specializations, schedules, and operational updates
- Arabic and English support for a broader local user base
Technical Decisions
- Used one shared appointment model with role-based views to avoid duplicating business logic across dashboards.
- Added a unique appointment rule to protect against double booking.
- Separated frontend and backend deployments so the UI and API can evolve independently.
Outcome
The live product demonstrates an end-to-end healthcare workflow from booking through prescription management, with the type of role separation real operational teams need.