Skip to content

dusanmarsa/validvision

Repository files navigation

ValidVision

Multi-persona AI panel that pressure-tests startup ideas — with web-grounded objections

Status: early prototype. Built to learn applied agent engineering. The core engine works end-to-end locally; this is not a polished product.


What it does

You give it an idea. It runs a panel of distinct AI personas — each with a role, profile, and stance. Personas search the web for evidence as they argue. A moderator agent steers phases and produces a final synthesis.

The goal isn't to predict whether the idea is good. It's to stress-test it from many angles, with sources, fast — so the founder spends their real customer-research time on sharper questions.

Why this, not a single ChatGPT prompt

A single-prompt panel is one model wearing five hats. ValidVision runs each persona as its own agent, with separate memory, role, and tool access. The differences that matter:

  • Distinct voices. Each persona is a separate agent with its own profile and reasoning trace.
  • Web grounding. Personas call Exa search mid-discussion to back claims with real sources.
  • Structured workflow. Multi-phase discussion with state that compounds — not free-form chat.
  • Transparent. Every message tags sentiment and exposes the tool calls + results behind it.
  • Streaming. Live transcript via Mastra's workflow streaming, surfaced through Next.js.

Running locally

You need Bun, an OpenAI key, and an Exa key.

bun install
cp .env.example .env        # then fill in OPENAI_API_KEY and EXA_API_KEY

# install pinned agent skills (Mastra, Prisma, shadcn, etc. — see skills-lock.json)
bun run skills:install

# initialize the local SQLite DB + seed
bun run db:migrate
bun run db:seed

# Run the app
bun dev # runs the mastra and Next app in paralel

Open http://localhost:3000. In dev mode the app auto-logs in as the seeded dev user.

Required env vars

See .env.example for the full list. Minimum:

  • OPENAI_API_KEY — for the persona + moderator agents
  • EXA_API_KEY — for web search (free tier works for local play)
  • DATABASE_URL — defaults to file:./dev.db
  • NEXT_PUBLIC_MASTRA_URL — defaults to http://localhost:4111

About

Resources

License

Stars

Watchers

Forks

Contributors