01
Challenge
ClubPulse is a matchday media control platform for amateur rugby union clubs. The main delivery challenge was to give users a maintainable interface and architecture that could absorb new requirements without slowing delivery, while keeping Auth & club tenancy, Logo Cleanup Studio, and Fixtures & squad consistent across the complete journey. We framed the engagement around the smallest production-worthy flow first, then expanded the scope without weakening the underlying component and data model.
02
How we built it
We first separated the core product rules from external services, then defined typed boundaries for every integration. The team delivered Auth & club tenancy, Logo Cleanup Studio, and Fixtures & squad as end-to-end flows, adding retries, idempotent operations, validation, and observable failure states before polishing the interface. This kept third-party behaviour from leaking into the product experience and made later integrations easier to add. The implementation was anchored by Next.js 15 (App Router), React 19, shadcn/ui (Radix), and Tailwind CSS, with shared TypeScript contracts across the frontend and service layer.
03
Delivery
The delivered scope brought Auth & club tenancy, Logo Cleanup Studio, Fixtures & squad, and Live Match Control into one coherent production-ready product experience. Live updates, recovery states, and operational feedback are part of the core flow rather than late-stage patches. For ClubPulse, the practical result is a product that communicates its value quickly while giving the team a maintainable base for continued delivery in saas & infrastructure.