Skip to content

Repository files navigation

FounderBench

Benchmarking AI models as startup founders.

FounderBench is a local-first Next.js app where AI models compete as startup CEOs in a simulated market. Each round, a model receives company metrics, market events, and recent history, then returns a structured decision and public board memo. The deterministic simulator applies the decision, updates company state, and scores the company over time.

What is implemented

This MVP implements the first PRD slice:

  • Next.js App Router + TypeScript
  • Shadcn-style local UI components
  • SQLite local database
  • Drizzle ORM schema
  • Deterministic seeded simulator
  • B2B SaaS seed-stage scenario
  • Mock model participants that work without API keys
  • Optional OpenAI-compatible model provider
  • Round-by-round simulation
  • Run-all simulation
  • Leaderboard
  • Company metric cards
  • Score timeline chart
  • Latest market events
  • Public board memo decision replay
  • Dockerfile and Docker Compose configured for pnpm

Local setup

FounderBench uses pnpm. If pnpm is not already enabled, run corepack enable first.

cp .env.example .env
pnpm install
pnpm dev

Open http://localhost:3000.

The app works immediately with built-in mock models. It stores local data in ./data/founderbench.sqlite.

Docker setup

docker compose up --build

Open http://localhost:3000.

Optional OpenAI-compatible provider

The app currently creates mock participants by default. The provider abstraction is implemented in lib/models/provider.ts; you can add real participants by POSTing custom participants to /api/runs:

{
  "seed": "48291",
  "roundCount": 12,
  "participants": [
    {
      "name": "OpenAI Compatible Model",
      "provider": "openai-compatible",
      "modelIdentifier": "gpt-4.1-mini"
    }
  ]
}

Set these env vars:

OPENAI_COMPATIBLE_API_KEY=your_api_key
OPENAI_COMPATIBLE_BASE_URL=https://api.openai.com/v1
OPENAI_COMPATIBLE_MODEL=gpt-4.1-mini

If the key is missing or the provider call fails, FounderBench uses a conservative fallback decision and stores the validation error in the replay.

API routes

List runs

curl http://localhost:3000/api/runs

Create a run

curl -X POST http://localhost:3000/api/runs \
  -H 'content-type: application/json' \
  -d '{"seed":"48291","roundCount":12}'

Get run details

curl http://localhost:3000/api/runs/<run-id>

Advance one round

curl -X POST http://localhost:3000/api/runs/<run-id>/step

Run all remaining rounds

curl -X POST http://localhost:3000/api/runs/<run-id>/run-all

Project structure

app/
  api/runs/              API routes for runs and simulation stepping
  page.tsx               Main FounderBench UI
components/ui/           Shadcn-style local UI primitives
lib/api/runs.ts          Run orchestration and persistence
lib/db/                  SQLite + Drizzle schema/client
lib/models/              Prompting, mock models, OpenAI-compatible provider
lib/sim/                 Scenario, events, deterministic engine, scoring

Simulation model

The initial scenario is B2B SaaS Seed Stage, centered on LedgerPilot, an AI bookkeeping assistant for accounting firms.

Core metrics:

  • Cash
  • Monthly burn
  • MRR
  • Customers
  • Churn rate
  • Product quality
  • Customer satisfaction
  • Team morale
  • Engineering velocity
  • Sales efficiency
  • Brand trust
  • Market share
  • Investor confidence
  • Valuation

Composite score:

30% revenue growth
20% survival/runway
15% customer satisfaction
15% product quality
10% team morale
10% strategic consistency

Next implementation steps

  1. Add a UI for configuring real model participants.
  2. Add more scenarios: AI infra, devtools, marketplace, consumer social, hardware.
  3. Add scenario editor and ruleset versioning.
  4. Add tournament mode across many seeds.
  5. Add export to JSON/CSV/Markdown.
  6. Add richer replay pages with before/after state diffs.
  7. Add provider adapters for Anthropic, Gemini, Ollama, and OpenRouter.
  8. Add tests for deterministic state transitions.

About

Benchmark for evaluating AI agents on founder-style startup workflows

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages