Build with Gemini XPRIZE · Submission dossier Prepared 09.01.2026 · Greg Spero · Los Angeles

One musician runs his companies on an AI operating system he built himself.

Gregbot and Claude Grid. A model-agnostic agent operating system that runs a real recording studio business in production. Payroll, staff identity, taxes, membership, releases and outreach, while its builder plays piano.

  • Phone Grid
  • Grid 13 live panes
  • Panes Worker fleet
  • Fleet Production

Judging criteria · equal weight, read against live numbers

The three meters this prize reads

01 · Business viability

$44,332 in monthly recurring revenue across 79 live Stripe subscriptions, median $450. Revenue of $606,962.66 across the first nine months of FY2026. July 2026 closed at +$5,059.76 net operating income. A real business with real customers, not a demo.

02 · AI-native operations

Payroll guard rails that block a director’s bad approve tap. Retention scoring on every member, nightly. App Store submissions and resubmissions run by the AI. The month closed from a live Stripe pull before the bookkeeper gets to it.

03 · Category impact

Small Business Services. One owner plus an agent OS in place of an entire back office. The harness itself is packaged as claude-grid-kit so another operator can run the same console over their own business.

Signal flow · how the system is wired

A mixing console for agents

▸ Input

  • Greg’s phone over a Cloudflare tunnel, six hostnames, the Mac never inbound-reachable
  • Hold to talk on any pane, transcribed live by local Whisper
  • Texts to himself are commands
  • Gmail and calendar watchers

▸ Bus

  • 13 live panes, one per project
  • Three seats, dialogue / execution / judgment
  • Tiered workers, bulk to routine to heavy
  • One 30-line seat resolver. Any frontier model seats in.

▸ Process

  • 19 skills, each a codified pipeline
  • 18 hooks, 1,679 lines, blocking unsafe actions mechanically
  • 832 memory files, loaded lazily
  • 136 launchd automations, plus cost and server-placement guards

▸ Output

  • Production apps, sites and App Store releases
  • Payroll staged, taxes reconciled
  • Outreach drafted in Greg’s voice
  • Human send gate Greg presses send, always.

In production today · the channel strips

What the AI actually runs at The Recording Club

Staff identity + punch
Writes and deploys the staff auth server that authenticates every staff login. It minted individual bcrypt credentials for all 11 active studio assistants in production, set must-change flags, and verified 11 of 11 against live auth before release. It diagnosed that contractors stored as assistant rows were being read as assistants by role-blind gates, then shipped the role filter itself.
Payroll
Four server-side refusals block a human director’s approve tap. One of them, FUTURE_CLOCK_OUT, the AI shipped itself after finding a $960 overpayment, ordered deliberately after the no-hours check and before the confirm-hours check so confirming hours cannot bypass it. The bank rail is built and deliberately unarmed. No token exists anywhere, and the live endpoint returns a clean 503 before it touches the database.
Tax + compliance
Rebuilt the filed 2025 partnership return from the raw books with zero CPA figures as input, converging at 576 match / 4 diff / 3 unmapped of 583 lines. Caught an $800 state payment made twice, five weeks apart. Built a $250,773 equipment ledger out of 231 invoice PDFs for the state use-tax filing.
Membership
86 paying members across four tiers. Retention Radar scores every member 0 to 100 nightly at 3am and auto-escalates untouched commitments. A ledger agent runs a daily 7am credit audit and a weekly full audit, emailing findings as per-member cards with fix-in-admin deep links. Eleven member write endpoints are director-gated.
App releases
Builds 1 to 73 documented. It root-caused an Apple rejection from the shipped binary, uploaded the fix and resubmitted seven minutes after upload, and the build was approved the same night. TRC Staff 2.0.0 is live on the App Store. It also wrote the ship gates against itself, including an archive symbol verifier with a negative test proving the guard fails correctly.
Finance
A four-page encrypted P&L site where every cell drills to singular transactions, built, deployed and re-aliased by the AI. It closes the month from a live Stripe pull before the bookkeeper does. Its July forecast of +$7,387 missed the actual +$5,059.76 by $2,327, inside its own published range.
Events + hiring
311 applicants researched and ranked across four departments, with location viability tiering and overqualification demotion read out of the rankers’ own concern text. Fifteen standing night-ops templates auto-apply to every night. Session-end surveys fire exactly one staff notification, made race-free at the database level.

Four things it did that nobody walked it through

01

Apple rejected a build at 00:12Z. It resubmitted seven minutes after upload.

Build 69 came back under App Completeness with an automated crash report and no log attached. The AI reproduced the crash from the shipped IPA and found a dynamic-link failure on a framework that was linked but never embedded. It wrote a 21-line source-only patch, uploaded build 70 at 17:55 PT and resubmitted at 18:02 PT. Then it hardened its own release script with a symbol guard, which found 8 frameworks not embedded on the rejected archive. Build 70 was approved the same night.

