Blog
How to Crimp JST PH Connectors With the Engineer PA-09 Tool
A step-by-step guide to crimping JST PH connectors with the Engineer PA-14 and PA-09 tools.
Building a React Dashboard to Control Matter Smart Home Devices
Building a React and TypeScript dashboard to control Matter-powered smart lamps, including the async polling flow for commissioning new devices.
Nanomatter - Building a lightweight Matter controller with matter.js and TypeScript
Building my own Matter protocol controller with matter.js and TypeScript to talk to smart lamps directly
CI/CD to a Raspberry Pi With No Public IP Using GitHub Actions and Tailscale
Building a CI/CD pipeline for a multi-container app on a Raspberry Pi: cross-platform Docker builds, GitHub Container Registry, and the Tailscale GitHub Action to reach a server that’s never publicly exposed.
A Repeatable Pattern for Adding New Docker Services Behind Traefik
A simple, repeatable pattern for adding any new Dockerized service to a homelab: a docker-compose file plus a routing YAML file for Traefik, with Portainer and Home Assistant as examples.
Free HTTPS for Private Services Using Let's Encrypt DNS-01 + Cloudflare + Traefik
Getting a trusted HTTPS certificate for a private service that’s never been on the public internet, using Let’s Encrypt’s DNS-01 challenge, Cloudflare DNS and Traefik.
Custom Local Subdomains for Docker Services with Pi-hole and Traefik
Replacing port-based access (
host:8080, host:9000) with clean subdomain routing on a homelab, using Pi-hole for local DNS and Traefik as a reverse proxy.Building a VPN-first Homelab on a Raspberry Pi
Setting up a Raspberry Pi with Tailscale for secure, private remote access to a homelab - no port forwarding, no public exposure.