Control board & Today
Your daily mission control — what is urgent across every prospect and client, pulled live from the brain so nothing slips.
Agentic Control Center is an AI-augmented CRM for grant and web-credibility consulting. It pairs a ranked prospect pipeline with a team of scoped AI agents and a privacy-first, local-brain design. This page covers what it is, how to use it day to day, and how to set it up and repurpose it for a new client.
Most CRMs are filing cabinets. Agentic Control Center is closer to a small company: a workspace where a pipeline of prospects is worked by a team of AI teammates, each with a defined role and a strict need-to-know boundary. You stay the decision-maker — the system surfaces, drafts, and recommends, and waits for you to act.
Your brain (a markdown vault) plus the agents that reason over it. This is where the real work happens, on your machine, on your subscription.
A read-only, access-gated view of a privacy-filtered snapshot — for checking the pipeline on the go or sharing with a teammate. It never holds the full brain.
Everything you see is rendered from your brain — edit a profile's file and the app reflects it. These are the places you will spend your time.
Your daily mission control — what is urgent across every prospect and client, pulled live from the brain so nothing slips.
Every prospect in one ranked list — fit, credibility score, funnel stage, and the recommended next move, so you always know who to work next.
A deep page per prospect or client: contact, scan findings, grant opportunities, deliverables, and outreach — every fact sourced from that profile's brain file.
The GrantedSC Deep Scan and credibility score translate a nonprofit's public footprint into specific, fixable, fundable gaps — the substance behind every outreach.
Generate email and LinkedIn drafts in your voice, grounded in real specifics about the prospect. You review and send — nothing ever goes out on its own.
A single queue — with a live count in the nav — for everything waiting on your sign-off, chiefly drafted outreach. Preview it, approve and send, or mark it done; the badge clears as you go.
Your roster of AI teammates — see who does what, what each is cleared to know, and hire a new role-matched one in a click.
Talk to the whole team in one thread — pick who answers (@mention or toggles) or ask everyone at once. Dictate with your voice (mic), and a teammate can hand a task to the orchestrator in one click.
Everything every teammate has scheduled, on one surface — month, week, agenda, and a team swimlane — color-coded per agent and shown with their photo. Click any day or time slot to create and assign a task; agents can schedule for each other right from chat. Times run on Eastern (EDT).
Press ⌘K for a command palette that searches everything — views, agents, clients, products, tasks, settings — and jumps there instantly. Press ? for the keyboard-shortcut menu.
The whole outreach loop lives in the app: a teammate drafts, you review and approve, the message goes out under your hand, and your CRM stays in lockstep — without anything firing on its own.
Drafted outreach lands in the review queue. Read it, edit the brain if needed, then approve and send from the app — or copy it into your own mail client. The funnel stage advances the moment it goes.
A dry-run renders the exact message that would go out — sender, recipient, subject, body — without sending anything, so you see precisely what lands before you commit.
Sending is one explicit click behind a confirm. A draft with an unfilled placeholder is refused, a warm-up cap limits how many leave per run, and a missing key fails safe — never a surprise blast.
A sent message is mirrored into your CRM as a note on the matching record, best-effort and automatic — so the CRM stays current without any copy-paste.
The next action for each prospect — first touch, follow up, book the call — is generated from its funnel stage as a task in your CRM, linked to the record and refreshed as the stage changes.
Work is divided the way a careful team divides it: one person holds the full context and hands out only what each teammate needs. That structure is what keeps sensitive information contained.
A single full-context agent routes work and assembles context for the rest. It is the only agent that ever touches the full brain or any sensitive detail.
Most teammates run scoped — sandboxed, with only the need-to-know slice the orchestrator hands them, never raw PII. Senior roles that can't work without the full picture (biz-ops; a direct-outreach agent that needs the contact list) can hold the full brain — and you grant or revoke that per agent behind an auth-gated toggle.
Each skill declares the data it touches and the tools it may use. Agents are provisioned with exactly the skills their role needs — nothing more.
Add a new employee with role-matched skills as data — no code change, and they're immediately chat-able in the same thread. New hires are always scoped; the platform can never mint a second full-brain agent.
It's a group chat. Tag one teammate, several, or everyone; each answers in their own voice. If a message isn't clearly theirs, they hand off or ask a quick clarifying question — like real coworkers, not a prompt box.
When a scoped teammate needs something only the orchestrator can pull, they flag it and you get a one-click hand-off. The orchestrator picks it up in the same thread and finishes the job.
Provision a code-capable engineer role and ask it for a change in plain language. It proposes the work on an isolated branch and hands back a diff for you to review — it never merges, pushes, or deploys on its own.
A graphic-designer agent generates brand-safe visuals — patterns, backgrounds, logos, social graphics — from a brief. For logos and headlines it composites real, crisp type over the AI art, so the spelling is never wrong.
Teammates answer in clean formatted text — headings, lists, bold — and one click copies a reply with its formatting intact, ready to paste straight into a doc or email.
Privacy is not a setting here — it is the architecture. These guarantees hold by construction, so confidential detail cannot drift to where it does not belong.
Brain access is set per agent — scoped by default, full only where a role demands it — and changing it is gated behind a password. Scoped teammates physically cannot reach the full brain; the boundary is enforced by the workspace, not by trust.
The Agentic Control Center continuously scans for drift — a record created twice, a fact that disagrees with itself, an identifier shared across two orgs — and flags it to the orchestrator. So when an agent or teammate creates something where data already exists, you find out instead of quietly forking the truth.
Candid, off-the-record notes live in a private area of the brain that is excluded from the published data set. They never reach the hosted database or any client-facing screen.
Outreach is drafted against a sanitized copy of a profile with the private area stripped out, so an off-the-record note can never leak into an outbound message.
Every external action is drafted and staged for your review. Sending is one explicit click behind a confirm, capped during warm-up, and refused if a draft still has an unfilled placeholder. The platform waits; a human is always in the loop.
The reasoning runs on your machine against your own brain. The hosted app is a read-only view of a privacy-filtered snapshot — the full brain never leaves home.
When the engineer agent makes a change it happens on a throwaway branch in a sandboxed copy — never your live files. You review the diff and merge; nothing reaches the main branch, the remote, or a deploy without you.
The whole workspace is operable by ear, by voice, and by keyboard — and the accessible sites the platform builds carry the same tools to the people they serve. Settings live at /settings/accessibility (the gear in the bottom-left dock).
Read any page aloud — or just the text you select, or each control as you focus or hover it. Free browser voices by default, or premium ElevenLabs voices when a key is set. The accessible sites the platform builds get the same reader, pre-recorded once so it plays free and offline.
Dictate into any chat with the mic. The browser's recognizer is free; ElevenLabs Scribe gives higher accuracy in every browser when a key is set.
High contrast, larger text, dyslexia-friendly font + spacing, a reading guide that tracks the cursor, a bigger cursor, stronger focus rings, always-underlined links, and a reduce-motion override — each one toggle, remembered per device.
Translate the interface — or a client site — into other languages on the fly (Gemini), and have the reader speak it in that language. English, Spanish, and more.
The platform is built to be re-pointed at a new client without a rewrite. The brain is portable, the brand is centralized, and the privacy boundary travels with it.
All knowledge lives in a plain-markdown vault you own and can edit in any editor. The app reads it; it is never locked inside a database.
A publish step serializes a filtered view of the brain — private areas removed — into a hosted database, so the shared app is read-only and safe.
Agent runs happen on your machine via the local CLI, billed to your own subscription. The hosted plane has no model access and stages nothing sensitive.
The full brain, every agent run, all PII and candid notes, and any draft before you approve it. None of this is required to be online.
Only the privacy-filtered snapshot — the read-only pipeline and profiles, minus private areas — behind an access gate.
A guided intake at /onboarding captures the org, invites teammates by role, and seeds the agents — the starter team or your own (typed in or pasted as CSV). Nothing emails on its own; invites are yours to send.
The whole app themes from a small token set, so a brand that doesn't suit dark gets a clean light mode with one toggle — alongside its own logo, name, and accent.
Configuration is deliberately small. A handful of environment variables decide where the brain lives, how the instance is branded, and whether the app runs in full local mode or as the read-only hosted view.
The hosted view sits behind a single access gate. Sign in once per device and the session is remembered — there are no per-screen logins. Locally, with no gate set, the app is wide open for you.
Product name, firm, region, audience, accent color, and logo come from a handful of environment variables. Or use the Brand Studio (/settings/brand) for a live-preview GUI that white-labels and provisions a fresh branded instance in one click.
One command scaffolds a fresh brain skeleton and brand file for a new client. It writes local files only and never takes an external action — so you can stand up a clean instance in seconds, then fill in the brain.
One command scaffolds the brain skeleton and brand file for a new client. It only writes local files — it never deploys or reaches the network.
npm run provision -- --name <Client>Names only — never commit secret values. This is the full set of knobs and where each one applies.
BRAINSTEM_VAULT_PATHLocalAbsolute path to the markdown brain the local app reads. Point it at a new client's vault to re-home the entire workspace — pipeline, profiles, and team all follow.
NEXT_PUBLIC_BRAND_*BothThe brand shell: product and firm name, firm URL, tagline, region, audience, accent color, and logo. Not secrets — safe to commit per instance.
GEMINI_API_KEYBothEnables the AI features: image/design generation (the Design Studio + agent headshots) and on-the-fly translation. Free tier at aistudio.google.com.
ELEVENLABS_API_KEYBothOptional premium voice: high-quality screen-reader narration and Scribe speech-to-text. Without it, the free built-in browser voice + recognizer are used. Pre-baking site audio (npm run prebake-tts) lets a deployed site read aloud at zero runtime cost.
APP_PASSWORDHostedThe access gate for the hosted view. When set, the whole app is gated; when unset (local dev), the app is open. Required online.
SESSION_SECRETHostedSigns the session cookie for the hosted gate. Set it to a long random string in production.
SUPABASE_URL · SUPABASE_SERVICE_ROLE_KEYHostedConnection to the privacy-filtered snapshot database. Only the cloud plane uses these; the local app reads the brain directly and needs neither.
BRAINSTEM_DATA_BACKENDHostedSwitches the app into read-only cloud mode when set to the hosted backend (also auto-detected on the hosting platform). Leave unset locally for full agent power.
Planned capabilities, in rough priority order. The bar for shipping is the same as everything above: privacy by construction, and a human in the loop for anything that leaves the building.
Agentic Control Center surfaces, drafts, and recommends. It never sends, posts, or shares on its own, and confidential detail never leaves the local brain. You stay in control of every move that touches the outside world.
GrantedSC · built to be repurposed