← All projects

Pulse — Live Ops Console

A real-time game-ops console: the world is simulated client-side and painted on canvas — high-frequency state, 60fps rendering decoupled from React, and a debounced event feed. No backend. A change of register from the Contentful work.

ReactTypeScriptCanvasReal-timeOpen live ↗Source ↗

CI

A real-time operations console for a fictional multiplayer game — the kind of "control room" a live-ops team watches. There is no backend: the game world is simulated on the client and painted on <canvas>, so the whole thing runs as a static site on free hosting.

Live: add your Vercel URL here

It's a deliberate change of register from the rest of my portfolio (which is Contentful-heavy): this one is about real-time UI — high-frequency state, smooth 60fps canvas rendering, and keeping React out of the hot path — the kind of work I did owning the client UI of a real-time multiplayer game.

What it shows

The interesting part — architecture

Run it

npm install
npm run dev        # http://localhost:5173
npm test           # sim/RNG unit tests (node --test, no extra deps)
npm run build      # static bundle in dist/

Stack: React 18 · TypeScript · Vite · Canvas 2D. No runtime dependencies beyond React — ~50 kB gzipped.