→
Vowmarsh
A dark comedy RPG about a South London wedding and a town that has done this before. It started as a wedding present and turned into thirteen months of learning an entire engine.
- Year
- 2025–
- Sector
- Games / personal
The workshop · Hospitality / independent
299 Kirkdale does coffee in the morning and wood-fired pizza at night. I built the public site, then a booking system that checks each request against the actual tables in the room and gives staff one view of the night.

299 Kirkdale, Sydenham. One room doing two jobs: coffee house in the morning, wood-fired pizzeria in the evening. The same people, the same address, a different rhythm after five.
The first brief was small: make a single-page site that feels like the place. Warm, local and built around the people in the room. The ember red could nod to the oven. Red gingham could remain where it was, safely outside the project.
Then the useful problem appeared. Pizza service needed bookings, but a generic form would happily accept more people than the room could seat and leave staff reconstructing the night from an inbox. The flow had to understand the real service: Wednesday to Saturday, 5–10pm, thirty-minute slots, table capacity, customer confirmations and a staff view that made sense during service.
"Coffee, pizza, and the people you love."
The reports existed to stop taste pretending to be evidence:
#C84B31 and charcoal; Playfair Display for headings, Inter for body. The owners' existing language supplied the tricolons, “big love” sign-offs and people-first tone.The public site is one long scroll: Hero → Tagline marquee → About → Coffee → Pizza → Hours & Location → Gallery → Community → Newsletter → Footer. Ten sections, but one read.
The booking system sits beside it:
#C84B31 appears on calls to action, the marquee stroke and hover states. The colour can suggest the wood-fire without making every photograph prove there is an oven.uncle-tibo@main:~$ tree --essentials
├── public/
│ ├── book.html # customer booking flow
│ ├── dashboard.html # staff day view
│ └── components/ # booking wizard + dashboard UI
├── server/
│ ├── index.js # Express routes + service rules
│ ├── db.js # SQLite schema + queries
│ └── email.js # confirmation/cancellation emails
└── data/bookings.db # created on first run

prefers-reduced-motion is respected throughout.FoodEstablishment schema sits in <head>. Address, hours and cuisine were machine-readable from launch rather than added later as penance.
The site shipped to uncletibo.com. A coming-soon page held the address before launch; the full site replaced it on opening day.
The booking system is the part that turned a good-looking page into a service tool. Customers can see what is available without messaging and waiting. Staff can see the night, assign tables and manage bookings without making the inbox the booking book.
I handed it over with WCAG AA colour contrast, keyboard-reachable controls and prefers-reduced-motion; semantic headings, alt text, schema, sitemap and Open Graph; lazy-loaded images, deferred scripts and no layout shift.

→
A dark comedy RPG about a South London wedding and a town that has done this before. It started as a wedding present and turned into thirteen months of learning an entire engine.