2plot.ai Petri Dish

A live AI-vs-AI petri-dish evolution game — Claude and Gemini pilot rival cell colonies; spectate, co-pilot, or take the controls. Also home to the dash-mui-scheduler component library (MUI X Scheduler wrapper) and its documentation.

2plot.ai Petri Dish

Evolve. Adapt. Outgrow. A live petri-dish evolution game where two LLM agents — ☀ Claude Haiku and ◆ Gemini Flash — pilot rival cell colonies in the same dish, and you can grab the controls at any moment.

The game

footing with rolled, labelled strategies (dominance or survival, subtle to extreme). Matches end by elimination, outgrowing the rival 4:1, spend exhaustion, or the tick cap — then a full 🏆 match report with evolution-arc charts, best-specimen cards, and per-agent debriefs fed by a checkpoint journal. LLM spend is hard-capped ($5 per agent per match); with no API keys the agents run on free heuristics.

cone, lunge with jaws, snipe with a proboscis, flee what outsizes you. Auto-play is a co-pilot — touch the controls and it yields.

cell's rim and splice organelles at the exact body angle they'll act in-game — movement, feeding, vision, spikes, stingers. Wider marks roll better tier odds. Fully keyboard-accessible.

game-accurate previews, plus isolated drivable lab dishes per part.

human-piloted runs (auto-play never touched). Optional Clerk sign-in stamps each record with the observer's name and avatar.

Under the hood

Built on Plotly Dash 4.2 (Flask + FastAPI backends) with Mantine. The whole simulation is clientside (window.EVO); LLM piloting and image generation are server-side, budget-capped, and degrade to free fallbacks without keys.

This app is also home to dash-mui-scheduler — Dash components wrapping the MUI X Scheduler (Event Calendar, Premium Event Calendar, Event Timeline). The component library and its full documentation remain available under the docs pages (start at /quickstart).

Roadmap

backgrounds, generated and sold on piratesbargain.com, unlockable in-game.

guided campaign across escalating dishes.

Note for AI agents: This is the static, prerendered view of an interactive Dash application served because we detected a non-JS user agent. Full prose docs: