<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Elison Frankowski</title>
    <description>The latest articles on DEV Community by Elison Frankowski (@elison_frank).</description>
    <link>https://dev.to/elison_frank</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3903082%2F0808355a-3422-4868-80cb-a679b096e362.jpg</url>
      <title>DEV Community: Elison Frankowski</title>
      <link>https://dev.to/elison_frank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/elison_frank"/>
    <language>en</language>
    <item>
      <title>SimCore: I built a social simulation engine where LLM agents live on a real map of your city</title>
      <dc:creator>Elison Frankowski</dc:creator>
      <pubDate>Tue, 28 Apr 2026 20:04:16 +0000</pubDate>
      <link>https://dev.to/elison_frank/simcore-i-built-a-social-simulation-engine-where-llm-agents-live-on-a-real-map-of-your-city-1l2o</link>
      <guid>https://dev.to/elison_frank/simcore-i-built-a-social-simulation-engine-where-llm-agents-live-on-a-real-map-of-your-city-1l2o</guid>
      <description>&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;Most agent simulations run on abstract grids. I wanted something that feels personal — so I anchored the simulation to a real map.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Parallel decisions. Emergent conversations. Real crises.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it looks like
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.11 + FastAPI + asyncio&lt;/li&gt;
&lt;li&gt;LiteLLM (Ollama local, OpenAI, Anthropic — or demo mode, no key needed)&lt;/li&gt;
&lt;li&gt;React + Vite + Leaflet&lt;/li&gt;
&lt;li&gt;OpenStreetMap via Overpass API&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4 scenarios included
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Outbreak&lt;/strong&gt; — epidemic hits a small town&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketplace&lt;/strong&gt; — competing shops face a discount chain moving in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Urban Life&lt;/strong&gt; — protests, politics, infrastructure failures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High School&lt;/strong&gt; — cliques, drama, social pressure&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/elisonfrank/simcore
&lt;span class="nb"&gt;cd &lt;/span&gt;simcore
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s2"&gt;".[dev]"&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;dashboard &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run dev &amp;amp;
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
python &lt;span class="nt"&gt;-m&lt;/span&gt; simcore.cli run scenarios/epidemic/config.yaml &lt;span class="nt"&gt;--dashboard&lt;/span&gt; &lt;span class="nt"&gt;--demo&lt;/span&gt; &lt;span class="nt"&gt;--speed&lt;/span&gt; 3.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8420
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/elisonfrank/simcore" rel="noopener noreferrer"&gt;github.com/elisonfrank/simcore&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback — especially on scenario ideas and agent behavior.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>llm</category>
      <category>python</category>
      <category>simulation</category>
    </item>
  </channel>
</rss>
