Skip to main content
// Projects

Things I build to stay sharp.

Self-initiated products, designed and shipped end to end. Two are live; more are on the bench.

Whetstone — a knife resting on a floating dual-grit sharpening stone in vermillion and ink, rendered in three.js

Procedural three.js — poster render.

Live · Playable prototype

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.

01 / FOUR GAMES

Track, Recall, Sprint, and Static — the flagship dual-task: hold a cursor on a drifting target while typing back a scrolling symbol stream.

02 / THREE FACULTIES

Working memory, visuomotor tracking, processing speed. Runs roll up into per-faculty ratings, and breadth wins the overall ladder.

03 / THE GAUNTLET

All four games back-to-back, scored by geometric mean — consistency beats one-tricking.

TypeScriptReact 18ViteTailwind v4
Play Whetstone Free · no account needed

Client-only prototype — scoring is local today; the Glicko ranked ladder is next.

Live · Demo open to visitors

Train

A training PWA that owns progressive overload — it prescribes today's session, logs it, and advances the numbers. The spreadsheet is retired.

01 / DOUBLE PROGRESSION

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.

02 / READINESS GATE

A 10-second daily check — sleep, soreness, energy — computes a green / amber / red gate that trims the day instead of skipping it.

03 / RUNS STAY ON STRAVA

Run prescriptions are served as treadmill speed settings; completed runs sync back from Strava, read-only.

TypeScriptReact 19ExpressPrisma + SQLiteStrava API
Try the demo Sample data · real engine

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.

Train — a loaded barbell with vermillion and ink plates floating over a soft shadow, rendered in three.js

Procedural three.js — poster render.

VVKH

Practical software and websites, built fast with AI. Made and maintained by Victor.

victor@vvkh.dev
SiteProjectsTemplates
© 2026 Victor Vinh Khai Huynh