← Back to all work
Web App SaaS Multi-Tenant Hospitality Custom Build

King of the Club

A SaaS-class members platform for pool clubs — ELO tier ladders, QR-code matchmaking, drinks-to-table ordering, walk-on music, Killer Pool multiplayer, a match clips library, a coins economy with reward redemption, multi-club support, teams & leagues, and a Gold Room private booking. Built from the ground up on Firebase & Stripe.

Visit the live platform
ClientKing of the Club
SectorHospitality & sport (pool clubs)
ServicesWeb app, UX, payments, real-time, comms, PWA
Build typeCustom — no template, no plugins, no framework
StackFirebase, Stripe, HTML/CSS/JS, Twilio, SendPulse, WebRTC
StatusLive, multi-club, in active development
25+
In-app features
5
ELO tiers (Bronze → King)
15
Achievements to unlock
PWA
Installable, push-enabled

The brief

King of the Club came to us with a vision that didn't fit any off-the-shelf product: a digital home for serious pool players. Walk into the club, check in on your phone, get matched to an opponent at your level, challenge them, scan a QR code to start the match, have your walk-on music play as you're called to the table, order a round to your seat without queueing, record a clip of your best clearance, climb a national-style ELO ladder, and have it all count towards a season-long ranking.

Membership had to feel premium — a tap-to-show digital card in lieu of a printed pass, with auto-renew, gifting, and tier perks. The whole thing had to run on a phone, fast, with no app store install required, and had to be designed multi-tenant from day one because the platform was always intended to scale beyond a single venue (it now powers multiple clubs, including The Break Room in Ashford).

How we approached it

This wasn't a website project — it was a full SaaS product build. We mapped the entire member journey before writing a line of code: arriving at the venue, checking in, finding an opponent, scheduling a match, paying, playing, earning points, ordering drinks, posting a clip, and leaving. Every screen was designed to remove friction at the exact moment a paying member might lose interest.

We built the front-end as a hand-crafted progressive web app in vanilla HTML, CSS and JavaScript — no framework overhead, no plugin bloat. Firebase handles auth, real-time data, hosting and serverless functions; Stripe handles every payment (memberships, drinks, table bookings, competition entries, gift memberships); Twilio and SendPulse handle SMS and email comms; and a custom live-messaging layer keeps players, staff and the bar in sync the moment anything happens.

Multi-tenancy was a foundational decision — clubs are first-class entities, members can belong to multiple clubs, and each club can configure its own table count, opening hours, member tiers, table rates, league fixtures and rewards.

Inside the platform

Twenty-five features, one cohesive product

This is genuinely the most complex single project in our portfolio. Here are nine of the headline features — the ones that make King of the Club unmistakably itself.

ELO Tier Ladder

A five-tier ranking system — Bronze, Silver, Gold, Diamond, and the single-seat King at #1. Points adjust dynamically: beat a higher-ranked player and you take more points; lose to a lower-ranked player and you lose more.

QR Code Matchmaking

Generate a code on your phone, your opponent scans it, the match is on. Or open the match on the club's wall-mounted scoreboard tablet to get a live, premium match-day feel.

Walk-On Music

Pick a five-second walk-on clip that plays when you're called to the table — boxing-match energy on a Tuesday night in Ashford. A tiny detail, a huge mood-changer.

Drinks to Table

Full bar menu in-app, with a six-drink + two-snack favourites system for fast reordering. Pay now, start a tab, or pay cash at the bar — the bartender gets a print-ready ticket with table number and player name.

Killer Pool Multiplayer

A built-in last-player-standing game mode for 2–10 players. 3–5 lives, host invite codes, miss your shot and lose a life. Real-time scoring across phones, all driven by Firestore listeners.

Match Clips Library

Record clips during live matches — Trick Shots, Clearances, Breaks, Safety, Flukes — and post them straight to the club feed. Members watch, react with emojis, and chat in-clip.

Coins Economy & Rewards

Earn coins for wins, predictions, daily check-ins and streaks. Spend them on free pool hours, a free drink, a coaching session, tournament entry, or a VIP night. A genuine in-club currency.

Match Negotiation Flow

Multi-step scheduling: challenge issued → both pick available days → days matched → propose times → counter-proposals → table booked. Reschedule, cancel-with-reason, and league-match auto-detection all baked in.

Multi-Club & Teams

Join multiple clubs, switch between them, register teams in named leagues (Ashford Pool League D1/D2, Thursday Night League). Each club has its own fixtures, rules and rewards.

Five tiers, one ladder

Climb from Bronze through to the single-seat King at #1. Every match adjusts your points; lose-streaks and win-streaks compound.

🥉
Bronze
0 – 999 pts
🥈
Silver
1000 – 1499 pts
🥇
Gold
1500 – 1999 pts
💎
Diamond
2000+ pts
👑
King
#1 spot only
Game modes & formats

From a quick race-to-3 to a 100-frame epic

Match formats span the full competitive range. Killer Pool brings group play. League matches are auto-detected and counted to the table.

