BilliardCloud logo

BilliardCloud

Founder·2023 - present·Live

All-in-one SaaS platform for billiard clubs to manage members, in-club consumption tracking, tournaments, live scoreboards and stream overlays.

  • TypeScript
  • Next.js
  • Bun
  • Turborepo
  • oRPC
  • Drizzle
  • PostgreSQL
  • Redis
  • BullMQ
  • better-auth
  • Stripe
  • Docker

Key Features

  • Member and role management
  • Digital bar tab & self-service terminal
  • Tournament brackets
  • Live table scoreboards
  • OBS-ready livestream overlays
  • Exportable booking history

A Look Inside

Analytics dashboard with revenue, bookings and membership growth
Consumption tracking at the POS terminal with cart and member billing
Tournament bracket from quarterfinals to final with scores and table assignment

BilliardCloud — A Digital Control Center for Clubs

Running a billiard club is more work than the game itself. Members get tracked in spreadsheets, drinks on paper lists, tournaments in WhatsApp groups, and results vanish into chat history. I wanted to take all of that scattered, daily friction and fold it into one calm, streamlined place — simple enough that a volunteer admin with no IT background can run their whole club from it.

That's BilliardCloud: an all-in-one SaaS for billiard clubs, and the project where I got to own the full picture, from the data model to the tablet at the table.

Why I Built It This Way

The hard requirement wasn't a feature — it was trust and simplicity for non-technical users. A club treasurer should never see a stack trace or wonder which club's data they're looking at. So two decisions drove everything:

  • Multi-tenant by design. Every club lives in its own isolated space — separate data, roles and configuration, cleanly partitioned at the database level. No club can ever see another's numbers.
  • Built for the venue, not just the browser. Half the real usage happens on a tablet bolted next to a billiard table, often late at night. That meant big buttons, clear states, and an interface that's still usable after the third beer.

I also wanted end-to-end type safety across the whole product, so a change to the backend instantly shows up as a type error in the frontend — fewer surprises in production, faster iteration for a solo-leaning team.

How I Built It

  • Monorepo: a Bun + Turborepo setup, so the public site, the dashboard and shared packages all live in one fast, unified toolchain
  • Frontend: Next.js and React 19 — server rendering for the public side, a reactive dashboard for live club data
  • API layer: oRPC for a fully type-safe RPC bridge between frontend and backend — end-to-end types, no code generation
  • Data: PostgreSQL with Drizzle ORM for type-safe queries over the multi-tenant schema
  • Auth: better-auth, with role-based access scoped per club
  • Real-time & jobs: Redis pub/sub for live events, BullMQ for billing runs, notifications and exports
  • Payments: Stripe for subscription-based club billing and automated invoicing
  • Observability: OpenTelemetry tracing to catch performance issues before they reach users
  • Deployment: Dockerized for consistent, reproducible environments with a CI/CD pipeline

What it actually does, day to day:

  • Manage members, roles and permissions in one place instead of five spreadsheets
  • Track consumption digitally with a self-service terminal — drinks and snacks, balances, automated billing
  • Create tournaments and generate brackets automatically, from a small club night to a league
  • Drive live scoreboards on displays around the venue over WebSockets
  • Feed results straight into a public live page or OBS-ready stream overlays — no manual updates

Why I Love It

BilliardCloud is the project that reminds me software is only as good as the messy reality it has to survive. The interesting problems weren't abstract — they were "how does a tired admin settle up the night's drinks in three taps," and "how do I guarantee one club never touches another's data." Solving real operational pain for real people, and watching a club actually adopt it, is enormously satisfying.

It also sharpened skills I lean on constantly: multi-tenant SaaS architecture, domain logic and UX for non-technical users, and integrating cleanly into livestream workflows. A focused product for a niche — and proof of how much value comes from solving one real problem really well.

Interested in this project?

Check out the live website or get in touch to learn more.