// her ideas, shaped together

Zoey's Lab

The ideas here are my daughter's. She works out what an app should do and how it ought to feel, and we shape it together until it runs — which has been more fun than anything else I built this year. Two so far. Both are free, both work offline once installed, and neither has ads, tracking, or an account to make.

Huely icon

Huely

A colour-mixing lab

Drip cyan, magenta, yellow and black and watch them blend the way real ink does — magenta and yellow make red, not mud. Then turn the lights off and cross red, green and blue beams that add up to white instead. Two opposite kinds of colour over one engine.

  • 58 quests across both media, scored on how close you get
  • 77 colours the world's cultures named, with their stories
  • Palettes pulled from your own photos, entirely on device
  • A jar you keep, printable as a palette sheet
TypeScriptReactPWAColour science
Open Huely
Ditty icon

Ditty

A Morse code lab

Tap for a dit, hold for a dah. Every mark is drawn as long as you held it, so the ratio that makes Morse readable — one for a dit, three for a dah — is something you can see before anyone explains it. Or send it as light from a signal lamp instead.

  • Quests in Koch order, the way Morse is actually taught
  • A playable alphabet where every key wears its own code
  • Farnsworth timing: letters stay honest, the gaps stretch
  • The history of Morse, from 1838 to the amateurs still on air
TypeScriptReactPWAWeb Audio
Open Ditty

How they are built

Both are Vite, React and TypeScript, sharing one set of conventions in a small monorepo: an engine with a test suite written before any interface, hash routing so the whole thing is a static file, a service worker for offline use, and English, Japanese and Chinese throughout. Nothing leaves the device — photos are read in the browser, and progress lives in local storage.