Booking platform · SaaS replacement · 2026
NBT Offices ran their meeting rooms on Skedda — a monthly subscription that grew every time they added a space. We replaced it with their own multi-site booking app, built to their rules and live on their own domain in nine days.
The problem
Skedda did the job, in the way Skedda does the job. The friction wasn't any single missing feature — it was that the operation had to keep bending around the product, and the bill kept arriving.
The process
Migrating off a SaaS tool is mostly a question of knowing which of its rules you actually need. We worked out the answer first, then built.
Before writing anything we pulled apart the live setup: which sites, which rooms, who books, what has to be approved, and which of Skedda's rules were genuinely load-bearing versus simply what the product happened to offer. That separation is what kept the rebuild from becoming a clone.
The core of the app went in first: a Postgres schema where a double-booking is physically impossible thanks to an exclusion constraint on room and time range, row-level security on every table, and the daily booking allowance enforced by a trigger. A limit that only lives in React is not a limit.
Rooms down the left, time across the top, click a gap to book. Filters for capacity and amenities, drag to move or resize a booking, month and grid views for the wider picture, and realtime updates so two people looking at the same timeline see the same thing.
Admin screens for sites, rooms, people and booking rules — plus branding, room photos, amenity icons and column order. Everything an agency would normally charge a change request for, NBT can now do themselves in a browser.
The app went live on its own domain, and we ran a proper feedback pass afterwards: recurring booking series management, per-site daily caps, calendar polish and a simpler insights dashboard. Rule changes are covered by tests that run the migrations against a real Postgres and then try to break them.
The timeframe
Not a discovery phase and a statement of work. A working app in front of the client inside the first week, and a real feedback round before anyone called it finished.
Thirteen database migrations. Zero possible double‑bookings.
What we built
The brief was never "cheaper Skedda". It was a booking system that matches how NBT run their buildings — and that they can keep changing.
The savings
The Skedda subscription, and with it the per-space pricing that made every new meeting room a line item. There is no per-user licence, no feature tier to upgrade into, and no annual increase to plan around. NBT can add a site or a dozen rooms without the cost of the software moving at all.
A one-off build and modest running costs on NBT's own Supabase and Vercel accounts. Because the platform is theirs, the spend stops being rent and starts being an asset on the business — one that keeps returning value every month the old subscription would have been charged.
The toolkit
Paying for software you can't change?
If a monthly subscription is running a core part of your business, there is usually a better version of it that belongs to you. Tell us what the tool does and what it won't do, and we'll tell you what replacing it looks like.