Projects
In progress
Home Lab
runninghome-lab.service — running
A self-hosted server build running on Docker — replacing an old Windows/WAMP setup with a proper Linux + Docker Compose stack.
- Jellyfin media server (dedicated GPU, hardware transcoding)
- Prometheus + Grafana monitoring
- This site (Astro, static output) plus its companion services — see below
Self-hosted email is live too, running alongside everything else here.
Zoo & Aquarium Tracker
runningzoo-tracker.service — running
A self-hosted app for tracking and rating every zoo and aquarium we've visited (and the ones still on the list). Public map and ratings, with a login layer for adding new spots and reviews.
- Leaflet + OpenStreetMap
- Self-hosted API with a login layer for edits
- Own Docker container, proxied in at /zoos
ADS-B Receiver
runningadsb-receiver.service — running
A Raspberry Pi tracking aircraft overhead via ADS-B — live stats and a weekly "Plane of the Week" pick with a real route map, pushed from a home receiver with no location data ever leaving the Pi.
- Raspberry Pi + PiAware/dump1090-fa
- Periodic snapshot pushed to the site
- Static JSON, no backend — Leaflet + OpenStreetMap for the route map
Enriches the weekly pick with real flight data — registration, route, max altitude and speed — via adsbdb.com and hexdb.io.
Wazuh (Security Monitoring)
runningwazuh.service — running
A SIEM/XDR stack for the whole home network, not just the Docker host — file-integrity monitoring, log analysis, and vulnerability detection.
- Wazuh manager + indexer + dashboard
- Agent-based monitoring, expanding over time
Live as of August 2026 — indexer, manager, and dashboard all running, with coverage expanding over time.
SpiderFoot (OSINT / Privacy Audit)
runningspiderfoot.service — running
A self-hosted OSINT scanner for auditing what's publicly findable about yourself — 200+ modules across breach databases, social media, DNS/WHOIS, and threat-intel feeds, run in passive mode and routed through a VPN so the audit itself doesn't leak a real IP to the sources it queries.
- SpiderFoot, built from source (no trustworthy prebuilt image existed)
- Outbound queries run through a VPN
- LAN-only, no port forwarded
Live as of August 2026. Built straight from the upstream source rather than a prebuilt image, since none of the ones publicly available were trustworthy enough for a tool that aggregates your own personal-exposure data.
BirdNET Receiver
runningbirdnet-receiver.service — running
A Raspberry Pi listening for bird calls via USB microphone, identifying species with on-device ML — live species counts and a daily "Bird of the Day" pick with its actual recorded call, straight from a home mic.
- Raspberry Pi 4 + BirdNET-Go (BirdNET, plus Google Perch v2 for non-bird sounds)
- Periodic snapshot pushed to the site
- Static JSON, no backend — the real recorded clip plays alongside each pick
Also contributes detections to BirdWeather, a citizen-science listening-station network — the same idea as the ADS-B receiver’s public flight-tracking feed, applied to birdsong.
Bird or Plane Bot
runningbird-or-plane-bot.service — running
A daily social bot — "It's a bird! It's a plane!" — posting one real pick, a bird heard or a plane spotted overhead, chosen at random from the site's own bird and aircraft receivers.
- Python, reading the same data behind /birds and /planes
- Bluesky, posted natively via the AT Protocol
- X, cross-posted through Buffer's API rather than paying per post
Home NAS
runninghome-nas.service — running
A NAS built from a repurposed old desktop rather than a purpose-built appliance — ZFS storage pools holding the photo library and every service's backups across the lab.
- TrueNAS SCALE, ZFS (RAIDZ1)
- Repurposed desktop hardware — no dedicated NAS chassis
- Per-service write-only backup targets, daily snapshots
More coming soon
plannedmore-coming-soon.service — planned
This is a growing list — new projects get added here as they're worth showing off. Next up: a receive-only SatNOGS ground station, contributing satellite observations to the global network.