Running a Tennis Business from One Dashboard (Django + Docker)
Published 2025-10-20
The problem
As Precision Tennis grew, we were running the business out of spreadsheets and manual website edits — adding classes, updating coach bios, tweaking content. It was slow, error-prone, and didn't scale. I wanted one simple place for my business partner and me to manage everything.
What I built
I built a custom admin dashboard with Django, which gave me a secure login, a clean management interface, and a flexible data model out of the box — so adding new programs later (pickleball, youth camps) wouldn't mean rebuilding anything. It plugs into our existing public website so the customer-facing pages and the back office stay in sync.
To make updates safe and painless, I packaged the whole app with Docker and set up automatic deployments through GitHub Actions. There's a staging environment for testing and a separate production environment for the live site, so I can try changes before they ever reach customers.
The result
Day-to-day operations now run from a single dashboard instead of scattered spreadsheets. Deployments are hands-free, releases are reliable, and the system is built to grow with the business. Next up: rebuilding the front end in a modern framework like React so it's easier to extend over time.