WorkClient workTruth Nightclub
Live · Operations Type · Operations system 2025 · In production · Johannesburg

A nightclub
that runs on its own
chart.

Truth Nightclub had outgrown the spreadsheets, WhatsApp groups, and four separate SaaS tools holding the business together. We built one end-to-end operations system that covers the whole night and the week around it — events programme, playbook, hospitality, payments, documents, live financials, AI post-event reconciliation — all on infrastructure the team can run for years.

Truth Nightclub operations dashboard
11
Playbook stages, T-12 to T+2
Every event runs the same standardised process
4 → 1
SaaS tools consolidated
Bookings, POS-adjacent, docs, finance — all one app
Live
Financial Pulse
Operating numbers, ex-VAT, refreshed on page load
AI
Post-event summaries
Auto-generated narrative comparison vs the last five events

01 — Approach

Weeks on the floor before drawing a single screen. The brief came from watching, not from a workshop.

We started by working a Saturday.

Before drawing a screen, we spent nights on the floor — door, bar, back office, hospitality. The actual operations were nothing like the org chart. Bookings lived in DMs. Bar reconciliation was a Tuesday job done from till receipts. Sponsor invoices and artist contracts lived across four cloud drives. Owners didn't know how the night went until the accountant called.

The brief became obvious: not another tool, but a single operations system every role could share. We mapped the actual weekly rhythm — concept, lineup, production, sponsorship, marketing, ops plan, hospitality, the night itself, recon, close — and built the system around those eleven stages.

Eleven stages from T-12 weeks to T+2. Every event runs the same standardised process — measurable, repeatable, fewer surprises on the night. — The playbook

02 — Stack

Modern, durable, runnable for years. Familiar enough for any solid TypeScript engineer to pick up.

Modern tech. Carefully chosen.

Stack picked so the venue isn't locked into the studio — anyone good with TypeScript can carry it. Supabase Postgres for the source of truth, Drizzle for the schema, Inngest for the background work that has to happen reliably, Anthropic Claude for the AI surfaces, Vercel for hosting.

Framework

Next.js 15 (App Router) · TypeScript · Server Components

Database

Supabase Postgres · Drizzle ORM · row-level security

UI

Tailwind v4 · shadcn-style primitives · Anime.js v4

AI

Anthropic Claude · post-event summaries · document classification

Background jobs

Inngest · scheduled syncs · retries with backoff

Integrations

OneDrive · FNB CSV → Sage · public booking links

03 — Inside the system

A short tour of the operator-facing surfaces. The full eight-slide walkthrough lives on its own page.

AI Post-Event Summary
AI post-event summary
Events programme
Annual events programme
Event playbook
Eleven-stage event playbook
Financial Pulse
Financial Pulse — live ops numbers
See the full 8-slide walkthrough

04 — Outcomes

Live in daily production. What the system actually replaced.

What changed.

One eleven-stage playbook every event runs through.
Concept, lineup, production, sponsorship, ticketing, ops plan, hospitality, the night, recon, close. Stages auto-tick from the underlying data; manual items live until the team confirms.
AI-generated post-event summaries by 03:30.
Narrative comparing attendance, fill rate, revenue and net against the last five events — with concrete recommendations for the next one.
Payments captured, batched as FNB CSV, synced to Sage.
Vendor and event-linked, draft → approved → paid, with the bank feed close in hours instead of days.
A document library that classifies itself.
Contracts, riders, invoices — uploaded anywhere, filed against the right event automatically. Backed by OneDrive, so every doc is a real file.
Public table-booking links, deposits flagged inline.
Customers book directly. Paid/unpaid status surfaces on the hospitality view before the door opens.
Take the walkthrough Discuss a similar build