V1 liveV2 in private beta release

GreenRoom: A professional network for the music industry.

Members ask an AI agent for the right person, and it answers from the network's own credits and connections, with the evidence behind each match.

Our founder is its founding engineer. Not client work.

The GreenRoom agent answering a question about which producer fits a brief: it names two matches and shows a card for the first, with the credits and the fit criteria it used
Version 2 answering a brief. Seeded demo data.

AI engineering

Getting a model to do useful work you can check.

The agent uses typed tools on the network's own records, and every answer shows its evidence.

  1. Ask, in your own words
  2. The network's own credits and connections
  3. Matches, each with its evidence
  4. Introduction, only after your yes
Built; not open to every member yet.Illustration of the design, not live data.
  • Getting a model to do useful work you can check.
  • Getting the right data in, clean and connected.
  • Fitting outside services together so the whole job gets done.
  • 17typed tools
  • 5rounds at most
Engineering detail

Stack

  • FastAPI
  • asyncpg
  • Pydantic
  • PostgreSQL
  • pg_trgm
  • Supabase
  • Next.js 16
  • React 19
  • server-sent events
  • pytest with a fake model

How a question runs

  1. Checks first: sign-in, an on and off switch and rate limits, before any model is called.
  2. Rules first: a recommendation lookup runs before the model is called, so it starts from real data. A warm-path search walks up to four connections; names are matched fuzzily.
  3. The tool loop: the model picks from seventeen typed tools for up to five rounds, then it must answer. The server checks what you may see on every call.
  4. Up to five cards, each showing the credits behind that match.
  5. It proposes an introduction. Nothing is sent until you say yes, and the server checks that yes.

Decisions

  • Typed tools, not free SQL: the model picks what to look up, never a query.
  • Introductions in two steps: a recorded proposal, then your own yes, checked by the server.
  • Code removes any linked name in a card's sentence that the evidence did not supply.
  • Measured first: vector search stays off the live path until an offline comparison justifies it.

What's built

  • A rule-based router before the model
  • Seventeen typed tools, five rounds at most
  • A per-message choice of what the agent uses
  • Introductions only after the member's yes
  • Card sentences checked by code
  • An evaluation harness, being brought online

Data engineering

Getting the right data in, clean and connected.

Credits arrive from many sources, and each must land once, on the right person, project or venue.

  1. Intent
  2. Momentum
  3. Relationships
  4. Entities
One graph in four layers, from what members want down to who they are.
  • 4ways to place records
  • 3truth tiers
Engineering detail

Stack

  • PostgreSQL 16
  • Supabase
  • pg_trgm
  • Python
  • FastAPI
  • asyncpg
  • httpx
  • APScheduler jobs with leases
  • Hypothesis property tests
  • golden fixtures

How a record finds its place

  1. Member credits link on the member's word, and land as confirmed relationships.
  2. Connected catalogs match on an exact outside id; each import waits as a suggestion until the member picks it.
  3. Version 1 records keep their old ids, so each lands exactly once, and running the move again changes nothing. The move is built and tested; the final switch has not happened yet.
  4. Public pages are cross-checked against an outside authority. A near match on the name becomes a proposal for a person to review.

Momentum

A scheduled job recomputes momentum.

Decisions

  • Fuzzy and cross-source matches become proposals, and a person reviews each one before anything merges.
  • Onboarding writes only what the member picked. The rest of an import stays a suggestion.
  • Truth tier, confidence and evidence are kept apart. Evidence never implies confirmation.
  • People and organizations are the nodes; projects are context on the edges.

What's built

  • A graph of people, projects, venues and labels
  • Truth tiers: confirmed, observed, inferred
  • Written matching rules for each kind of record
  • A review queue for near duplicates
  • Imports from catalogs and public pages
  • The move from version 1, with dry runs

Solutions engineering

Fitting outside services together so the whole job gets done.

Cal.com runs the calendar and Stripe the money, and the call happens in the video app the creator picks.

Service Cal.com Stripe Video call Card authorized Booking confirmed Payment captured Creator picks the app Refunded by rule Creator paid Cal.com Stripe Video Card authorized Booking confirmed Payment captured Creator picks the app Refunded by rule Creator paid

Free call. Cal.com books the time on the creator's own account; the call runs in their video app.Paid call. Stripe authorizes the card, captures when Cal.com confirms, and pays the creator after the meeting.Canceled. A cancellation runs back through the same ledger, and the booker is refunded by rule.

Tested against mocks; no paid booking has completed yet.

  • 3money steps
  • 4video apps
  • 8sweep jobs
Engineering detail

Stack

  • Stripe
  • PaymentIntents with manual capture
  • Connect Express
  • webhooks
  • Cal.com
  • API and OAuth
  • Zoom
  • Google Meet
  • Microsoft Teams
  • Resend
  • FastAPI ledger tables

Zoom, Google Meet and Teams are reached through Cal.com.

Decisions

  • GreenRoom, not Cal.com, is the merchant of record for paid calls.
  • Authorize first, capture on booking; sweeps settle expired holds and stranded authorizations.
  • Each creator connects their own Cal.com account; sweeps and health checks cover a revoked one.
  • Webhooks are checked and de-duplicated, and the ledger can be rebuilt from them.

What's built

  • Scheduling through each creator's Cal.com account
  • Escrow: authorize, capture, release
  • Refunds, reversals and sweep jobs
  • Creator payouts through Stripe Connect
  • A video app the creator picks

What this means for your system

Evidence you can check, records that land once, services that fit: a Production Triage ranks the risks in your system in three business days.

What you receive

Start with fifteen minutes.

A free call about your system. You leave knowing which engagement fits, or that none does. No preparation needed.

Book a call