Foundation build · v0

Answer what your audience is actually asking — every day, in your own voice.

An engine for expert brands: listens, drafts, waits for a trusted human, then publishes. Multi-tenant, immutable revisions, second-person approval, sticky publish, per-platform delivery.

What just shipped

  • · Tenants, memberships, five roles, platform admins
  • · Per-tenant pack: normalized allowlists + JSONB, versioned voice prompt
  • · Uploaded questions & Q&A pairs with embedding columns
  • · Content pipeline: single items, immutable revisions, append-only status history
  • · Status only moves through named RPCs (submit / approve / reject / publish / archive)
  • · Second-person rule: a reviewer cannot approve their own draft
  • · Published is sticky. Archive is the exit.
  • · Per-platform deliveries child table for the external engine
  • · Media assets + usage events
  • · Row-level security everywhere, security-definer helpers to avoid recursion

Next

Sign-in (email + Google), platform-admin bootstrap, and the tenant-config surface — the heart of this — come in the next turn.