Kids Clay Club Booking System — Potstop
Designing and building a fair, zero-cost booking system for a small children's pottery class — replacing a chaotic WhatsApp poll process with a structured app that guarantees every child a place, fills cancellations automatically, and costs the organiser nothing to run.
The Problem
Potstop Kids Clay Club is a weekly children's pottery class run by Neil Whitehead from his studio on Bristol's Harbourside. Neil's focus is the pottery — teaching kids, running sessions, doing the work he loves. Administration was never something he wanted to spend time on, and for years he didn't have to: the parents organised it themselves through WhatsApp.
The system that evolved rewarded whoever was quickest to their phone. Each term, a flurry of polls would go up in the group, and the first parents to respond claimed the available spots. Parents who weren't glued to the group felt locked out, and a quiet resentment about fairness had built up over time. The system also had a structural problem: because parents were anxious about missing out, they'd book as many spots as possible and cancel closer to the date, leaving Neil regularly running below capacity on sessions that should have been full.
The brief was tightly constrained from the start. The existing system cost Neil nothing and required almost nothing of him, and that couldn't change. Any replacement had to run on free-tier services with no ongoing cost, and had to be simpler to administer than WhatsApp, not more complicated.
My Role
I was the sole person on this project from start to finish — problem definition, user research, product decisions, interaction design, and building the finished product using AI-assisted development with Claude as a coding partner. There was no engineering team, no product manager, no design system to inherit. My prior experience working alongside developers and product teams, thinking through data models and edge cases and knowing when to push back on technical decisions, made the development process feel familiar rather than foreign.
The Approach
Before writing any code, I spent time mapping the constraints and edge cases of the booking problem. Several key product decisions were made at the definition stage that shaped everything downstream. Each child is guaranteed up to two classes per term, with a clear mechanism for earning additional spots through backup bookings — directly addressing the over-booking behaviour by removing the anxiety that drives it. The waiting list follows a priority order based on fairness: children with no confirmed classes this term are always offered spaces first, then those with one, then two, ensuring no child is shut out when capacity allows. The fill logic runs automatically when an admin logs in, proactively offering spots to backup holders for any class within the next seven days without Neil having to do anything.
I started with a conversational prototype — a single-page React component simulating the full booking experience with no real backend — to test the interaction model quickly and cheaply before committing to infrastructure. Early testing showed the concept of "first choice / second choice" was confusing: parents didn't understand why they needed to pick preferences if both classes were available. I redesigned this as primary bookings (auto-confirmed if space is available) and backup classes (ranked, offered when spots open), with clear labelling and contextual copy at each step.
Testing also revealed that parents with multiple children needed to see all their children's current bookings at a glance when making new ones. I added a summary panel to the booking screen covering all siblings. The intro copy was also rewritten to explicitly frame both the guarantee and the opportunity, so parents understood the backup system before they used it rather than after.
The entire system runs on free-tier services — Firebase, Vercel, and Resend — with no ongoing cost to Neil.
The Outcome
The app launched to 25 families with no reported issues. Within the first term, classes are more fully booked than previously, Neil is spending significantly less time on administration, and complaints about fairness on the WhatsApp group have noticeably reduced. Parent feedback captured both usability and the thing the backup system was specifically designed to produce: one parent messaged the group to say they'd just picked up a backup spot — "the app works great" — which is exactly the behaviour the priority logic was built to enable.
Screens from the latest version of the parents and carers view. The styling was updated as well as making functional and interface changes following user testing and user feedback
Selected screens from the admin view. I have been careful to ensure that the admin side is as simple to use as the parents and carers side, as weekly admin responsibility will be passed on to other volunteers once the app is sufficiently bedded in.