Skip to content
Case study

CourtWiz: sports scheduling without the RSVP chaos

A sports scheduling SaaS for clubs and leagues — players, groups, venues, lineups, and invites in one place, built end to end by Lefty Software.

The chaos before: rosters in one app, venues in another, and invites lost in a group chat.

GoHTMXTailwind CSSPostgreSQL
CourtWiz in a desktop browser with a phone beside it: schedule matches without RSVP chaos
The problem

Every week, the same scramble

Every league organizer knows the loop. Rosters live in one app, court bookings in another, and the invitation itself goes out through a group chat where replies trickle in for days. Players miss updates, organizers chase headcounts, and by the time everyone has answered, the court time is gone. The bigger the group, the worse the arithmetic: who is actually in, how short are we, and can the venue change in time?

CourtWiz exists to end that loop. It gives sports organizations one place where players, groups, venues, and matches live together, and turns sending an invite from paperwork into a few clicks. I built the complete product, from the first database schema to a polished Create Free Account flow.

The build

What was built

CourtWiz is a complete SaaS, live at courtwiz.app. The surface is deliberately small: everything an organizer touches in a week, and nothing they don't.

Under the hood

CourtWiz is server-rendered Go with templ templates, enhanced with htmx. RSVPs, roster changes, and match updates swap fragments in place, so the app feels immediate without a single-page framework or a client-side state layer to maintain. Tailwind CSS styles the interface, and PostgreSQL holds the relational core — players, groups, venues, matches, and RSVPs — where referential integrity is the point. The product deploys as one self-contained binary that a solo operator can run and upgrade without ceremony.

Screenshots

See it in action

CourtWiz on desktop: need-players, ready-roster, and next-match status cards above the four-step invite walkthrough
The status cards answer need-players, ready-roster, and next-match at a glance.
CourtWiz on a phone: the same scheduling flow sized for the sideline
The same flow, sized for a sideline check.
The outcome

Where it landed

CourtWiz runs in production with the full lifecycle in place: roster, venue, invite, RSVP. Scheduling that used to be scattered across three tools happens in one, and the invite flow an organizer runs every week is four steps end to end. The onboarding a new club sees — Create Free Account through a first scheduled match — is the same polished flow end to end.

Usage numbers stay confidential to CourtWiz, but the outcomes a visitor can check are public: the marketing site, the onboarding, and the working scheduling flow are real, shipped software, designed, built, and operated by Lefty Software from concept to launch.

Building a scheduling product?

CourtWiz is what a focused web app looks like when one developer owns it end to end. Tell me what you need built.

Next case study StringBench a racquet stringing business platform