Threshold
Threshold — A living market, simulated.
Core trick
A deterministic tick-based simulation resolves all purchase outcomes while LLM calls only propose and narrate, never set probabilities.
Description
Threshold — A living market, simulated. Describe a product and how you're advertising it, and instead of a single conversion-rate guess, Threshold builds a population of thousands of AI personas — each with a job, family, personality, and budget — who live out their days, get exposed to your ads, talk to each other, and either buy or don't, entirely deterministic and reproducible. Tech: Python/FastAPI backend running a deterministic tick-based simulation engine, React/TypeScript frontend, LLM layer on Gemini — gemini-3.5-flash for narration and Google's iAPI (Managed Agents, antigravity-preview-05-2026) running spotlight personas as real managed agents, with guarded fallback to plain Gemini. Every LLM call is structurally barred from touching a probability or outcome — it only proposes and narrates; a deterministic resolver decides everything real. A live command layer lets you inject campaigns, interview personas, and pull live metrics mid-simulation — the same router the Live API voice interface is built on top of. The output isn't one number: it's a causal path for a real buyer, the exact gaps that stopped near-misses from converting, a taxonomy of drop-off reasons, the optimal time to advertise, and a word-of-mouth network you can watch spread.
README excerpt
# Threshold **A living market, simulated.** Describe a product and how you're advertising it — Threshold doesn't predict an outcome, it builds the population that produces one. Thousands of AI personas, each with a job, a family, a personality, and a budget, live out their days: they get exposed to your ads, talk to each other, form opinions, and either buy or don't — all deterministic and reproducible, never an LLM guessing a number. On top of that deterministic core sits an agent layer where real Gemini-driven personas narrate their own days in character, and a live command layer lets you interject mid-simulation — inject a new campaign, interview a persona about why they haven't converted yet, or pull live metrics — and watch the world actually respond. The result isn't a single conversion-rate guess. It's a causal conversion path for a real persona, a list of near-misses and exactly what gap stopped them, a taxonomy of why people didn't buy, the optimal time of day to advertise (discovered from personas' actual routines, not assumed), and a word-of-mouth network you can watch spread. **Tech:** Python + FastAPI backend running a deterministic tick-based simulation engine (fatigue, word-of-mouth, mood/stress, finances, events); React + TypeScript + Framer Motion frontend. LLM layer runs on Gemini — `gemini-3.5-flash` for persona narration/insights, Google's **iAPI (Managed Agents / `antigravity-preview-05-2026`)** for spotlight personas running as real managed agents vi