An open-source, self-hostable AI CMO β bring your own LLM, your own data, your own rules.
Features β’ Quick Start β’ Architecture β’ Contributing β’ License
What this is. An independent, open-source clone of okara.ai β a real, working implementation of the same "AI CMO" concept, built from scratch with its own codebase. It is not affiliated with, endorsed by, or derived from Okara's proprietary source. Every feature here is grounded in real crawled data and real API calls β no mock data pretending to be real, no invented content dressed up as AI output.
Connect any LLM provider β Anthropic, OpenAI, Google Gemini, or a fully local setup via LM Studio, Ollama, or any OpenAI-compatible endpoint. No provider is hardcoded as primary; you pick, per project, what does the work.
Five AI-generated documents per project β Product Information, Marketing Strategy, Competitor Analysis, Content Strategy, Design Guide β every one grounded in an actual crawl of your site (with a real headless-render fallback via Jina AI Reader for JS-heavy SPAs), never inventing a pricing tier, a customer segment, or a hex code it wasn't given. When the page doesn't say it, the document says so.
Point it at your site and it finds real competitors β web-search-grounded (via Tavily) when connected, falling back to the model's own knowledge otherwise β but every single candidate is verified with a real fetch before it's saved. A wrong guess just gets dropped, never presented as fact.
- SEO β real crawl-based audit, real Google PageSpeed Insights + Core Web Vitals when you connect a key, and an honest crawl-derived substitute (not a placeholder score) when you don't.
- Technical β real server timing (TTFB, TLS handshake, connection), render-blocking resource counts, deterministic content-relevance scoring, on-page checks β all computed from the actual response, not simulated.
- Links β real link extraction plus a bounded, explicit reachability check.
- Site Pages β a real multi-page crawl beyond the homepage, with the same JS-render fallback, plus opt-in real PageSpeed scoring per page.
- GEO β a real "AI citation gap" check: does your site actually show up when the live web is searched for queries around your product?
Articles and LinkedIn agents write from your full project context β product info, positioning, competitor landscape β not generic prompts. Reddit, X, GitHub, and Hacker News agents draft real content too; where a draft can't yet be posted through a live platform API, that's disclosed in the UI rather than silently pretended.
Every agent action β crawling, generating, discovering, checking β streams real status lines to a live terminal log. If something fails, you see the real error, not a spinner that quietly gives up.
git clone https://github.com/Kumar2421/okara-alternative.git
cd okara-alternative
npm install
npm run devSelf-host mode stores project data and provider configuration in local SQLite at data/okara.db.
The hosted build uses Supabase for authenticated, project-scoped persistence. Configure:
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Browser/server Supabase client |
SUPABASE_SECRET_KEY |
Server-only trusted database access |
Do not expose SUPABASE_SECRET_KEY to client code.
See docs/production-readiness.md for the production runtime contract and acceptance gate.
Next.js 16 (App Router) β one app, frontend + API routes, one deploy target
βββ app/api/** real backend logic
βββ lib/llm/* provider drivers behind a shared interface
βββ lib/domain/** agents & generators
βββ self-host: lib/db.ts local SQLite persistence
βββ platform: Supabase authenticated Postgres persistence
βββ components/** hand-built UI
The self-host and platform persistence paths are intentionally separate. A hosted platform deployment must not silently fall back to local SQLite.
Issues and PRs are genuinely welcome β this is early, opinionated, and built in the open. If you add a feature, hold the same bar the rest of the codebase does: real data or an honest "not available," never a plausible-looking fake.
Licensed under the GNU Affero General Public License v3.0. In short: you're free to use, modify, and self-host this β but if you run a modified version as a network service, you must make your source available to its users too. See LICENSE for the full text.
Not affiliated with Okara.ai. Built independently as an open alternative.