Hi everyone! I built two small simulation apps based on Attack on Titan fan theories, and wanted to share them here because Streamlit made the “every assumption is a slider” idea really easy to build.
(Spoilers for the final season of Attack on Titan.)
Power without accountability
A walled city faces a rising threat. Each round, its ruler chooses to fortify, negotiate, or strike outside the walls. It compares a sole ruler, an accountable leader and a council of five.
App: https://walled-city-aot.streamlit.app/
Code: GitHub - sinchana-gv/walled-city · GitHub
The slow wave
My own “circular migration” theory for the Rumbling: a slow wave that crosses the world one region at a time while each region shelters on the island and returns after it passes. It includes Ackerman immunity, Eren’s friends acting freely, and how the Yeagerists respond.
App: https://slow-wave-aot.streamlit.app/
Code: GitHub - sinchana-gv/slow-wave · GitHub
How it’s built
- Plain NumPy and pandas for the simulation, Altair for the charts
- Every built-in effect is a sidebar slider, and setting it to 0 gives an honest baseline
- Each option is replayed on the same random seeds, so differences come from the choice, not luck
st.cache_datakeeps reruns fast for settings someone has already tried- Usage statistics are off in
config.toml
All the data is synthetic, so the results show what my assumptions imply, not anything about the real world. My favorite part was where the model argued against my own idea. I wrote about that here: https://medium.com/@sinchanagv24/i-turned-two-attack-on-titan-theories-into-simulations-one-argued-back-e4b0388850c5
I’d love feedback on the apps, or on any rule you’d write differently!

