Homelab Tinkerer

I work on enterprise banking infrastructure. At home I run about twenty self-hosted services on one small Dell OptiPlex, and I write my own tools when the existing ones don't quite fit.

What's running at home

One Dell OptiPlex Micro and about twenty Docker Compose stacks. Public traffic comes in through a Cloudflare Tunnel, and configs and databases are backed up offsite to Backblaze B2.

  • Media

    • Jellyfin
    • Navidrome
    • Kavita
    • Radarr · Sonarr · Lidarr
    • Prowlarr · Bazarr
    • Jellyseerr
  • Photos

    • Immich
    • Public share front-end
    • LLM photo journal
  • Notes & AI

    • SiYuan
    • Stirling-PDF
    • Open WebUI
    • MCP servers
  • Infrastructure

    • Cloudflare Tunnel
    • Nginx Proxy Manager
    • AdGuard Home
    • Portainer
    • OpenSpeedTest
  • Observability

    • Prometheus
    • Grafana
    • Router & SMART exporters
  • Audio & IoT

    • Shairport Sync (AirPlay 2)
    • Scream receiver
    • ESPHome

Things I built for it

When nothing off the shelf does quite what I want, I write it myself.

  • Nextseer

    TypeScript · Fastify · React

    A Seerr-style picker that lets me inspect, compare and grab one exact release for Radarr and Lidarr, instead of trusting the automatic pick.

  • Immich journal service

    Node · Express · OpenRouter

    Sends photos to vision models and turns them into journal, food and activity entries.

  • SiYuan MCP servers

    Python · FastMCP

    Let AI agents search, read and file notes in my knowledge base.

  • Scream sender

    Python · WASAPI

    Streams my Windows PC audio to the room speaker. I wrote it because the official driver’s signing certificate expired.

  • IHSG bot

    Node · Playwright · Telegram

    Telegram bot for Indonesian market data, plus a candles API that feeds a Grafana dashboard.

  • Router telemetry

    Python · FastAPI

    A Prometheus exporter and status dashboard for my home router.