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.