06 of 13
Meridian
A booking engine for a boutique hospitality group that turns a fiddly reservation into a two-tap yes.
- Year
- 2025
- Disciplines
- Product, Web
- Platform
- Web
- Brief
- Sample client

01Context
Meridian runs a handful of much-loved venues on a booking flow guests quietly hated. We rebuilt it into something as considered as the rooms.
02Problem
Availability across venues is genuinely complex; the interface had to hide that complexity while never lying about it.
- Real-time availability across venues
- A flow that never dead-ends
- Clear pricing with zero surprises
- An admin the front desk enjoys
03Strategy
We modelled the messy availability rules first, then wrapped them in a flow that only ever asks the next necessary question.
- A booking core that respects real rules
- Progressive disclosure, one decision at a time
- An honest, itemised price at every step
- A calm admin for the people who live in it
04Design


05Engineering
SvelteKit server routes talk to a Prisma/PostgreSQL core that models rooms, tables and terraces as one availability graph; Twilio confirms by SMS/WhatsApp, Stripe holds deposits, Fly.io keeps it close to guests.
- Availability solved as interval trees, not cron checks
- Double-booking impossible: serialisable transactions
- Twilio WhatsApp confirmations with magic-link manage
- Deposit auth/capture flows via Stripe
Also considered. Cal.com self-hosted got close — bespoke inventory rules for shared spaces tipped it to custom.
06Details
The mechanism underneath, as a working model. Press the buttons.
lab / product logic / interval-tree availability
Rooms, tables and terraces are one availability graph. Double-booking is impossible, not just unlikely.
Loading the model
Figures inside a model are simulated to show how the mechanism behaves. They are not production measurements.
07What shipped
8 modules are in the build below. Each one works.
- 01Party-size-aware calendar
- 02Slots with seat counts
- 03Deposits
- 04WhatsApp confirmation
- 05Manage and cancel
- 06Availability heatmap
- 07Host side: service list, floor plan, guest book, waitlist
- 08Reports and venue policies
08Technology
This is the kind of work we do under SaaS Applications.
Now use it.
This is Meridian, the whole application. Continue as the sample user, change things, reload. Your data stays in this browser and resets from Settings, then Data.

A full application, not a recording. Sign in as the sample user; your data stays in this browser.
