Back to Projects
🟒 LIVE

Trader Titan

A market-making trivia game: bid a spread to win quoting rights, trade against the resulting market before and after a clue, and settle against the true answer over 5 rounds against 3 algorithmic bots.

Open Live App View on GitHub

TECH STACK

Next.jsTypeScriptZustandMarket MicrostructureGame DesignAlgorithm Design

Deep Dive

Each round opens on a trivia question with a numeric answer (a year, a count, a physical measurement). All four players β€” you plus three bots β€” blind-bid a spread width; the tightest bid wins the right to make the market, quoting a bid/ask and sizes the others can trade against. Everyone else can buy, sell, or pass twice per round: once before a clue narrows the true value, once after, with the market maker free to re-quote in between. P&L settles as cash plus final inventory times the true answer, so a bad quote (or a bad read on someone else's) has real consequences over the 5-round game.

The three bots run distinct valuation strategies rather than a single shared "AI": aggressive and conservative profiles both estimate the true answer from a random noise band around it (tighter for aggressive, wider for conservative) and trade whenever the market's bid/ask strays past their estimate by a profile-specific margin, while the random-profile bot deliberately ignores price altogether and trades on a pure coin-flip β€” a noise trader mixed in on purpose, not a placeholder.

Originally a stdlib-only Python terminal prototype; rebuilt as a client-side Next.js/Zustand port with a phase-driven state machine covering spread bidding through settlement, plus a genuinely new addition over the CLI: a configurable 5-30 second per-decision countdown, with safe defaults (forfeit the spread bid, post a minimal-exposure quote, pass, decline to re-quote) auto-submitted on timeout.