Work / Athleet. Sports & Fitness. 2025.

How we built a sports club OS in under 4 weeks

A multi-tenant club management platform now powering 500+ athletes across South Africa.

Athleet: How we built a sports club OS in under 4 weeks
Athleet. 500+ athletes managed.

Problem

Athleet came to us with a problem most growing sports clubs share but rarely articulate well: their administrative spine was held together with WhatsApp groups, a scattering of Google Sheets, and the occasional PDF emailed at 11pm. Coaches were re-typing rosters. Parents were asking the same questions every week. Membership numbers had quietly tripled in eighteen months and the cracks were now structural. They had tried two off-the-shelf club platforms before us, both built for North-American leagues with rigid season models that did not match how a South African club actually runs. The brief was deceptively simple: build the system we should have started with three years ago, and make it boring enough that admins trust it on day one.

The breakthrough was reframing what a club actually is. Most platforms in this space model a club as a workflow engine, registrations, payments, attendance, and bolt content on as an afterthought. We argued the opposite. A club is fundamentally a content management system: athletes, teams, sessions, parents, sponsors are all entities you publish, edit, and relate. Workflow is just the verb that ties them together. Once we accepted that framing, the data model collapsed from forty-seven tables in their previous vendor's schema to fourteen. Subdomains per club became cheap. Onboarding a new club went from a week of configuration to a ten-step wizard a coach can finish on a Sunday afternoon.

What we built

We built Athleet as a multi-tenant Next.js 16 application backed by Firebase, with a per-club subdomain model and a single shared codebase. Firestore handles the operational data with composite indexes per tenant; Cloud Functions handle the heavier work, invoice generation, attendance roll-ups, automated WhatsApp reminders. Every club gets its own brand profile (logo, colors, voice) which the marketing pages and parent-facing emails consume directly, so the platform never feels white-labelled in the cheap sense. The 10-step onboarding wizard was the unlock: it asks the right questions in the right order, defaults intelligently from the club's sport and size, and produces a usable platform at the end. We also shipped a mobile companion via Capacitor so coaches can mark attendance pitch-side without unlocking a laptop. The whole thing went live for the first three pilot clubs in under four weeks from kickoff.

Built with Next.js 16, Firebase, Tailwind v4, Resend.

Motion reel

  • The Athleet home page: "Your club. Your brand. Our software." beside a live club dashboard card

Results

  • 500+ athletes managed
  • <4w time to launch
  • 98% retention

Shipped

  • Multi-tenant Next.js 16 platform with per-club subdomains
  • Firestore data layer with tenant-scoped composite indexes
  • 10-step onboarding wizard for new clubs
  • Coach mobile app via Capacitor for pitch-side attendance
  • Automated parent comms via Resend + WhatsApp Cloud API
  • Per-club brand profile + theming system
  • Admin analytics dashboard with retention and revenue metrics

Quote

Pip and the team rebuilt our entire platform in 6 weeks. We shipped what our last vendor took 9 months to half-finish, and our coaches actually use it.

Daniel Roux, Co-founder, Athleet

Next case

Modernising a 10-year B2B loyalty platform without downtime

Loyalty Plus. Aviation.

Want one of these with your name on it? Book a 20-min call.