projects

things I've built · teaching tools, desktop utilities, and the odd experiment

keylight-control

A desktop app for controlling Elgato Key Lights on Linux, where no official client exists. Adjust power, brightness, and color temperature for every light on the network from one window.

tech
javascript
status
active
source →

pyrepl

A browser-based Python REPL built on Pyodide, made for teaching a foundations unit without asking students to install anything. Code persists locally in IndexedDB and compresses into a shareable link.

tech
svelte · pyodide · wasm
status
active
source →

webrepl

A browser-based HTML/CSS editor built using service workers. Code persists locally in IndexedDB and compresses into a shareable link.

tech
svelte · service-workers
status
active
source →

forlenza-scada

A simulated industrial SCADA control interface, built to demonstrate the compatibility quirks and failure modes common to legacy control systems — a teaching prop dressed as the real thing.

tech
rust
status
active
source →

home-assistant-tray

A lightweight system-tray app that embeds your Home Assistant dashboard in a popup window, so the whole house is one click away without a browser tab open all day.

tech
rust · tauri
status
active
source →

cpp-enhancer

A browser extension to enhance the user experience of the NYC Career Pathways website.

tech
typescript · wxt · solid
status
active
source →

thumbhash-py

A Python port of thumbhash — a very compact representation of an image used to render a blurred placeholder while the real one loads.

tech
python
status
active
source →

archive

Older or retired work, kept around for reference:

staten-island-ferry-app
Android app built around the ferry schedule. (java)
sendy-shopify-sync
A small service that keeps Shopify customers in sync with Sendy mailing lists, so the newsletter audience updates itself. (python)
gsuite-tool
Desktop app for G-Suite administration. (vue)
cpat
Automation tool for NYC Schools' Career Pathways Portal. (vue · tauri)