Engineering Dossier
The Grounds / GroundsLive
Build snapshot v0.16.19
Commit 795e12f
June 7, 2026

Built in 23 days.
Engineered like it has to last.

The Grounds gives every private club its own branded app and every member a clubhouse in their pocket. Underneath the simple surface is a relational core most software teams never bother to build. Here is what is in it.

0
Lines of
source code
0
Commits, fully
versioned
0
Days to
production grade
0
Engineering
phases shipped
01

The scale of the build

Not a weekend prototype. A full application with two front ends, a serverless backend, and the file count to match.

0
Lines of source code
0
React files
0
App screens
0
UI components
0
Custom React hooks
0
JavaScript modules
0
Serverless functions
0
Total lines incl. docs

A typical small-business website is a few thousand lines. This is a working product.

02

Under the hood

The part nobody sees and everybody depends on. This is where software either holds up under real use, or quietly falls apart.

0
Database tables
0
Columns
0
Foreign keys
0
Security policies
0
DB functions
0
Triggers
0
Indexes
0
Migrations
0
Relationships enforced
156 security policies, on every table

Row Level Security decides who can see and touch each record. The Grounds applies it to all 51 tables so one club can never reach another club's data. Most teams skip this depth. It is the difference between multi-tenant done right and a data leak waiting to happen.

51 tables, 91 foreign keys

A real relational schema, not a pile of loose documents. Relationships are enforced by the database itself, so the data stays correct even when the app has a bad day.

53 functions, 33 triggers

Audit logging, lifecycle changes, and sync happen inside the database, in one place, instead of being copied across the app where they drift out of step.

168 indexes

Performance was designed in from the start, not bolted on after the app got slow. It stays fast as clubs and members grow.

03

What it actually does

Three full surfaces in one platform: the member app, the staff admin, and the multi-club control center behind both.

Multi-tenant white-label Web push notifications AI on both surfaces Real-time updates Full audit logging Public guest flow Installable PWA
i

The member app

  • Branded per club on its own web address
  • Magic-link sign in, digital membership card with QR
  • Food & drink ordering with live order status
  • Events with RSVP, spots, and recurrence
  • News, club status, pace of play, pin of the day
  • Member directory, direct messages, bulletin board
  • Partner board for golf game seekers
  • Trophy Case of member badges and honors
  • Five-topic clubhouse messaging to the right staff
  • Pro shop inquiries and lesson requests
  • Member AI assistant that knows the app
ii

The staff admin

  • Unified people view: members, guests, staff in one place
  • Full per-person audit history of every change
  • Editors for news, events, menus, status, pins
  • Communications triage center, every channel, one inbox
  • Departments and topic routing the club configures
  • Staff roles with granular, per-person permissions
  • Branding: logo, colors, hero, tagline
  • Feature flags toggled per club
  • Bulk member import, magic links, approvals
  • Admin AI assistant for operational questions
iii

The control center

  • Run every club from one platform view
  • One-click club provisioning, DNS to database
  • Cross-club support inbox via inbound email
  • AI usage rollups across the platform
  • Cross-platform admin management
  • Health checks and provisioning audit log
  • Configurable membership tiers per club
  • Guest registration policy per club
04

Built to survive production

The cheap version works in a demo and falls over in the real world. This one was hardened on purpose.

0
Security findings closed
0
Independent review rounds
0
Functions hardened
0 / 56
Tests passing
0
Loose ends in code

Security pass with teeth. A dedicated hardening phase closed 21 findings across three review rounds: locked-down access, rate limiting, and audit logs.

Tests on what matters. 56 automated tests guard the things that fail silently and dangerously: permissions, sign-in gates, and cross-club access.

Zero TODOs in the codebase. Most production apps carry dozens of "fix later" notes. This one carries none. That is unusual cleanliness.

The database is version-controlled. Every schema change ships as a tracked file before it is applied. Nothing is changed by hand and forgotten.

Defense in depth. Access is checked in the app and again at the database, so a single mistake does not expose a club's data.

Already pressure-tested. Clinton Country Club is the founding club, so the design has met real operations, not just a slide deck.

05

Eighteen phases, twenty-three days

Each phase shipped real, working capability. This is the order it was built in.

Phase 1
Data-driven core & security foundation
Phase 2
Roles & permissions
Phase 3
White-label branding & subdomains
Phase 4
Messaging & web push
Phase 5
Member-to-member communication
Phase 6
News, events & personalization
Phase 7
Feature flags & lesson pros
Phase 8
Guests & QR check-in
Phase 9
Communications triage center
Phase 10
Club Champion recognition
Phase 11
Admin dashboard tiles
Phase 12
Food orders & lesson workflow
Phase 13
Inbox unification & real-time
Phase 14
Support inbox & email worker
Phase 15
AI chat, admin & member
Phase 16
People lifecycle management
Phase 17
Departments & topic routing
Phase 18
Security & hardening pass
0
Commits along the way
0
Phases delivered
0
Calendar days