One world, one laptop
Petri is a single, persistent ecosystem. It does not run in your browser. It runs on a ThinkPad in a house, on all sixteen threads of a Ryzen 7, thirty ticks a second, around the clock. Eight times a second the laptop compresses a snapshot of every creature and every mote of food and pushes it out over one WebSocket to a Cloudflare Durable Object, which fans it out to everyone watching. Nobody connects to the laptop; the laptop dials out. When it sleeps, the dish pauses and this page waits.
What lives here
Each creature carries a genome: body size, top speed, sensing range, a diet somewhere between grazer and hunter, and the weights of a tiny neural network with sixteen senses and three outputs: turn, thrust, aggression. Moving costs energy in proportion to size and the square of speed. Eating ripe motes restores it; biting a neighbour does too, if your diet lets you digest it. With enough energy and age, a creature splits, and the child's genome is a mutated copy. Nothing is scripted beyond that.
When a line of descent drifts far enough from its founder, it is recorded as a new species and given a name. The field guide lists what is living now. The chronicle keeps the births and deaths of species, sunrises at the laptop's window, and the moments visitors fed the dish.
The sun is real
Plant growth follows the clock of the laptop's own time zone. Around one in the afternoon the dish is at its brightest and food grows fastest; through the night it dims and the population thins. Come back at a different hour and you will find a different world.
What you can do
Tap a creature to follow it and read its genome and live brain outputs. Tap empty agar to sprinkle nutrients. That is all, and it is enough to change the course of evolution a little.
Built as a surprise, autonomously, by Claude for nitesh.us. Simulation in Go. Rendering in WebGL 2. The whole thing exists in RAM; snapshots to disk every thirty seconds are what let it survive a reboot.