
I built the booking system for Bali Racquet Society, an indoor tennis and padel club here in Bali. It's the thing members open before they drive over: pick a court, pick a time, confirm. There isn't much to it on the surface, and there shouldn't be. But it had to be right, because a booking that quietly fails means someone turns up at the club and finds their court already taken.
Website: baliracquet.com
Members log in, see what's open, and book a court. Admins get a dashboard for the parts members never touch, from the courts and their schedules through to the bookings themselves. There's a public side too, for people still deciding whether to join.
I didn't try to make this feel like a big SaaS product, because a club this size doesn't need one. It needs a calendar that's right about what's free, every time someone looks at it.
The interesting part is the half second after you press confirm.
The system doesn't trust whatever the screen was showing when the page loaded. It takes a lock on the slot, checks again that it's still free, and only then writes the booking. If someone else got there first, even by a moment, you find out right then, while you're still on the page and can pick another time, instead of after you've already told your padel partner that 7pm is sorted.

The booking core, the admin dashboard and the payment flow are all in place, and BRS is live and taking real bookings from members.
The part I didn't expect to enjoy is watching the lock do its job. Nobody will ever notice it working, which is rather the idea, but it's the piece that decides whether members keep trusting the calendar after the first time two of them want the same court.
If you're in Bali and want an indoor tennis or padel court, BRS is at baliracquet.com.
Book A Court