Warrior Combat Gym · The Platform

One system.
Every corner of the gym.

From the first click on the website to the hundredth sign-in at the kiosk, the Warrior Engine runs the whole journey. Website, member portal, staff app, front-desk kiosk and a growth engine, all speaking to one database, in real time.

4Connected surfaces
12+Modules live
295Automated tests
1Source of truth
The living flow

Follow a member through the machine

This is the actual pipeline, live in production. Red is the path a new member travels; gold is the loop that keeps them training month after month.

🌐 Website offers · schedule · Stripe 🎯 Lead captured · staff alerted 📅 Booked capacity-aware · waitlist 🥊 First class kiosk sign-in · coach roll 🏆 Member payments · family portal ↻ retention loop: regulars quick sign-in · payment tracking · comms · AI coach
—— acquisition path (animated = live data moving) - - - retention loop every arrow is real: the same record travels the whole line
Straight from the floor

Real screens, running today

Actual screenshots from the live system, member details anonymised. Top row: what the public sees. Bottom row: the engine room.

warriorcombatgym.co.uk
Public website home page
The shop windowOffers, programmes and live schedule: SEO'd, tracked, and selling around the clock.
/schedule · live capacity
Class schedule with live capacity
Live scheduleReal seats remaining per class: FULL badges, waitlists and alternative-day offers, straight from the same data staff see.
/womens-fitness · campaign page
Women's fitness landing page
Campaign landing pagesPurpose-built offer pages: women's-only membership with Stripe PAYG checkout, feeding leads into the pipeline below.
Growth Engine · Leads
Leads pipeline with stages and last-contact
Every enquiry, one pipelineStages, tags and sources at a glance, with the last-contact pill and one-chevron access to the full conversation.
Staff portal · Kids class roll
Kids class roll with attendance and payments
The coach's class rollWho's in tonight, paid-this-month at a glance, one-tap payment received, engagement and notes. A spreadsheet that fights back.
Staff portal · Members roster
Members roster with filters
The full rosterEvery member sliced any way you like (payment status, source, membership type), with bulk email a click away.
/board · the in-gym wall display (runs on the gym TV, 24/7)
In-gym signage board: timetable, promo cards, review QR, Instagram feed
The digital signage boardOn the wall at the gym right now: this week's timetable, promo cards with scan-to-book QRs, Google-review prompt and the live Instagram feed. It even tells members to tap their fob to check in. Updates itself; nobody touches it.
The modules

Twenty modules, zero seams

Each one earns its place; all of them share the same live data.

🌐 Public Website

The shop window that actually sells.

  • Offer landing pages: free trial, Muay Thai course, women's-only, summer classes
  • Live schedule with real seats left, FULL badges & waitlists
  • Book and pay in a minute: courses, special events, women's memberships, single classes, vouchers
  • Real seat locks with timed holds; scarcity shown only when it's real
  • SEO, schema & GA4 wired in

🎯 Growth Engine

Every enquiry from every source. One pipeline.

  • Instant auto-reply + staff lead alert
  • Stages: New → Contacted → Booked → Member
  • Every lead shows its whole journey: contacted, paid, trained, member. Paid and trained update the stage on their own
  • Email & SMS from the card, full timeline, inbox sync
  • Google reviews on autopilot: happy regulars get one polite ask, a few a day, plus a scan-to-review screen in the gym
  • Instagram and Facebook from the front desk: photos, designed promo cards and video Reels, posted now or scheduled

🎓 Warrior Mindset Schools

The schools programme, run properly.

  • School enquiries from mindsetwarrior.academy land in their own pipeline: new, contacted, visit booked, converted
  • Cohorts, parent consent, medical info and attendance per school
  • Kept fully separate from gym members and leads

📺 Fight Night Live

Sell a seat on the sofa when the room is full.

  • A pass page on the website: pay by card, the private watch link arrives by email straight away
  • The show streams from a phone at the venue, so it works away from the gym as well as in it
  • Price and start time change from the desk, no rebuild
  • Who bought, when, and how often they opened it, on the same screen as the door tickets

🎥 Class Capture

