What I do in my free time
Outside of work, most of my technical time goes into two things: developer tooling around Vue and Nuxt, and a homelab that has grown well past the point of being a weekend project.
Developer tooling
Practical tooling around Vue and Nuxt — small utilities, editor integrations, and workflow helpers that remove friction. Deep dives into framework internals tend to come with this: understanding how Nuxt actually resolves and renders things makes you considerably better at debugging it at work, and the ideas usually find their way back into real projects.
The homelab
Several Raspberry Pis run a permanent self-hosted stack at home. It started as a DNS ad-blocker and turned into the thing that runs the house.
Network and infrastructure
- AdGuard Home — network-wide DNS filtering
- Caddy — reverse proxy with automatic certificates
- Podman — rootless containers, the whole stack's runtime
- PostgreSQL — shared database for the services that need one
Home automation
- Home Assistant — the automation core
- Mosquitto — MQTT broker for the devices
- Matterbridge — exposing non-Matter devices to the Matter ecosystem
Monitoring
- Prometheus — metrics collection
- Blackbox Exporter — endpoint probing
- Loki and Promtail — log aggregation
- Grafana — dashboards and alerting
Running your own monitoring changes how you think about production systems. When an alert wakes you up, you get strict very quickly about which alerts deserve to exist.
A self-hosted smart doorbell
The most involved piece: a private smart doorbell, developed and actively run, connecting device logic, a web interface and HomeKit integration. Nothing leaves the house, and it keeps working during someone else's outage.
Why bother
Self-hosting is the cheapest way I know to stay honest about operations. Writing frontend code is a different discipline from keeping a service running for years, and doing the second one makes you better at the first — you stop treating deploys, certificates, backups and logs as somebody else's concern.