Reimagining how I run my private tennis clinics at the Dell Jewish Community Center. It started with a small, practical problem: registration was a mess, and I wanted to fix it.
At the time, every clinic registration lived in an Excel spreadsheet. It worked, but it wasn't intuitive. Members had to scroll through dates, check availability manually, and text me to reserve a spot. As my private coaching business grew, I knew there had to be a better way.
The challenge wasn't finding more members. It was making it easier for existing members to participate. I wanted one place where people could see everything I was offering: register for drop-in clinics, book private lessons, sign up for workshops, and stay in the loop on upcoming events. So I built it. Separately, one of the league teams I coach ended up winning their flight, which felt like a good sign the community side of things was working too.
What started as a spreadsheet turned into an actual booking system, built around a few basics: keep it simple, keep it organized, make it easy to stay connected. Members can now:
Behind the scenes: three Google Apps Script services handle booking, live spot/waitlist counts, and reporting, with no third-party forms. Brand and design followed a "California Court Club" direction, deployed on Cloudflare Pages.
Whenever I added a new feature, I asked myself one question: would this make life easier for my members? If the answer wasn't yes, I kept improving it.
Tennis coaching is my primary source of income, so this wasn't a school assignment. Every decision had a real, if small, financial consequence. I started tracking revenue because I actually needed to know: which clinics to keep, which ones lose money, which events lead to private lessons, who my most consistent players are, and where my time is best spent. The dashboards weren't built to look impressive. They were built so I could make those calls with something better than a guess.
Early on, revenue tracking counted every private-lesson request as revenue, which inflated the numbers whenever someone asked but never actually booked. I added "Contacted" and "Booked" tracking so the number reflected confirmed bookings only. It's a smaller number than before, but it's the accurate one.
Live visibility into registrations, attendance, and revenue, reported the way an owner would want to see it, not just a builder:
It's still a work in progress. Every clinic, workshop, and lesson tells me something about what people actually want, and I adjust from there.
The feedback so far has been positive: a few members have specifically told me registration is easier and communication is clearer, and I've seen more interest in private lessons and event sign-ups since launching it. I don't have a large enough sample to call that a trend, but it's moving in the right direction.
The website isn't really the point. It's a tool. What I actually learned is more specific: when the admin side of running clinics gets easier, I have more time and better information to make decisions about what to run next. That's it. That's the whole thing.