The camera records the timetable by itself.

  • A Wi-Fi camera on the mats records every configured class automatically: nobody presses anything
  • Every class gets a social-ready timelapse clip, made for you
  • Health checks before each class, loud warnings if the camera or disk is in trouble
  • Coaches film a round on their phone and WhatsApp it straight in. It gets the same treatment as the ceiling camera and sits beside it under the same class
  • Footage stays on the gym's own machine; raw video self-deletes after 30 days, keepers stay

🖥️ Gym App (desktop)

Mission control at the front desk.

  • Members, rolls, attendance, reports
  • One-tap payment reconciliation
  • Self-updating via release channel

🔐 Staff Web Portal

The whole gym app, from any browser, full parity, by law of the house.

🥋 Grading

Belts and grades, tracked instead of guessed.

  • Per-discipline ladders: BJJ belts, kickboxing, kids tabs, Muay Thai Khan progress grades
  • Ready, Close and Not yet lists built from real attendance since the last award
  • Coaches award from their phone; every grade lands on the member's record

👋 Sign-in Kiosk

Members check themselves in.

  • Regulars quick sign-in (last weeks' attendees)
  • NFC keyfob tap-in · day & payment rules enforced
  • The register shows who is coming, not just who has arrived: anyone booked online is listed waiting to be tapped in, and it says whether their place is already paid or free so nobody is asked for money twice

👨‍👩‍👧 Family & Members

Parents run their family from one login.

  • Self-service parent signup, children auto-linked
  • Bookings, attendance, payment status
  • Each child's details, photo and health notes kept up to date by their parent
  • Multi-day kids on one flat membership

💳 Payments

Stripe subscriptions, one-off checkouts with webhook confirmation, Apple & Google Pay, gift vouchers. Every payment lands on the member record, not a spreadsheet. A paid course place books all six weeks onto the coach's roll by itself, and anyone who only wants one Saturday buys that week on its own at the drop-in price, with the roll showing which week they paid for. Turn up on the day without booking and staff take the drop-in on the roll itself, cash or card terminal, one tap, recorded like any other payment. Members run their own payments from their login: pay by card, set up monthly billing or a standing order, see the family's history, cancel without a phone call. Card renewals record themselves and portal requests land on the desk app's home screen. Someone trains but the payment gets missed? The desk sends a WhatsApp pay link and the money books itself against that exact session. Cancelling is one action, not two: approving a member's cancellation stops their card subscription at the same time, and any month already paid runs to its end. Failing cards surface by themselves, so a declined renewal reaches the owner the same week it happens.

🧠 Smart Coach

The big screen runs the class: full-screen Class Mode with timed blocks, an exercise stepper the coach taps through, birthday shout-outs, a Warrior of the Day crowned from the coach's phone and put up on the big screen with a staff fob tap, and the phone as the remote. After a PT session the coach taps what was covered and the recap writes itself, ready to edit, straight into the member's login. Technique clips too: an adult member opts in with one QR scan on the mat, the coach records short clips, and the member watches or deletes them in their own login. Circuits classes get their own board: the coach types the circuit on their phone and the whole grid fills the screen, with a work and rest clock that runs the room. After a kids class the coach opens the roll on their phone, scores each child's session and leaves a note, and the parents see it in their own login. The kiosk updates itself overnight.

🤖 Atlas AI Coach

AI chat and training plans in the member's own login, switched on by membership type. It knows what the coach has each member working on. Quick Reps puts the Smart Coach camera on the member's phone: prop it up, it counts squats, push-ups and swings, and the set saves straight into their training history. All vision runs on the phone, no video is ever uploaded.

✉️ Comms Engine

Authenticated email (DKIM), SMS with a daily-cap circuit breaker, welcome & reset flows, bulk-safe.

💬 WhatsApp

The gym's WhatsApp number, run properly.

  • Enquiries answered in seconds by an AI that knows the real timetable and prices, and hands over to a human the moment it matters
  • Booking confirmations and next-day class reminders, one message per family, not one per child
  • The churn radar: a regular goes quiet for two weeks while still paying and gets one friendly check-in before they drift away. Capped at one per member per quarter
  • The owner can text the gym's own number a question and get an answer: who is booked on Wednesday, how many are on tonight, has someone paid this month
  • Staff inbox with the full conversation history; opt-outs and quiet hours enforced on every send

🏫 Schools Programme

Cohorts, sessions and dashboards for school partnerships: separate login, same engine.

💷 Finance

QuickBooks-light behind a PIN: bank imports that learn their own categories, monthly money across every revenue stream with the paying-member mix, P&L, coach pay from classes actually delivered, vending profit after stock. A live break-even board shows who really pays, with one family payment counted across the whole linked household, and exactly how many members the gym needs. A Stripe view pulls every card payment straight from Stripe, fees included, and flags any subscription payment the records missed. Supplier bills get filed from the gym inbox or typed in, sit as unpaid with the outstanding total on show, and flag themselves for one-click confirmation when a bank import contains the matching payment. A who-owes view works out every household total from the membership bands and the sibling rule, separates the ones who paid the old amount from the ones who simply have not paid yet, and sends each family a card link for their own figure.

🕹️ Warrior Games

The kids arcade on the big touch screen. Blue team against red team with two big buttons on the mats: relay races, reaction battles and tug of war, with scores, sounds and a winner splash. Every game is a drill in disguise, and the whole class fills a season-long progress bar together. The reaction light pods plug straight in: the screen runs them over Bluetooth and the pods time every hit to a hundredth of a second, across five pod games from a solo sprint to a blue-against-red duel, each with its own gym best. Dojo Defenders is a full 3D game built on the pods: ninjas sneak through four gates towards the mat, every gate is a real pod that lights in the ninja's colour, and hitting it sends the Warrior hero into action. Play it solo against faster and faster waves for a place on the gym board, or blue and red teams defend in turn against the same ninjas. Robots and sumos join the ninjas, the dojo changes between day, sunset, night and snow, and Boss Battle puts a ninja, sumo or robot boss on the mat: the pod that lights up is the one to hit, ready to move to the wall boxing targets once they are wired in. In Coach Says an animated ninja acts out every call, and the pods judge the hit-your-pod calls. On a capable PC the dojo switches to its top graphics setting, with cherry trees in full blossom, soft shadows where the fighters meet the floor and sparks on every hit, and on an older PC it quietly steps itself down so the game stays smooth. Jelly Dance, designed by two of the gym's girls, is a rhythm game on the pods: the lights come in time with the music, a dancer on the big screen dances bigger the longer the combo runs, and two players can go head to head with two pods each. It has its own songs, or it can listen to whatever is playing in the gym and dance to that. The classic team games are acted out in the dojo too: reaction battles become a blue against red showdown on the mat, Button Battle is a tug of war over a water pit, the relay runs on a two lane track, and Traffic Lights has the ninja beside a real traffic light. Runs on the gym PC even with no internet and updates itself from the web.

🥊 Coach 1-1s

A shared mat diary for the coaches: phone or the gym PC, both mats, clash-checked against classes and each other. When the gym sends a coach a personal training lead from the website, the coach books the slot and the client gets a card pay link on WhatsApp. Paying confirms the session, the money splits between coach and gym automatically, and the payout owed to each coach sits in Finance with a settle button. Coaches' own clients stay their own business.

📈 Analytics

GA4 traffic tile on the dashboard, internal surfaces filtered out. Decisions on real numbers.

A Tuesday, end to end

What a normal day looks like on the Engine

Mum finds the site

Googles "kids martial arts Crosby" → lands on the Kids page.

Enquiry → lead

Form submitted. Auto-reply in seconds; staff email fires.

Coach replies

One click in the pipeline, email logged on the timeline.

Trial booked

Capacity-checked. Class full? Waitlist + alternative day offered.

First session

Kiosk sign-in; child appears on the coach's roll instantly.

Joins as member

Payment tracked monthly; parent portal shows it all.

Comes back

Next week she's in "Regulars", one tap and she's on the mat.

Under the hood

Foundations you never have to think about

🛡️ Security-audited

Full audit across auth, secrets, injection & GDPR surface; database locked down. Check-in refuses to run anywhere but the gym's own devices.

✅ 295 automated tests

Capacity maths, waitlists, payments and family links proven on every build.

🔁 One-command deploys

Website, portal and app each ship in minutes, with secrets stripped automatically.

📬 Deliverable email

DKIM-authenticated domain; resets and alerts that actually arrive.

🗄️ One database

Postgres in production. Every surface reads and writes the same truth.

📱 Built for the floor

Big tap targets, kiosk-proof flows, works on the gym PC, a phone or a browser.

Warrior Combat Gym · The Warrior Engine
Built with Blacklight Software · Crosby, Liverpool 🥊