Project · In development · Software · Simulation
Modern Workplace: an office that gossips
A persistent simulation of a fictional British office floor, where every rumour can be traced back to who told whom.
- automated tests
- 89
- people on the office floor
- 14
- anonymous whispers a day
- 3
- of one Pi core when live
- <1%
Summary
Fourteen invented people at a fictional outsourcing firm come in, work, queue at the printer, sit through meetings that overrun and talk about each other, on real UK time, whether or not anyone is watching. What happened, what each person saw, what they were told and what they say in public are kept separate, so a rumour has to be passed from person to person to spread, and changes in the telling. Viewers get three anonymous whispers a day to leave on the kitchen noticeboard. A whisper cannot change what is true.
The problem
Gossip is only interesting if it has provenance. The engine has to keep the truth, each person's knowledge and each person's public statements apart, let a claim mutate as it's retold, and still be able to replay any day exactly. It also has to run all day on a Raspberry Pi beside everything else.
Why I built it
A sibling to Arkham: another world you watch rather than play, but about something ordinary. I wanted to model how information really moves through a workplace, where it changes, who believes it and why, with every change recorded.
The solution
A deterministic engine in plain Node.js with no dependencies: seeded randomness, simulated time, and no I/O inside the engine. One host process owns the world, saves snapshots plus an append-only history to SQLite, and streams events to an observer page modelled on Arkham's.
What it does
- Claims, beliefs, transmissions, mutations, corrections and retractions are separate records, so every version of a rumour has a traceable source.
- Recurring storylines run alongside ordinary office business: a promotion race, secrets, nights out, and people leaving, starting and coming back.
- Office Whisperer: three anonymous whispers a day per viewer, which staff may ignore, dismiss, look into or repeat.
- An observer page with a floor plan, live feed, staff files, stories and a 48-hour retrace.
Technologies, and what they're for
- Node.js 22Engine and server, with no npm dependencies
- SQLiteSnapshots plus an append-only history of everything that happened
- Server-sent eventsLive updates to the observer page
- node:test89 acceptance tests
- DockerRuns on the Pi beside Arkham
AI involvement
- No AI runs in the simulation: every outcome comes from a seed and is fully reproducible.
- Built with Claude Code from a staged written specification, with acceptance tests as the referee.
Automation
- The office runs minute by minute on UK time with no one watching, and a headless benchmark checks it still fits on the Pi.
Infrastructure
- Docker container on the Raspberry Pi 5, next to Arkham
- SQLite on the Pi's own disk
Hard parts
- Keeping truth, belief and public statements apart without the state growing out of control.
- Determinism: every random draw lives inside the world state, so a replay of any day comes out the same.
- Fitting on the Pi: measured under 1% of one core when live, a peak of 104 MB of memory, and about 0.4 MB of database per working day.
Outcome
In development and not public yet. Stage 01 is complete, with all 15 acceptance criteria passing on the Pi, and the office has been running on the Pi since 13 October 2026.