About this project
Infrastructure deserves good documentation.
This site is a personal record of every piece of hardware in my homelab. Not tutorials. Not reviews. Technical storytelling about what I actually built, what runs on it, and the decisions behind every choice.
Why document a homelab?
Homelabs accumulate complexity fast. Within a year you have a dozen services, three subnets, and a NAS config you don't fully remember. The first time something breaks at 2 AM is when you realize you should have written it down.
But most homelab documentation is a markdown file in a private git repo, a pile of bookmarks, or — nothing. This is an attempt to do it properly: each device gets a structured page that answers the questions I'll actually ask when debugging.
The format
Each device page is structured around five questions:
-
What did I build?
Concrete outcomes, not aspirations. What actually works and is running.
-
What runs on it?
Every service and technology in use, with version context.
-
How is it architected?
The actual topology, config structure, and data flows.
-
Why did I choose X?
The decisions that shaped the setup, with the reasoning preserved.
-
What would I change?
Honest retrospective. What works, what doesn't, what's next.
The design
I wanted documentation that feels as considered as the hardware itself. Apple's product pages set a standard for communicating technical detail without visual noise. This borrows that structure — cinematic heroes, clear hierarchy, premium spacing — and applies it to technical documentation instead of marketing.
No neon. No gradients for the sake of gradients. Just a dark, focused surface that gets out of the way of the content.
Adding a device
Each device is an MDX file in src/content/devices/.
The schema enforces consistency: every device has a name, status, role, services list,
decisions, and specs. The MDX body is free-form — use it for architecture diagrams,
config samples, tables, anything that needs more than bullets.
# Create a new device cp src/content/devices/rpi4-home-assistant.mdx src/content/devices/my-new-device.mdx # Edit the frontmatter # - Set name, type, status, headline, role # - Add services[], stack[], outcomes[] # - Fill in decisions and specs # - Add photos to public/assets/devices/ # The page builds automatically at /device/my-new-device