Skip to main content
2024

Agendar-j

Next.js
Vaul
Radix UI
TanStack Query
Supabase

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