Selected work

Projects

Things I've built for the fun of it: small services wired together with Kafka, a bit of hardware and radio, and a homelab that runs them all with no cloud bill.

Live now 2

World of Buoys

Live
buoy.devinbutts.net

The whole NOAA buoy network, about 1,300 stations, as a live telemetry console with a map, fleet view and correlation research.

  • Python
  • FastAPI
  • React
  • Kafka
  • CouchDB

Sassy Routes

Live
sassyroutes.devinbutts.net

A router that finds the fun roads to a destination (Michigan only, for now), lets you trade fun against extra time, and hands the route to Google Maps.

  • Python
  • TypeScript
  • GraphHopper
  • React
  • CouchDB

Built 7

Argus: a homelab that runs itself

Two sites of servers and apps that patch, back up and redeploy themselves, watched by Argus, a monitor I built that checks every service every minute.

  • Python
  • FastAPI
  • React
  • Ansible
  • Docker
  • Prometheus
  • GitHub Actions

MARS

A workspace for building and running Apache Flink SQL pipelines, with a pipeline map, scheduling, savepoints and run history.

  • Python
  • JavaScript
  • Java
  • Apache Flink

Deal Watch

Watches eBay, Craigslist, OfferUp and Slickdeals for listings well under their usual price, checks them with a local LLM, and sends a Telegram alert.

  • Python
  • FastAPI
  • Playwright
  • Ollama

Personal Health Pipeline

Phone and wearable readings streamed through Kafka into CouchDB and a mobile-first dashboard of vitals, activity and sleep.

  • JavaScript
  • React
  • Recharts
  • Express
  • Kafka
  • CouchDB

The Chair

A load cell under my chair turns every sit into a Kafka event that drives the lights and a live dashboard.

  • Python
  • Raspberry Pi
  • Kafka

Whisper Bot

Reads an anonymous group chat into Kafka, trains on it, and posts one gloriously absurd message of its own each day.

  • Python
  • Kafka
  • TensorFlow
  • Ollama

Farm Sensor Network

Solar ESP32 nodes speaking raw LoRa to a Raspberry Pi hub, a Go API and a live dashboard that can flash new nodes.

  • Go
  • C++
  • TypeScript
  • LoRa

Smaller builds 3