Build
Write applications that solve problems I actually have, then take responsibility for running them.
A personal field guide
Building useful things. Understanding how they work. Learning by running them.
I'm Chad, a developer and DevOps engineer. crashcode is where I build my own apps, explore infrastructure, and automate everyday life. It is a personal playground, but the services have a real job to do.
This guide shares the ideas and trade-offs behind the work, not a map of the private systems.
01 / The purpose
The lab has two roles: keeping engineering skills sharp and making useful things for everyday life. Some work is exploratory; some needs to keep working after the experiment is over.
Write applications that solve problems I actually have, then take responsibility for running them.
Work with deployment, identity, monitoring, storage, and recovery as parts of one system.
Test assumptions, understand failures, and improve the design without turning every idea into a permanent dependency.
02 / The architecture
The foundation is a Kubernetes-based private cloud managed through GitOps. Applications and home automation sit on top of that foundation; identity, observability, and recovery cut across it.
This is a conceptual delivery flow, not a device inventory or network diagram.
Ansible handles host configuration; Kubernetes provides the application platform; Argo CD reconciles application configuration from Git.
Self-written apps, self-hosted services, and home automation make the platform useful beyond the infrastructure itself.
Identity boundaries, encrypted secrets, metrics, alerts, and backups support the services. None of them replaces the need to verify behavior.
03 / What lives here
I don't just run other people's software. I also write my own apps, and the lab gives them somewhere to live beyond my development machine. Development and operations meet here: building something and running it are part of the same project.
Home automation is one of the lab's everyday uses. Home Assistant brings devices and integrations together, with messaging and automation connecting them. It's a place where software interacts with the physical world, rather than staying behind a browser tab.
Self-hosted services and my own applications share a platform for deployment, storage, and day-to-day operation. Kubernetes and GitOps provide the foundation; monitoring, identity, and backups support what runs on it. Most of those services are private, so this guide describes the platform without becoming a directory of everything inside it.