Orpheus Is Open
I built an edge AI wildlife station in the woods, gave a talk about it, and put the whole thing on the internet. You can run it on your laptop.
I gave a talk in Grand Rapids last month about a thing I’ve been building in the woods behind the house. Stood up in front of a room of working engineers, walked them through five months of commits and a couple of war stories, and showed them the plywood box full of microphones it all runs on. Then I told them they could go home and run the whole thing on a laptop. The repo flipped public that morning, a few hours before I said it out loud.
So here’s the post I kept meaning to write and didn’t, because I took a full-time job I actually like and the days got short.
If you’re new here: Orpheus is an autonomous wildlife station. An NVIDIA Jetson Orin NX, four cameras, four research-grade microphones, a hand-built weatherproof enclosure, and a twelve-foot mast in rural Michigan. Everything runs locally. Nothing phones home. Colleen and I build it on weekends. It listens to the woods, identifies birds, tracks the crows specifically, and is slowly being taught to hold up its end of a conversation with them.
You don’t need any of that hardware to try it. Clone the repo, run `make dev-stack`, play a bird call near your laptop mic, and you should see detections land in the dashboard inside thirty seconds. The full Observe stack runs on a MacBook: species identification, the crow classifier, the event correlator, the whole pipeline. It’s CPU-slow compared to the Jetson, but it works, and watching your own machine correctly call a black-capped chickadee from a YouTube clip is a strange little thrill.
The numbers held up under the lights, which is more than I can say for some demos. By the time I gave the talk the station had logged north of half a million detections across roughly five hundred species over about a hundred days on four mics. The crows alone were close to fifteen thousand, nearly half of those at high confidence, clustered hard around mid-morning and dead silent overnight.
My favorite slide was a failure. Early on, before I added geographic filtering, Orpheus was confidently reporting Hawaiian Petrels and Laughing Kookaburras. In central Michigan. The model wasn’t broken. It heard a real sound and matched it to a real species, and it was just wrong about the map. Detection is physics. Filtering is ecology. Once I stopped making one piece of code do both jobs, three hundred and ninety-five impossible species quietly vanished and the rare-but-plausible ones started showing up instead.
The Observe stack is complete and running in the field. That’s everything up through recognizing what it hears and storing it. The Act stack, the part that decides when and what to play back at an animal, is not built. The plumbing is there. The speakers work. What’s missing is the intelligence sitting on top, and I left it missing on purpose. Deciding when to play a crow call at a crow is mostly an ethics question, and I don’t think one person alone in a garage should answer it. There are more layers to build between the raw sensors and anything resembling an agent before that’s even the right thing to ask. So it waits. Rule one in the repo is: do no harm. Rule six is: humans are just another species.
If you want to poke at it, there’s a pinned discussion called Start Here with the slides, the quickstart, and a backlog broken into nine epics that run from the cognitive holarchy all the way down to keeping a circuit board alive through a Michigan winter. Fork it and build something with it. I have a demanding day job and a partner and chickens and a wood stove to feed, so I’ll be slow on reviews. But I’d rather have it out in the world where people can use it than keep it private while I wait for it to be perfect. That version was never coming.
The crows are still out there. Now the code is too.


