The Bout Office — Full Product Build (Web Platform) by Ayush ShahThe Bout Office — Full Product Build (Web Platform) by Ayush Shah

The Bout Office — Full Product Build (Web Platform)

Ayush Shah

Ayush Shah

The Bout Office — Ticketing Platform for British Small-Hall Boxing

No more cash in envelopes. No more chasing mates for ticket money. I built The Bout Office: the platform where fans buy fight tickets in seconds, and the fighter they came to see gets the credit.

Overview

The Bout Office (TBO) is a dedicated ticketing platform for British small-hall boxing, live at theboutoffice.com. It brings three groups together on one platform:
Fans buy tickets in seconds, choose the fighter they're backing, and get a QR ticket straight to their phone.
Fighters get their own sales link and see every ticket they've sold.
Promoters list shows for free, track every fighter's sales live, and get paid out through Stripe.

Challenge

Small-hall boxing runs on fighters selling tickets to their own fans. In practice that meant cash in hand, bank transfers, and fighters chasing friends for money the week after a show. Promoters had no live view of who was selling and who wasn't until it was too late to act. Fans had no simple, trustworthy way to buy.
The goal was one platform that:
makes buying a ticket as easy as any other online purchase
still credits every sale to the right fighter, at the same price
gives promoters live sales visibility and reliable payouts
handles event-day entry quickly, even with poor venue signal

What I did

As lead full-stack developer, I designed and built TBO end to end, from the database and payments to the fan-facing UI.
Back-your-fighter checkout
Every fighter gets a unique referral link. At checkout, fans pick the boxer they came to support, and the sale and its commission are credited automatically. Fans pay the same ticket and the same price either way.
Fan experience A fast, mobile-first flow: browse upcoming shows, pick a ticket tier, pay by card, and get an emailed ticket with its own QR code. There's no app to download and no bank transfer to sort out.
Promoter dashboard Promoters create events and ticket tiers, sign fighters to their shows, issue promo codes, and watch each fighter's sales update live. That way they can spot who isn't shifting tickets while there's still time to act.
Fighter dashboard
Fighters manage event invites, their profile, and their earnings across every show they're on.
Payments and payouts I integrated Stripe Connect for card payments and promoter onboarding. Payouts are approved per event and sent as Stripe transfers with idempotency safeguards, so a retried payout can never pay out twice. Failed payouts are tracked and can be retried.
Event-day check-in Each ticket has its own QR code, and the door scanner logs every check-in. A ticket can only be scanned once, which stops duplicate entry.
Admin and trust I built an admin panel for event approvals, user management, payouts and content. It has audit logging for sensitive actions, rate limiting on the API, and email verification on sign-up.
Content and engagement A news section with a rich-text editor, fighter and promotion profiles, and fight reels keep fans engaged between shows.

Outcome

TBO is live in production at theboutoffice.com.
Real shows are on sale, including Warzone: Battle of the Giants and TDP5.
Three promotions have joined: MRN, Takedown and Warzone.
Fighters share one link instead of chasing cash, promoters see sales as they happen, and fans get their ticket the moment they pay.

Stack

Frontend: React, TypeScript, Vite, Tailwind CSS, TanStack Query, Framer Motion / GSAP
Backend: Node.js, Express, PostgreSQL, Prisma, Redis
Payments: Stripe Connect
Auth: Better Auth (email verification, role-based access)
Email and files: Resend + React Email for tickets and notifications, Cloudflare R2 for images
Monitoring and testing: Sentry, Vitest, Supertest
Like this project

Posted Nov 1, 2026

Built The Bout Office, a ticketing platform for British small-hall boxing: QR tickets, fighter-linked sales, Stripe payouts and promoter dashboards.