Portfolio
Things I've designed, built and run, from web apps on a home server to custom circuit boards. Everything here is live or documented on this site. Resume →
Software
Qwordy
Five one-minute daily games: build words, learn vocabulary, pick the precise word, estimate, and guess which came first. Server-side timing and scoring, streaks, rankings, and an archive of past days.
Flask SQLite gunicorn
WikEq
50 engineering equations across dynamics, fluids and electricity. Solve for any variable, plug in numbers, and copy the Python.
Flask SymPy KaTeX
Wiring Tool
Lay out components, wire pins into named nets, auto-route, and export a netlist, CSV, SVG or PDF.
Flask JavaScript YAML
Daily Melody
Learn one simple melody on the piano each day, a phrase at a time on glowing keys. Free play with a circle of fifths.
Web Audio JavaScript Flask
Marble Tilt
Tilt the maze to roll a marble through five rounds of escalating mazes, and race your own ghost.
JavaScript Canvas
Hardware
Time Tilt
A smart ESP-based tilt clock on a custom PCB, with battery sensing, LED matrix and speaker.
PCB ESP MicroPython
Touch Tone 2.0
A chainable capacitive-touch I2C piano board built on the MPR121, with WS2812 LEDs.
PCB I2C MPR121
Clock Maker
A dozen clocks from 3D prints, canvas, LED matrices, pixel strips, e-ink and OLEDs.
Microcontrollers LEDs 3D printing
E-Ink Display
A battery-powered ESP32-C6 e-ink display for network scanning and weather, tuned for weeks of battery life.
ESP32-C6 E-ink
Joystick Mouse
A beginner CircuitPython project: build your own USB mouse, with a printable enclosure.
RP2040 CircuitPython 3D printing
DIY Stereo Vision
Depth measurement from two cameras on a Raspberry Pi 5, working toward a 3D map of a room. In progress.
Raspberry Pi 5 Computer vision