Colophon
About
Small games about holding a line, built around one constraint: they have to be good on a bad connection.
The name
In control systems, the setpoint is the value a system is trying to hold — the temperature a thermostat aims for, the altitude an autopilot maintains. The interesting part is never reaching it. It is the overshoot, the correction, the oscillation around the target.
Every game here is a variation on that: hit the number without going past it. Push as close to the limit as your nerve allows, then stop.
Small on purpose
Most web games ask for a lot before they give you anything: a download, an account, a loading bar, a tutorial. These ask for a tap. Each is designed to be understood in about five seconds and finished in about a minute — roughly the length of a queue, a lift ride, or the gap before a meeting starts.
Offline first, genuinely
The rule the whole project is built around: every game must be fully playable with the backend switched off. The server handles leaderboards, daily puzzle records and aggregate stats — things that make the games more interesting, but never things the games depend on.
In practice this means the browser never waits on a network call to start, continue or finish a round. Scores are sent after the fact, and nothing in the interface blocks on the result. If the API is down, you lose a leaderboard, not a game.
How it is built
The site is Astro, compiled to static HTML with no server runtime. The games themselves are framework-free JavaScript that knows nothing about Astro at all — so if the site layer is ever replaced, every game survives the migration untouched.
The backend is a small NestJS service that scales to zero, backed by Postgres. The browser never talks to the database directly.
Performance budget
Time to interactive under 1.5 seconds on throttled 4G. First game screen under 300 kilobytes. Sixty frames per second on a mid-range Android phone. No layout shift. These are checked before every deploy, not aspirations.
Accessibility
Everything is playable by keyboard. Interactive targets are at least 48 × 48 pixels. Outcomes are never signalled by colour alone, text contrast meets WCAG AA, and every animation checks whether you have asked your system to reduce motion — including screen shake, which is exactly the sort of effect that makes people unwell.