Multi-tenant revenue operations platform

Mainstay

A multi-tenant platform that brings a business's calls, sales and ad events into one normalized data spine. It runs live with a pilot venue, backfilling past data to build nightly attribution and funnel reports.

  • TypeScript
  • Fastify
  • PostgreSQL
  • Redis
  • BullMQ

Key numbers

  • Live

    with a pilot venue

How it works

  1. Business databookings, POS, ad spend
  2. Importssafe to run twice
  3. Phone callsAI picks up when missed
  4. AI call agentrecords every outcome
  5. Event spineone shape for every source
  6. Per-tenant databaseisolation fails closed
  7. Nightly reportsattribution and funnel
  8. Dashboardper business
Business data such as bookings, point-of-sale and ad spend comes in through imports that are safe to run twice. Phone calls go to the venue during staffed hours and to an AI agent after hours or when nobody answers, and every outcome is recorded. All of it lands in one event shape, stored per business with isolation enforced by the database. A nightly job builds attribution and funnel reports that the dashboard reads.

Decisions that matter

  • One event shape for every source

    Calls, emails, bookings, ad data and reviews all become the same kind of event, with the same definitions for every business. A missed call means one thing everywhere, and adding a location is configuration, not a new pipeline.

  • Isolation enforced by the database

    Every tenant table carries its business ID and the database itself refuses rows from another business. The app connects as a role that cannot bypass that rule, so a missing check fails closed.

  • Rate limits that degrade, not fail

    Request limits are shared across servers through Redis. If Redis goes down, each server falls back to its own in-memory count instead of refusing traffic.

  • Boundaries checked on every build

    Automated rules stop the shared platform from reaching into an industry module, and stop one industry module from reaching into another.

Limits

It runs with one pilot venue so far. Calls use managed voice providers; a self-built voice relay is parked until the pilot passes its 90-day review.

Next projectPrediction-market trading system