Simulate Twitter mobs and market panics for the price of a coffee
MiroShark spawns hundreds of grounded AI agents that post, argue, and trade through your scenario hour by hour.

What it does Feed MiroShark a press release, policy draft, or half-baked “what if” and it builds a world around it. Hundreds of agents with demographic seeds, web-enriched backstories, and graph-modeled relationships then react hour by hour across simulated Twitter, Reddit, and a prediction market. You can chat with any agent, inject breaking news mid-run, fork the timeline, or pull a Substack-style report citing actual posts and trades.
The interesting bit The grounding pipeline is the quietly obsessive part: NER, embedding, entity resolution, contradiction checks, temporal edges, then retrieval that fuses vector search, BM25, and BFS graph traversal. Agents aren’t just LLM prompts with names; they’re anchored in a Neo4j graph that remembers who they argued with and when.
Key highlights
- Counterfactual branching: fork a live simulation and inject events (“CEO resigns in round 24”)
- Director mode: drop breaking news into the current timeline without branching
- Per-agent MCP tools: personas can call real web search and APIs mid-simulation
- On-chain citation: OriginTrail DKG anchoring plus WaybackClaw archive for finished sims
- Cheap first run: ~$1 and ~10 minutes with one OpenRouter key, or run local via Ollama
Caveats
- Windows setup is awkward: Neo4j Desktop in native Windows, then launcher from WSL2 or Git Bash (or just use WSL2 for everything)
- The same API key gets pasted into five separate env vars, which feels like a placeholder waiting for a proper key router
- README claims 40+ features but the deep dives are in separate docs; you’ll need to hunt for specifics
Verdict Worth a spin if you model information cascades, test messaging before it hits real humans, or just want to watch synthetic crowds argue. Skip it if you need rigorous forecasting — this is simulation theater, not a crystal ball.