Hello World!

Hello World!

We are a creative development agency, pairing creative flair with expert & quick development!

Icon

15+ years of combined experience

Icon

English, Welsh

We are a creative development agency, pairing creative flair with expert & quick development!

Icon

15+ years of combined experience

Icon

English, Welsh

We are a creative development agency, pairing creative flair with expert & quick development!

Icon

15+ years of combined experience

Icon

English, Welsh

1

<!--

Work info

-->

<!--

Work info

-->

<!--

Work info

-->

Client:

Runite Ltd

Role:

UX/UI & Full Stack Development

Year:

2025

The Challenge


Run club organizers struggled with collecting payments for events and memberships, often relying on manual bank transfers or cash. They lacked tools to effectively manage member databases or enforce capacity limits.


For runners, finding clubs that matched their skill level was difficult. "Beginner friendly" is subjective, and runners often found themselves in groups too fast or too slow for their ability.
The platform needed to support a dual business model: a SaaS subscription for club owners to access advanced features, and a marketplace model to process ticket sales and memberships with automated fee splitting.


The solution

The Runite platform gives run club owners a dedicated operating system to manage their communities, while offering runners a seamless experience to discover clubs, join events, and track their progress. What was once managed via fragmented WhatsApp groups and manual spreadsheet tracking is now a cohesive platform handling payments, memberships, and skill-based event matching.

The Tech

  • Payments Router (src/routes/payments.ts): Splits transaction fees between the platform and club owners using Stripe Application Fees.

  • Stripe Connect Router (src/routes/stripeConnect.ts): Manages the lifecycle of connected accounts, from onboarding links to status checks.

  • Owner Analytics (src/routes/ownerAnalytics.ts): Aggregates Firestore data to generate insights on revenue trends, gender breakdown, and pace distribution.

Integrations include Postmark for transactional emails (tickets, receipts), Google Places for venue location, and ICS for calendar invites.Technical Foundation

  • Architecture: Monorepo structure managing two React apps and a Node.js API.

  • Data & Domain: Firestore acts as the primary database, storing relational data (users, communities, events, bookings) with a flexible schema.

  • Integrations: Stripe Connect for marketplace payments, Stripe Billing for SaaS subscriptions, Firebase Admin for backend operations, and Google Maps Platform for geolocation.

  • Front-ends: Modern React stack with Vite, TypeScript, and Chakra UI. Shared logic and UI components live in packages/ui and packages/types.

  • Automation: Custom scripts (services/api/scripts) handle data backfills and currency normalization.

Operational Excellence

  • Payment Observability: A robust webhook handler (src/webhooks/stripe.ts) listens for Stripe events (payment_intent.succeeded, customer.subscription.updated) to ensure database state always matches financial reality.

  • Security: Helmet for header security, global and route-specific Rate Limiting to prevent abuse, and strict Firebase Rules for client-side access.

  • Growth Levers: The "Skill" system creates a unique data moat, while the "Starter" to "Club Pro" upsell path drives recurring platform revenue.

Impact


Owners can finally professionalize their clubs, automating the tedious work of payment collection and attendance tracking. The dashboard gives them the insights they need to grow.
Runners get a modern booking experience and the confidence that they are joining runs that match their pace.
The Platform operates a scalable dual-revenue model (SaaS + Transaction Fees) with low operational overhead thanks to automated onboarding and payment routing.Technology Stack

  • Frontend: React, TypeScript, Vite, Chakra UI, Google Maps API

  • Backend: Node.js, Express, Firebase Admin, Zod

  • Database & Auth: Firebase Firestore, Firebase Authentication

  • Payments: Stripe Connect, Stripe Billing, Stripe Elements

  • Infrastructure: Render (inferred), Postmark (Email)

Results

0

Pre-launch sign-ups

0

Pre-launch sign-ups

0

Pre-launch sign-ups

0

Avg fix time (hour)

0

Avg fix time (hour)

0

Avg fix time (hour)

0

Client satisfaction (%)

0

Client satisfaction (%)

0

Client satisfaction (%)

0

Low p/m run cost

0

Low p/m run cost

0

Low p/m run cost

Delivered 3 projects, tackled 2 challenges

Delivered 3 projects, tackled 2 challenges

Delivered 3 projects, tackled 2 challenges

Create a free website with Framer, the website builder loved by startups, designers and agencies.