๐Ÿ—

ROAST

Startup Survival Simulation


MakersLounge #11 ยท Toronto Tech Week ยท Track 3: Synthetic Customers

Nazanin Ghelichi ยท Solo Build

QR code roast.up.railway.app
Track 3 โ€” Synthetic Customers
WHY I BUILT THIS
90%

of startups fail โ€” most because they built something nobody actually wanted.

$50K+

average burned before a founder gets honest feedback from real users.

3 wks

minimum for a real focus group. Slow, expensive, and still only 8 people.

Real customer studies are slow, expensive, and often fail to surface what customers actually want.

The track asked us to fix that.

ROAST does it in 60 seconds.

WHAT ROAST DOES
1

You describe your idea

Min 140 characters โ€” enough detail for the AI to understand the product, market, and value prop.

2

4 synthetic customers are cast

An LLM infers your target market and generates 4 real distinct people โ€” names, ages, personalities, backstories. Nothing hardcoded.

3

They simulate 3 months of usage

Week 1 excitement, Month 1 habits, Month 3 truth. Each returns structured feedback: story, score, best/worst moment, willingness to pay.

4

The biggest fan debates the harshest critic โ€” 10 rounds

Alternating roasts, damage scores, life bars. Real disagreement, not a consensus machine.

5

A judge panel delivers the verdict

RAG-powered investor scores across 5 business dimensions + comparable startups + survival verdict. Then it roasts you.

HOW IT'S BUILT

6 Isolated LLMs

Every agent runs on a different model with its own API key and independent memory context. No shared reasoning. No cross-contamination. The disagreement is genuine.

Concurrent Pipeline

All 4 persona simulations run in parallel via concurrent API calls. Structured JSON output โ€” stories, scores, moments โ€” parsed with a fault-tolerant extractor that handles malformed responses.

RAG-Powered Judge

The judge retrieves a startup evaluation rubric at inference time and scores across problem clarity, market size, feasibility, differentiation, and revenue potential.

Fault Tolerance

Every LLM call has retry logic with fallback models. Casting tries 3 different models before failing. The app never crashes on a bad response.

Full Stack

Flask backend ยท Groq API ยท Chart.js ยท html2canvas PDF export ยท UUID result storage ยท Railway deploy

openai/gpt-oss-20b
llama-3.1-8b
llama-4-scout-17b
qwen3-32b
WHAT'S NEXT
๐Ÿ“„

PDF Brief Upload

Instead of a text box, founders upload a full product brief โ€” pricing, competitors, go-to-market, risks. LLMs react to real numbers, not guesses.

๐Ÿ“…

30-Day Live Simulation

Synthetic users post async over 30 days โ€” Week 1, Week 2, Month 1 updates. Opinions evolve. A living focus group, not a one-shot run.

๐ŸŒ

Public Thread (Reddit / Discord)

LLM personas post to a real public thread. Real humans can stumble in and reply. Hybrid synthetic + human feedback loop.

๐Ÿ”ฌ

Real RAG Database

Replace rubric.md with a vector DB of YC post-mortems, Crunchbase outcomes, and App Store retention benchmarks. Grounded in real startup data.

๐Ÿ—
TRY IT LIVE
roast.up.railway.app

6
isolated LLMs
4
synthetic users
3mo
simulated
10
debate rounds
~60s
to verdict

Built solo ยท One week ยท MakersLounge #11

โ† โ†’ NAVIGATE