Personal build · Booking page
A booking page that never sees my calendar.
Recruiters pick a time at book.robgentul.com. I approve it in Slack. It lands on my calendar. The public page only ever knows open slots.
See it at book.robgentul.com (opens in a new tab)
Each with a test that fails without the fix
153 on the Mac side, 24 on the Worker
Bugs put back on purpose, all caught
Two at once: one books, one gets a clear conflict
The problem
I wanted recruiters and contacts to book time with me without handing my calendar to a third party, and without double bookings.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus, posuere velit aliquet.
What I owned
Every product call: what the page shows, what it never stores, when I approve, what the emails say. I wrote the rules, Claude Code built them, and Codex reviewed the build.
How it went
Start with what the page must not know
The web side gets open slots only. My Mac reads the calendars and does the real work.
A familiar layout, then make it mine
The first pass followed a Calendly-style layout. Then a restyle: system fonts, forest greens, rounded rectangles.
An independent review found 13 problems
A Codex review flagged issues like replayed confirmations and parallel requests beating the rate limits. 11 were fixed, each proven by a test.
Live, but honestly labeled
It went live in test mode on October 14, 2026. The full live test matrix is next.
How I know it works
- Race test: two bookings for one slot at once gave one success and one conflict.
- Background calendar writes verified on a test calendar, including with the Mac locked.
- Live Slack round trip: card posted, tap arrived, card updated.
- Emails sent exactly once across a 9-email local test.
What I’d do differently
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus, posuere velit aliquet.