Working for me, not ready for anyone else. Most of these repos are private.
flighthouse
python · webgl
Air-traffic radars find planes by sending out a radio question and timing the answer. flighthouse listens in on those answers with a cheap USB radio and works backwards: where the radars are, where the planes that don't report their position are, and even where my own antenna is.
live: planes with their trails, and a coloured wedge from each radar as its beam sweeps past
It has found about seventy radar sites across Ohio and the states around it, most within a few kilometres of an airport, without being told where any of them are
From the timing alone it puts my own antenna within a few metres of where it really is
It can place planes that never broadcast where they are, usually to within a kilometre or so
It all shows up on a radar screen in the browser, or the same picture drawn in a terminal window
the terminal version, and a day of one radar's sweeps
works on two receivers at home. The newest work has sat uncommitted since late september.
birdhide
svelte · typescript
A microphone in the yard listens for birds all day and names what it hears. A hide is where you watch birds without disturbing them, and birdhide is a window onto that station: what's singing now, today and over the year, with photos and recordings. You can look, but you can't change anything.
the bird heard a moment ago, today's counts, and recent calls you can playthe best clip of every species this week, and everything it's heard, grouped by family
In October it grew a display mode: the same birds as a slideshow for the TV, a picture for an e-ink frame, or a poster to print. The life list became a sheet of postage stamps, one per bird family.
the atlas, a stamp per family; 1800s plates via fugleramme, CC BY-SA 4.0everything heard as a collage, and the same for a 7-inch e-ink frame; photos from the station, Avicommons and iNaturalist, credited in the appwho sings when, from the owl before dawn to the hawk at noon
It never gives away where the station is. Along the way I sent nine fixes to the bird-listening software it sits on; they're on the patches page.
runs on my home network; no public copy yet. Last changed 22 october 2026.
aiquarium
typescript · blender
A pretend aquarium. Real kinds of fish, shrimp and snails behave roughly the way the real ones do, and the pictures are rendered to look like a photo of a planted tank.
a school of cardinal tetras holding still against the filter current
The tetras school into the current, shrimp dart for cover when something big swims past, and at night everyone settles down and the catfish come out. Each render goes in front of AI judges who are asked whether it's a photograph. So far none of them has been fooled.
the tank in a dark room, the grass carpet, three tetras up closethe first tries, drawn in the browser: storybook, lagoon and pixel
started october 2026. The newest work, driftwood and a smaller nature tank, is on a branch from 10 october. Despite the name, no AI plans the tank yet.
The shelf
smaller, newer, or parked
SpecTrawl
rust · new
Sweeps the whole radio dial with one receiver, keeps a note of every signal it finds, and names what it can: FM stations, police radio systems, pagers, phone towers, walkie-talkies. In one four-minute test it caught 77 of the 80 calls on a police radio system. I'm halfway through rebuilding its insides, so right now the new version does less than the old one did.
private, busy, no pictures yet.
the heartbeat radar
c · python · new
A little radar module that claims it can read your heartbeat from across the room. I opened up its firmware to see how. Its heart rate was off by about 30 beats a minute, because it assumes the wrong speed, so I patched it to send me the raw signal and did the sums myself. Mine stays within about 3 beats a minute of a smartwatch overnight, but it also found a heartbeat in an empty room. Breathing, and whether anyone is there at all, are the parts I trust.
recording every night.
bedside knob
esphome · 3d print · new
A round knob with a little screen on my nightstand that runs the bedroom lamps. Turn for brightness, press to switch them on or off, hold for presets. It sits in a 3D-printed puck I designed, tilted so it reads from the pillow.
in use. no photo yet.
birdnet-solar-node
c · esp32
A small Wi-Fi microphone meant to run off a solar panel, so the bird station can have an ear out in the far corner of the yard. Getting the first sound out of it took fixing three separate problems. It records cleanly on my desk; the panel, battery and weatherproof box aren't built yet.
parked since september.
blackpulsar
python
the voice lab
Made-up police and fire radio for a city that doesn't exist (Night City, from Cyberpunk 2077), fed into my radio dashboard so it fills up with calls that are all fiction. Each line was going to be spoken by one of 175 AI voices with radio crackle on top. The script side works; the voices are too slow to keep up live.
parked since march.
infra-room
three.js
A dark control room drawn in the browser. Every screen and lamp shows the state of one machine in my home lab, and a camera drifts around on its own, cutting to anything that breaks. When everything is healthy it's almost grey; colour means something's wrong.
the room, and the boards on the far wall
runs on a frozen copy of the lab's data, not the live feed. Parked since july.
housebus
python
One page for a wall screen that shows what every camera and sensor in the house is saying right now: who's home, what the cameras can see ("car ×3, cat"), how much power the house is using, the air quality, and the temperature in each room.
in use. No screenshot until I've scrubbed the names off it.
song experiments
python · local ai
the review queue
Programs that write song lyrics with an AI, have another AI sing them on a machine in the lab, and keep only the takes that pass. One runs a pretend radio station of made-up bands. Phlegminem is a congested rapper whose diss tracks are all really about his allergist, and Shrimp Bizkit is, regrettably, the most productive. Another sets poems to music without changing a word.