A multiplayer Severance-inspired macrodata refinement game. Find the “scary” cluster of numbers (they grow, shake, spin, flicker…), box-select them, and drag them into a bin to refine them.
It’s a shared, global effort: everyone online works toward refining 500,000 macrodata across five bins (100,000 each). Every refinement — from any player — is saved to Postgres and broadcast live, so the bins at the bottom show the group’s global progress filling in real time.
ws — WebSockets for real-time sync across sessionspg) — persistent, shared progressRequires Node 18+ and a running Postgres.
createdb coldharbor # once
npm install
npm start
Then open http://localhost:3000. Open it in a second tab/browser to see the live multiplayer sync — refine in one and watch the other update.
By default the server connects to the local coldharbor database; in
production set DATABASE_URL (e.g. a Neon or AWS RDS connection string). To
reset the global goal: psql -d coldharbor -c "UPDATE bins SET refined = 0;"
render.yaml), and when
prompted paste the Neon string as DATABASE_URL.https://<name>.onrender.com, and every push to
main auto-deploys. Add a custom domain later under Settings → Custom
Domains (free SSL included).The free instance sleeps after ~15 min idle (first visit then takes ~30–60s); a free UptimeRobot monitor pinging the URL keeps it awake.
server.js has the goal constants at the top (GOAL, BIN_COUNT, MAX_REFINE).