All projects

web

A booking system that cannot double-book

Calendars, time zones and the concurrency bug that ruins them.

intermediateTypeScript~30h

Why it matters

Double-booking is a concurrency bug with a business consequence, which makes it a perfect interview story. Time zones are the other half nobody plans for.

What you build

  • Availability computed from rules, not stored slots
  • Bookings that cannot overlap, under concurrency
  • Correct behaviour across time zones and DST
  • A test that fires two bookings at once

If you want more

  • Add recurring availability
  • Add calendar sync

Build it 5 steps

  • Compute availability from rules rather than storing every slot
  • Handle cancellation and release the slot
  • Fire two concurrent bookings for the same slot and assert one fails

Material for the whole build

Shows you can reason about concurrency and about time, two things that quietly break most applications.

Get a plan built around projects like this