Things I build to stay sharp.
Self-initiated products, designed and shipped end to end. Two are live; more are on the bench.

Procedural three.js — poster render.
Whetstone
A competitive take on cognitive minigames — games are exercises, faculties are muscle groups, and the thing you grind is a skill rating, not a high score.
Track, Recall, Sprint, and Static — the flagship dual-task: hold a cursor on a drifting target while typing back a scrolling symbol stream.
Working memory, visuomotor tracking, processing speed. Runs roll up into per-faculty ratings, and breadth wins the overall ladder.
All four games back-to-back, scored by geometric mean — consistency beats one-tricking.
Client-only prototype — scoring is local today; the Glicko ranked ladder is next.
Train
A training PWA that owns progressive overload — it prescribes today's session, logs it, and advances the numbers. The spreadsheet is retired.
Reps climb within a range at a fixed RIR cap; top the range and the load steps up. Every logged session advances the engine automatically.
A 10-second daily check — sleep, soreness, energy — computes a green / amber / red gate that trims the day instead of skipping it.
Run prescriptions are served as treadmill speed settings; completed runs sync back from Strava, read-only.
Single-user by design — login is whitelisted to my Strava athlete ID. The demo is the public door: same UI, same engine, sandboxed in your browser.

Procedural three.js — poster render.