Multi-tenant AI orchestration for the agencies behind today's voices. Persona, content, inbox, and moderation agents propose every post — and nothing publishes until the talent clicks approve.
Dr.Social separates each role's surface so nobody touches what they shouldn't — and nothing publishes without the talent's click.
Run a tenant. Sign on as many talents as you can serve. The dashboard surfaces queues, inboxes, accounts, and growth — across every talent under your roof — without leaking data between them.
One personal portal. See every draft, approve per-platform, request specific posts by email or form, watch your own growth. Your account doesn't move without your hand on the steering wheel.
One FastAPI service on Railway: api + worker + ticker in one process. Schema in plain SQL migrations. Every action is an auditable MCP tool call. No ceremony, no black box.
Four steps. The AI does the drafting; the talent does the approving; the platform does the publishing.
Profile, voice, pillars, do-not-say list. Or paste their public socials and let the agents pull a starting kit automatically.
One OAuth click per platform — LinkedIn, X, YouTube, Facebook, Reddit, Instagram-read. Tokens vaulted, channel locked.
The persona agent picks a pillar; the content agent writes platform-native copy; the moderation agent filters before the talent sees it.
Drafts land in a per-platform approval queue at /talent/<slug>. One click → live on the wire. Anything not approved stays a draft.
Drafts arrive at /talent/<slug> with the platform, the copy, and the media side by side. Approve per-platform — what reads well on LinkedIn shouldn't always go out on X.
Four decisions that aren't on the demo, but show up every day in production.
Every account is bound to one execution channel forever — DB trigger enforces it. No accidental cross-pollination, no token reuse.
Vendors with their own MCP server plug in directly. Composio is the fallback for platforms without one — config, not code.
Tenant isolation is enforced at the database, not the application. Composite foreign keys make cross-tenant attachment impossible by design.
API + worker + ticker in one FastAPI service. Single Dockerfile, single Railway deploy, single set of logs. Splits cleanly if you ever need it.
The first ship is here. Walk every page; the design intent is the same as the production behavior.