DEV Community

Elison Frankowski
Elison Frankowski

Posted on

SimCore: I built a social simulation engine where LLM agents live on a real map of your city

The idea

Most agent simulations run on abstract grids. I wanted something that feels personal — so I anchored the simulation to a real map.

When you run SimCore, it detects your location and resolves scenario places to real POIs via OpenStreetMap. "Town Square" becomes the actual square in your city. "Farm District" becomes real farmland nearby.

How it works

Agents have Big Five personalities, memories, relationships, and goals. Every tick (1 simulated hour), each agent observes their surroundings, thinks via LLM, and decides what to do: move, speak, trade, work, or rest.

Parallel decisions. Emergent conversations. Real crises.

What it looks like

The dashboard renders agents as avatars on a live Leaflet map. A breaking banner appears when significant events fire. When the simulation ends, an LLM writes a narrative chronicle of what happened.

Stack

  • Python 3.11 + FastAPI + asyncio
  • LiteLLM (Ollama local, OpenAI, Anthropic — or demo mode, no key needed)
  • React + Vite + Leaflet
  • OpenStreetMap via Overpass API

4 scenarios included

  • Outbreak — epidemic hits a small town
  • Marketplace — competing shops face a discount chain moving in
  • Urban Life — protests, politics, infrastructure failures
  • High School — cliques, drama, social pressure

Try it

git clone https://github.com/elisonfrank/simcore
cd simcore
pip install -e ".[dev]"
cd dashboard && npm install && npm run dev &
cd ..
python -m simcore.cli run scenarios/epidemic/config.yaml --dashboard --demo --speed 3.0 --port 8420
Enter fullscreen mode Exit fullscreen mode

GitHub: github.com/elisonfrank/simcore

Would love feedback — especially on scenario ideas and agent behavior.

Top comments (0)