ChatbotX
Open-source ManyChat alternative, built for AI. Omnichannel marketing across WhatsApp, TikTok, Facebook, Instagram, Telegram, Zalo, Email, API, and Webchat 🤖
Outbranch turns cultural intelligence into real growth opportunities for your brand, company or IP.
MarketingTypeScript · CSSGitHub @ryl1kOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The problem. Brand partnership, licensing and expansion teams decide who to partner with and where to grow next using trend decks, consultant workshops and gut feel. It is slow, expensive and impossible to audit.
What Outbranch does. You type one brand, product, entertainment IP or website. An agent researches it, asks you to confirm what it found, maps what its audience loves with Qloo Taste AI, and returns a ranked shortlist of opportunities. Every idea shows:
Why Qloo matters. On identical inputs, 66% of the entities in Qloo-grounded ideas were real audience affinities, against 2% without Qloo (details).
| Screen | What it shows |
|---|---|
| Opportunity portfolio | Ranked ideas with category, evidence strength and the Qloo entities behind each |
| Cultural network | The brand at the centre, Qloo affinities around it, opportunities outside. Click an idea to trace its evidence back to the brand |
| Compare | Ideas side by side, including Qloo taste overlap between them |
| Deep dive | Market research, competition, financial assumptions (marked as estimates), risks, validation plan, next steps |
| Refine | Exclude ideas or narrow markets and categories, then rerun as a new iteration |
| Reports | Printable briefs and Markdown export |
| Research log | Each run drawn as a graph of its AI calls, web searches and Qloo requests |
Three kinds of knowledge are always kept apart: Qloo signals, sourced facts and AI hypotheses. Proposed partners are labelled as proposals, and no screen shows an invented market size or success probability.
flowchart LR
A[Brand, IP or URL] --> B[Identify<br/>Claude + web search]
B --> C[Research profile<br/>sourced claims]
C --> D{You confirm}
D --> E[Qloo /search + /v2/tags<br/>entities and themes]
E --> F[Qloo /v2/insights<br/>affinities + explainability]
F --> G[Hypotheses<br/>must cite Qloo]
G --> H[Commercial research<br/>web search + fetch]
H --> I[Ranking in code<br/>8 criteria]
Research runs as durable Inngest workflows, so every step is retried, cancellable and resumable, with live progress in the browser.
docs/evaluation/ablation.md gives the same model, prompt and confirmed profile to two arms, one with Qloo and one without.
| Liquid Death, measured | With Qloo | LLM only |
|---|---|---|
| Named entities that are real audience affinities | 66% (21 of 32) | 2% (1 of 48) |
| Ideas with at least one verifiable cultural link | 7 of 7 | 1 of 8 |
| Distinct verified cultural domains | 4 | 1 |
This measures groundedness, not commercial success; the write-up explains the limits. The ablation used Claude Sonnet 5.5 and can be rerun with scripts/ablation.ts.
| Layer | Tools |
|---|---|
| Cultural intelligence | Qloo Insights API: /search, /v2/tags, /v2/insights, /v2/analysis/compare |
| AI | Anthropic Claude Haiku 5.5 with server-side web search and fetch, zod-validated outputs |
| Agent runtime | Inngest durable workflows, Server-Sent Events for live progress |
| App | Next.js 16, React 19, TypeScript, Tailwind CSS 4, shadcn/ui, React Flow |
| Data and auth | PostgreSQL on Neon, Prisma 7, Auth.js (guest, email, GitHub) |
| Hosting and billing | Vercel, plata by mono |
| Quality | Vitest (89 tests), Playwright, GitHub Actions |
You need: Node 22+, Docker, an Anthropic API key and a Qloo API key.
cp .env.example .env # add ANTHROPIC_API_KEY, QLOO_API_KEY and AUTH_SECRET (npx auth secret)
docker compose up -d db # Postgres on localhost:5442
npm install
npx prisma migrate deploy
npm run dev # http://localhost:3000
npm run inngest # second terminal: runs the research jobs
Then open http://localhost:3000, choose Continue as guest and start New research.
PROVIDER_MODE=fixture. Cultural data is then synthetic and every screen shows a Simulated data badge.INNGEST_SIGNING_KEY set, jobs go to Inngest Cloud instead of your local dev server.npm run db:seed creates a clearly simulated showcase project.| Command | Purpose |
|---|---|
npm run check | Lint, typecheck, unit and integration tests |
npm run test:e2e | Playwright journey and accessibility tests (desktop and mobile) |
npx tsx --conditions=react-server scripts/ablation.ts <projectId> | Rerun the Qloo ablation for a finished project |
npx tsx --conditions=react-server scripts/showcase.ts <projectId> | Publish a finished project as the read-only showcase |
Integration tests use a separate database. Create it once:
docker exec outbranch-db-1 psql -U outbranch -c "CREATE DATABASE outbranch_test"
DATABASE_URL=postgresql://outbranch:outbranch@localhost:5442/outbranch_test npx prisma migrate deploy
Qloo responses are cached privately in Postgres for provenance and are never committed to this repository. API keys stay on the server and never reach the browser, logs or reports.