A meeting-room system built end to end today: the tablet outside the door, the booking page people actually use, the console facilities runs it from, and the API underneath all three. Twelve rooms, named after the solar system, running on a real database with two months of booking history.
Every surface — the door panel, the floor map, the day grid, the analytics — reads the same four colours. Learn them once outside one door and you can read every door in the building.
Nobody's booked it, or the meeting inside ended. Walk in.
The meeting has started but nobody's tapped Check in yet — the room releases itself if no one shows.
Checked in, meeting running. Release room and Extend are the only two buttons that matter.
Outside the room's opening hours — the warehouse rooms shut earlier than HQ.
Every screen below is a real screenshot of the running system — its own MariaDB database, seeded with two months of bookings, no mock data.
Duration, headcount and amenities in, a tappable room card out — booked in two taps.
Auto-release counting down under the Check in button.
Release room and Extend booking, side by side.
The big clock only appears on the green face.
Live meetings in colour, finished ones muted, a now-line tracking the clock.
Tap any green box to book it on the spot.
Utilisation by room, no-shows, ghost hours — the numbers that justify (or don't) a bigger floor.
Every front end talks to the same REST API and reads the same design tokens — change a colour once, it changes everywhere.
Every room the seed data actually creates — HQ floors 2 and 3, and the warehouse.
| Room | Building | Fits | Notable |
|---|