Open swim sign-ups shouldn't need a human on the other end
Goldfish Swim School runs OpenSwim sessions that families sign up for regularly — and before this project, every signup meant manual work on the staff side: entering names, checking capacity, confirming spots by hand. It worked, but it didn't scale, and it pulled staff attention away from the pool deck.
Beyond signups, the front desk needed a fast way to see who was checked in without digging through spreadsheets, and there was no lightweight way to build a custom form for anything outside of what off-the-shelf tools offered.
Automated signups, a kiosk view, and a form builder from scratch
I built an automated OpenSwim signup system that handles the entire flow — a family signs up, capacity is checked automatically, and the spot is confirmed without a staff member touching a spreadsheet. Alongside it, I built a dedicated kiosk view for staff: a simplified, front-desk-friendly screen showing who's signed up and checked in, designed to be glanceable during a busy shift, not a shrunken admin panel.
Goldfish also needed a way to build custom forms for things a standard signup flow couldn't handle — surveys, intake forms, one-off event registration. Rather than paying for another SaaS subscription, I built a lightweight form-builder tool from scratch — their own version of Google Forms, scoped to exactly what they need.
Employee clock-in, absences, and a design that feels like the water
Past the signup and kiosk tools, I built an employee clock-in/out system with absence and callout tracking — built and functional, currently rolling out to staff rather than fully live yet. The goal is the same as everything else here: replace manual tracking with something staff can actually use without friction.
None of this needed to look clinical. Goldfish is a swim school, so the whole system — from the marketing site to the internal tools — leans into an ocean and swimming visual identity: wave motion, water-toned color, and a sense of movement that matches what actually happens in the pool.