Drop in a URL. Get a Chief Marketing Officer.
AI agents that audit your site, map your competitors, and find your brand voice — in seconds.
Hiring a CMO costs $200k/year. Good ones take months to ramp up.
Backboard CMO does it in 60 seconds.
Type in any URL. Four AI agents fire up in parallel — they read your site, search the web, and hand back:
- A site audit with real scores (performance, SEO, accessibility, best practices)
- A competitor landscape with categories and pricing
- A brand voice profile so your copy sounds like you
- A ranked list of SEO fixes with step-by-step instructions
- An AI chat interface so you can keep drilling into next steps
No prompt engineering. No setup. Just a URL.
Type a URL → watch the terminal run → read your marketing brief
> Checking what content and documents you have...
> Content and documents summarized.
> Now let me check out your competition...
> Searching: yoursite.com competitors alternative
> Evaluating competitor's positioning strategy...
> Competitor analysis complete.
> Now let me figure out your brand voice...
> Brand voice guide ready
> Running website audit...
> Scanning page structure and metadata...
> Page speed and core web vitals measured
> Found 7 SEO optimization opportunities (score: 64/100)
| Website Audit | Performance, SEO, Accessibility, and Best Practices scores with specific failing checks and how-to-fix guides |
| Competitor Intel | Direct vs. secondary competitors with pricing — sourced live from the web |
| Brand Voice | 2–3 sentence brand profile your team can actually use |
| SEO Fix Queue | Ranked issues (Critical → High → Medium) with numbered remediation steps |
| AI CMO Chat | Ask follow-up questions about your audit — it remembers context |
| Live Terminal | Real-time SSE stream so you see agents working, not a spinner |
| Layer | Tech |
|---|---|
| AI Agents | Backboard.io — threads, assistants, web search |
| API | FastAPI + Uvicorn, Server-Sent Events |
| Frontend | Next.js 15, Tailwind CSS |
| Runtime | Python 3.11+ via uv, Node 18+ |
| Schemas | Pydantic v2 |
git clone https://github.com/Backboard-io/openokara.git
cd backboard-cmo
# Python deps
uv sync
# Frontend deps
cd web && npm install && cd ..cp .env.example .envBACKBOARD_API_KEY=your_key_here
# Assistant IDs — created once, reused forever (never delete these)
BACKBOARD_ASSISTANT_CONTENT=asst_...
BACKBOARD_ASSISTANT_COMPETITOR=asst_...
BACKBOARD_ASSISTANT_BRAND=asst_...
BACKBOARD_ASSISTANT_AUDIT=asst_...Get a free Backboard API key at backboard.io. Create your four assistants once and paste the IDs here.
./start.shAPI → http://localhost:8000
App → http://localhost:3000
User enters URL
│
▼
FastAPI /runs ──────────────────────────────────────────────┐
│ │
│ SSE stream → browser terminal │
▼ │
┌─────────────────────────────────────────────────────────┐ │
│ Orchestrator Pipeline │ │
│ │ │
│ 1. Content Agent → summarize site + docs │ │
│ 2. Competitor Agent → find rivals, pricing │ │
│ 3. Brand Agent → extract voice & tone │ │
│ 4. Audit Agent → scores + SEO checks + fixes │ │
└─────────────────────────────────────────────────────────┘ │
│ │
└──────────────── RunStatus (Pydantic) ─────────────────┘
│
GET /runs/{id}
│
Next.js dashboard
(audit · competitors · chat)
Each agent is a Backboard assistant with live web search enabled — no stale training data, no hallucinated competitors.
backboard-cmo/
├── app/
│ ├── main.py # FastAPI routes + SSE
│ ├── orchestrator.py # Agent pipeline
│ └── schemas.py # Pydantic models
├── web/
│ ├── src/app/ # Next.js pages
│ └── src/components/ # UI components
├── scripts/ # Smoke tests
├── pyproject.toml # uv/hatch config
└── start.sh # Clean start script
POST /runs body: { website_url } → { run_id }
GET /runs/{id} → RunStatus JSON
GET /runs/{id}/stream → SSE terminal lines
POST /runs/{id}/chat body: { message } → { reply }Pull requests welcome. Please keep it surgical — one concern per PR.
- Backend logic lives in
app/only. No logic in the frontend. - Pydantic models for all data shapes.
uvfor Python deps,npmfor frontend.- Never delete Backboard assistants — they carry persistent data.
- Backboard.io — AI agent infrastructure
- FastAPI
- Next.js
- Tailwind CSS
- shadcn/ui
Made with ☕ and too many competitor analyses.
backboard.io