02

It audited its own payroll audit and stopped a $5,807.40 double payment.

Writing the staff timekeeping manual, the AI verified every figure in code rather than from memory and found five defects, including an authentication hole that let anyone holding the shared studio token clock anyone in or out. 232 such calls were already in production. Greg then ordered an adversarial second pass, which reversed several of the AI’s own conclusions. Its finding that 40 entries were unpaid was wrong. All 40 had already been credited, and $5,807.40 was already sitting in six member balances.

03

It found a state tax payment that had been made twice, and a return that was never transmitted.

Greg texted himself, “find when I paid the IRS in California and just reconcile it.” The AI ran a read-only sweep of production QuickBooks, two Gmail accounts and its own tax portal. It found exactly one IRS payment in the window, found the state payments tied the filed return’s math exactly, and found an $800 payment made twice for the same tax year on two Web Pay confirmations five weeks apart, with no refund ever requested. It also found $4,900 of electronic withdrawal that never drafted because the return had been e-signed but not transmitted, and told Greg not to pay it manually, citing the state’s own publication on the double-payment trap.

04

It found six weeks of database backups that had been failing silently.

Backups had read “pending” since July 18 with no completed backup for six weeks. The AI found the dump was being built as one 484MB JavaScript string under a 450MB heap ceiling, so the process was killed mid-run every hour, and the kill took the error handler with it, which is why the rows read pending instead of failed. A second, independent fault sat underneath. The save path still pointed at the old hosting provider’s storage with an empty directory variable, so every byte of every successful backup had been discarded since the migration. It shipped streamed cursor dumps, proved a 268MB peak against production, reconciled 379 stuck rows, and stood up an off-box job that restore-verifies before counting a backup as real.

Shipped · the rack

Dozens of products, one operator

215 hostnames tested for this dossier · 202 live · 138 gregspero.com subdomains · 3 App Store apps · 11 TestFlight builds

Metered · system scale

What one operator has accumulated

471,643

lines of code across seven core repositories

832

persistent memory files

22,387

session transcripts on disk

136

launchd automations

202

live hostnames

13

live agent panes right now

19

codified skill pipelines

18

guard hooks, 1,679 lines

302

git repositories in home

Feb 2026

earliest memory file, when this started

What a judge will probe

Does the AI actually decide, or just draft?
It decides and executes on internal systems. Payroll guard rails, checklist scheduling, credit audits, retention scoring, shift auto-close, event configuration, deploys, App Store submissions. It drafts and stages anything leaving the building. That line is enforced by a 469-line hook, not by policy prose.
Does it move money?
No. The bank rail is built and deliberately unarmed. QuickBooks still pays people. That is a decision, not a gap.
Does it send messages as Greg?
Never without a human click. Three narrow exemptions exist, each traceable to Greg’s verbatim authorization and each logged. One misdirected text is on the record from August 31 and was reported rather than buried.
Is this just Claude with extra steps?
The governance layer already runs under OpenAI Codex. The context layer already loads into Grok. Gemini, gpt-image, Suno, Whisper, Kokoro and Ollama hold production seats today. The dialogue seat is Claude-only, and that is stated here rather than discovered later.

The harness is model-agnostic

Any frontier model seats into this console. Gemini already holds a production seat.

A single endpoint flips every pane in the fleet between Claude and OpenAI Codex, preserving session identity across the switch. All five safety guards are ported to the OpenAI runtime, so the governance layer is provider-independent by construction. Three coexistence tools shipped on September 1, 2026: a separate tmux server so GPT panes run untouched by the Claude patrols, a headless sub-agent any pane can delegate to, and a bridge that hands a live conversation from one provider to the other mid-project.

Gemini 2.5 Flash scores every clip in the viral-clips pipeline today, chosen for rate limit at equal quality and documented as such in the pipeline itself. OpenAI gpt-image-2 is the default image generator across every build. Local MLX Whisper is the speech-to-text for every voice input on the machine, and the text-to-speech ladder starts at a local Kokoro-82M before it reaches any vendor. The context layer loads the identical 72KB stack into a Grok CLI. Provider policy is explicit, dated and reversible: a Gemini ban imposed on August 2, 2026 was retracted three days later, and 65 memory files reference non-Claude models today.

The seat abstraction is one 30-line script that has already been repointed six times.

The honest limit, stated before a judge finds it: the dialogue seat is Claude-only today, and the doctrine assumes Anthropic-shaped constructs. What is proven portable is the governance layer, the context layer, the seat abstraction and the execution layer.

Prepared for the Build with Gemini XPRIZE (XPRIZE Foundation × Google). This round’s submission window closed August 17, 2026. This dossier is submission-ready for the next window and for direct organizer review. Every figure on this page is quoted from a cited evidence inventory compiled September 1, 2026 from 832 memory files, direct inspection of the live machine, and HTTP verification of 215 hostnames.