Projects
The thesis-carrying work lives in the case studies. This is everything else — research instruments, simulations, graphics, games — write-ups for the ones that earned them, and the rest fed straight from GitHub.
Write-ups
- Graphics
Cambrian — a 3D artificial-evolution toy
Grow a random alien from a generative genome, then mutate and select it across generations — steer a blob toward a rodent toward a shark. Purely for the fun of it.
- TypeScript
- React Three Fiber
- Vite
- Games
Omnia — a deterministic "everything simulator"
A living town of hundreds of agents who work, marry, and die across generations — an ECS simulation with deterministic replay, invariant checking, and local-LLM agent minds kept off the hot path.
- TypeScript
- ECS
- Ollama
- Games
Tavern — AI companions for Warcraft 3
Free, offline local-LLM teammates and opponents for Warcraft 3: they chat, take voice commands, strategize over AMAI, and trash-talk — all on a LAN, no cloud.
- Python
- TypeScript → Lua
- Ollama
- whisper.cpp / Piper
- Research
LSAP-1 — an instrument for measuring prose
A pilot protocol that scores a passage of fiction on thirty anchored axes — and a generation engine firewalled from the analyzer, so measurement can never quietly become imitation.
- Python
- FastAPI
- React
- scikit-learn
Live from GitHub
Every public repo that doesn't already have a case study or write-up elsewhere on the site — pulled straight from the account and refreshed hourly.
le-chat-cafe
An old-school chat room, but every other "person" in it is an LLM. Part social simulator, part multi-agent LLM playground, part nostalgia trip for IRC/AIM-era chat.
Civilodynamics
The quantitative science of how civilizations maintain coherence, accumulate stress, approach phase transitions, and reorganize — with attention to information architecture. A falsifiable, pre-registered, open research program extending cliodynamics.
Essays-on-Technology-Ethics-and-Society
Essays exploring the intersection of technology and society. Written by me.
tree-based-griefer-list
Sorts a list of griefers into an AVL or scapegoat tree depending on recieved command. Can process over one hundred thousand inputs in less than 1 second.
autoloot
An autoloot module that uses dynamic programming to solve the 0-1 knapsack problem.
Armored-Soul-Prototype
Roguelike RPG game prototype written in Python.
FTP-client-server
A miniature FTP client-server system.