Description
A booking and appointment system with an interactive UI built on Vaul and Radix. It uses optimistic updates so actions feel instant, handles scheduling across multiple providers, and deals with time zones.
Features
- Appointment scheduling across multiple providers, with conflict detection
- Interactive drawer UI with Vaul for a mobile-first booking flow
- Optimistic updates through TanStack Query so feedback is instant
- Time-zone-aware scheduling that converts automatically
Challenges
- Writing a scheduling algorithm that avoids conflicts on overlapping time slots
- Making optimistic updates handle server rejections without breaking the UI
- Designing a mobile-first booking flow around drawer navigation with Vaul
Learnings
- Scheduling algorithms that resolve conflicts under constraints
- How to compose interactive drawer UIs with Vaul and Radix
- Using TanStack Query optimistic updates for real-time interfaces