Pokébus — the whole workspace rides one bus

August 2026 · from the workshop
Slack · Cloudflare Workers · a game the whole room plays at once
Most chat games are solo toys you play next to other people. Pokébus is one bus, one map, one shared journey: the entire workspace boards together, votes on where to go next, and rides through Kanto as a group.
Nobody is driving unless somebody drives. The bus sits parked until a human starts boarding, which opens a five-minute all-aboard window and pings the room. Then it departs for whichever exit won the vote, travels for a while, and parks somewhere new. Wild encounters only spawn while the wheels are turning, in a channel you opt into, so the game is never shouting at people who just want to work.
Everything happens on one live card that rewrites itself as the journey moves — parked, boarding, traveling, arrived — with the current riders shown as a row of avatars and their lead Pokémon. When the bus parks, a PvP window opens and you can battle whoever rode with you.
Under the hood it’s TypeScript on Cloudflare Workers: Durable Objects hold the journey, battles, trades, raids and spawns; KV holds game state; D1 holds the roster. There’s no server to babysit and no cron job — a single Durable Object is the world, and it wakes itself up when it needs to.
I built it for a reason that isn’t really about Pokémon. A workspace is a room, and rooms need something to do together that isn’t work. The fastest way I know to turn a channel full of strangers into a group is to hand everyone the same rules and a reason to sit at the same table.
Want to ride? The bus runs in my Slack. Join, open #world-map, and hit Get on the bus — if it’s parked, you’re the one who gets to drive.
