A mist-fed grow box I designed and built: a printed enclosure, a custom circuit board, Raspberry Pi Pico firmware and a web dashboard with live cameras, grow phases and sensor history.
VueNodeInfluxDBRaspberry Pi PicoKiCad
A quiz game for learning the 20 amino acids: names, abbreviations and structures, drilled until they stick.
VueSCSSNode
Renders hydrogen orbitals from the Schrödinger solutions. Pick n, l and m and see the probability density.
VueVite
Upload Gerber files and get milling G-code for isolation routing and drilling, wrapping pcb2gcode in a web UI.
NodeEJSShell
A reader for sheet music, built for practising at the instrument.
VueViteTailwind
Lead sheets in the style of a jazz fakebook: melody, chords and form on one page.
NuxtTypeScriptDrizzle
A rewrite of the LumenPnP paste dispensing tool. Talks to the machine over Web Serial and uses OpenCV.js to locate pads from the camera feed.
VuePiniaWeb SerialOpenCV.js