Documentation

MASS Docs

Everything you need to understand how MASS works, from the agent architecture to the API reference.

Overview

MASS is a multi-agent startup simulator that turns a single business idea into a structured founder-style debate. Instead of generating a one-shot answer, it runs the idea through specialized AI agents — CEO, Finance, Marketing, Product, Sales — and a Supervisor that checks whether the team has actually reached workable consensus.

The result is a practical startup brief covering: mission, problem statement, target customer, business model, financial snapshot, go-to-market plan, MVP scope, revenue targets, key conflicts, and a final verdict.

The project ships with a Python backend (LangGraph + FastAPI) for multi-agent orchestration and a Next.js frontend with a terminal-inspired dark UI where users can submit ideas, watch agents debate in real time via SSE, and view structured results.

How It Works

The simulation follows a LangGraph state machine with conditional branching:

// Agent execution flow
USER ──→ Submit startup idea + context
CEO ──→ Vision, mission, competition, strategy
FINANCE ──→ Pricing, burn rate, runway, feasibility
SUPERVISOR ──→ Consensus check
├── NO consensus + rounds left → loop back to CEO
├── NO consensus + max rounds (3) → force move on
└── YES consensus → continue
MARKETING ──→ Go-to-market strategy (30 days)
PRODUCT ──→ MVP scope and features
SALES ──→ Revenue targets and pricing tiers
REPORT ──→ Final report + structured business plan

All agents read from and write to one shared state object. This keeps the workflow deterministic enough to inspect, while still allowing the LLMs to debate and revise their positions.

The Agent Council

CEO Agent
Persona: Steve Jobs + Elon Musk

Sets the startup direction, defines the mission, identifies the problem, names competitors, and makes strategic decisions. Applies first-principles thinking (Musk) and simplicity filtering (Jobs).

Finance Agent
Persona: Naval Ravikant

Challenges the CEO on pricing, burn rate, runway, and financial feasibility. Pushes back on unrealistic projections and ensures the numbers work for the given constraints.

Supervisor Agent
Persona: Strict consensus evaluator

Checks whether CEO and Finance have truly agreed. Runs violation checks against user constraints (e.g., bootstrap, India market). Only passes the plan forward if both sides lock on the same numbers.

Marketing Agent
Persona: Alex Hormozi

Designs the go-to-market strategy for the first 30 days. Focuses on customer acquisition channels, messaging, and growth tactics suited to the target audience.

Product Agent
Persona: Brian Chesky (Airbnb)

Defines the MVP scope. Decides what to build and what to cut. Focuses on the core user experience that can ship fast with minimal resources.

Sales Agent
Persona: Jason Lemkin (SaaStr)

Sets revenue targets, designs the sales funnel, and defines pricing tiers. Projects Day 30/60/90 MRR goals based on the business model.

Tech Stack

LayerTechnology
Agent OrchestrationLangGraph state machine
LLM AccessOpenRouter / OpenAI
BackendPython + FastAPI
Real-time StreamingServer-Sent Events (SSE)
FrontendNext.js 16, Tailwind CSS v4, TypeScript
Shared StateTypedDict
Structured OutputPydantic models
Output FormatsJSON, TXT, structured plan

API Reference

GET/

Health check — returns API status.

Response
{ "status": "MASS API running", "docs": "/docs" }
POST/simulate

Start a new simulation. Returns a job ID for tracking.

Request Body
{
  "idea": "AI resume builder for students",
  "target_audience": "college students",
  "market": "India",
  "revenue_model": "freemium",
  "constraints": "bootstrapped"
}
Response
{ "job_id": "abc-123", "status": "pending" }
GET/simulate/{job_id}

Poll job status. Returns results when done.

Response
{
  "job_id": "abc-123",
  "status": "done",
  "result": {
    "final_report": "...",
    "business_plan": { ... },
    "debate_rounds": 2,
    "messages_count": 8
  }
}
GET/simulate/{job_id}/stream

SSE stream of real-time agent activity events.

Response
data: {"type":"agent_start","agent":"CEO","round":1}
data: {"type":"agent_done","agent":"CEO","summary":"..."}
data: {"type":"supervisor_result","agreed":false,...}
data: {"type":"debate_loop","round":2}
data: {"type":"job_done"}

Real-Time SSE Events

Connect to GET /simulate/{job_id}/stream to receive real-time agent activity events via Server-Sent Events:

EventWhenKey Fields
agent_startAgent begins thinkingagent, round
agent_doneAgent finishesagent, round, summary
supervisor_resultSupervisor verdictagreed, reason, conflicts, forced
debate_loopLooping back to CEOround, reason
job_doneSimulation complete
job_errorSimulation failederror

Getting Started

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • An OpenRouter API key

Backend Setup

git clone https://github.com/mayankmalik263/Mass-Multi-Agent-STARTUP-Simulator-.git
cd MASS

python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux

pip install -r requirements.txt

copy .env.example .env
# Add your OPENROUTER_API_KEY to .env

Frontend Setup

cd mass-frontend
npm install

Running the App

# Terminal 1 — Start the API server
uvicorn api:app --reload

# Terminal 2 — Start the frontend
cd mass-frontend
npm run dev

Then open http://localhost:3000 in your browser.

License & Ownership

Ownership

MASS — Multi-Agent Startup Simulator — is the original work of Mayank Malik. The architecture, agent boundaries, debate flow, prompt engineering, state design, and UI were developed by Mayank Malik. AI tools were used as a productivity aid during development.

Copyright © 2026 Mayank Malik. All rights reserved.

MIT License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code provided that:

  • The original copyright notice and license text are included in all copies.
  • Proper attribution to Mayank Malik as the original author is maintained.

See the full license text in the Terms of Service or the LICENSE file on GitHub.