Race to 3 Race to 4 Race to 5 Race to 7 Race to 9 Race to 11 Race to 15 Race to 21 Race to 31 Race to 50 Race to 75 Race to 100 Killer Pool (2–10) Custom 1–21 League Match
More inside the platform

The supporting cast

Nine more features that round out the experience — the operational backbone behind the headline gameplay.

Installable PWA

Add to home screen on iOS and Android — the platform behaves like a native app, with push notifications, offline support, and a guided 8-step onboarding tour for new members.

Memberships & Gifting

Tiered memberships (annual + monthly Gold), auto-renewal, gift memberships, promo codes, billing history, payment-method management — all running on Stripe Billing.

Live Check-In

Walk in, scan the QR at the door, and you're checked in within seconds. Builds your "Regular" status, surfaces you to opponents looking for a game, and feeds the at-club leaderboard.

The Gold Room

A private upstairs room exclusive to Gold members — separate booking flow, 1-or-2-hour sessions, single occupancy. Your own room. Your own rules.

Daily Check-In Streaks

Coin rewards that compound — 3 days for 1.5×, 7 days for 2×, 30 days for 3× plus 500 bonus coins. Forge a streak, keep it, lose it, start again.

Predict & Win

Predict the winners of live matches. Five correct in a row earns a bonus card. Bounties let members spend chalk to put a price on the King's head.

15 Achievements

From First Break (join the ladder) to Club Legend (50 wins) to King Slayer (beat the #1 ranked player) — fifteen unlockables that reward showing up and showing out.

Live Messaging & LFG

Two-way real-time messaging, in-clip emoji reactions, "Looking For Game" availability posts, and a dedicated Regulars leaderboard for the players who turn up week-in, week-out.

Support & Issue Reporting

In-app support chat, plus structured table-issue and venue-issue reporting (cloth, balls, lighting, temperature, toilets, wifi, safety) — staff get categorised tickets they can act on.

Under the hood

The tech stack

Every piece picked for a reason — speed, reliability, and a build the team can grow with. No frameworks, no page builders, no plugin sprawl.

Backend
Firebase

Auth, Firestore real-time database, hosting and Cloud Functions. The backbone — every feature talks through it. Multi-tenant by design.

Payments
Stripe

Memberships (annual + monthly Gold), drinks orders, table bookings, competition entries, gift memberships. Subscription tiers run on Stripe Billing with auto-renewal.

Front-end
HTML, CSS & JS

Hand-coded vanilla. No framework tax, no build pipeline weight, no plugin sprawl — a fast, focused progressive web app that loads in under 1.5s on 4G.

PWA
Service Worker + Push

Add-to-home-screen prompts on iOS and Android, offline caching, push notifications for challenges, walk-on music cues, and "your drink's ready".

SMS
Twilio

Booking reminders, OTP login codes, "your drink's ready" pings, league fixture alerts and operational comms to staff. Reliable, instant, traceable.

Email
SendPulse

Member welcome flows, event invites, gift-membership delivery, and seasonal newsletters. Templated, tracked, and automated off Firestore events.

Real-time
Custom Live Messaging

A bespoke layer over Firestore listeners — match callouts, challenges, bar updates, in-clip reactions and staff comms, delivered the instant they happen.

Match Clips
WebRTC + Cloud Storage

In-browser clip recording during live matches, with categorisation (Trick Shot / Clearance / Break / etc.), titling and a moderated club feed.

QR & Scanning
Native Camera APIs

QR generation for matchmaking and door check-ins, with camera-based scanning straight from the browser — no native app required, no third-party SDK.

"This was the most ambitious thing we'd ever shipped. By the time we'd built the third game mode, we knew we'd accidentally built a SaaS — and a brilliant one. It's still our favourite project to work on."

— Onimo

The outcome

King of the Club now runs every part of the members' experience through the platform — arrival, play, payment, comms, ranking, league fixtures, gold-tier bookings, clip sharing, predictions, and the bar. The queue at the bar is gone, the door check-in is paperless, the league table updates the moment a frame finishes, and the King is named at the end of every season.

Because the platform is multi-tenant, it's already powering a second venue (The Break Room in Ashford), with more on the roadmap. Each club configures its own table count, opening hours, member tiers, table rates, leagues and rewards — and members can belong to multiple clubs from a single account.

Because the front-end is hand-built and the backend is on Firebase, the whole thing loads in under 1.5 seconds on 4G and scales without us touching it. New features (player stats, season trophies, member-only events, Killer Pool variants) ship in days, not weeks.

If you've got a product idea that doesn't fit a template — payments, real-time, multi-tenant, integrations, the works — take a look at our web apps service, our broader capabilities, or just drop us a line.

Next case study →

The Break Room

The Ashford pool hall that runs on King of the Club — a modern, video-led website with a bespoke booking system that surfaces busy and quiet periods in real time, plus deep-link integration into the companion app.

Got an idea like this?

Let's build something custom.

If you've got a product idea that doesn't fit a template — payments, real-time, multi-tenant, integrations, the works — we'd love to hear it. Book a call and we'll tell you honestly whether we're the right partner.

Start a Project