
I’ve spent a long time focused on automation and reliability. These days I’m publishing new work, sharing notes as I go, and gradually turning old ideas into real projects.
This site is a living log of what I’m building. LinkedIn is my resume.
Highlights
Supports multiple sites with consistent structure and rules
Clear draft vs published behavior
Theming designed to work in light and dark mode
I’ve spent most of my career working on the kinds of systems where reliability matters, the work sits behind the scenes, and small mistakes can become big problems. That shaped how I think, I prefer clear inputs, predictable outputs, and tooling that makes work feel calmer.
What I’m optimizing for now
At this point, I’m most interested in roles that feel focused and sustainable. Smaller teams, clearer priorities, and a pace that leaves room for deep work. I’m remote-first, but flexible when the role fits.
I’m not trying to “escape” any industry. I’m choosing the kind of environment and cadence that helps me do my best work. If the right opportunity shows up in finance or another high-compliance space, I’m open to it.
What I’m doing right now
I’m working on Site Engine, a foundation for running multiple sites from one engine. It lets me ship without rebuilding basics each time, and it gives me a place to explore practical AI-assisted workflows, in a way that stays grounded in real constraints.
How I like to work
Clear rules and clean data shapes
Small slices, shipped and verified
Observability and failure modes considered early
Simple UI, strong backend discipline
If you’re hiring
I’m a strong fit for backend engineering, data-heavy work (SQL, ETL, pipelines), automation, and internal tools. I can’t share past employer code, but I can talk clearly about architecture, tradeoffs, and how to make systems more reliable over time.
If you’re a builder
I keep notes on decisions, mistakes, and what actually worked while building Site Engine and other experiments. No hype, just the process.

This week I deleted a cloud job runner and moved my site builder's AI onto a Mac Mini in my house. The reasoning beat the wiring.

One in five new Colorado Springs jobs over the last decade was in health care, and for the last two years it is the only part of the market still growing. A QCEW data brief on the sector carrying the county, and the paychecks that stood still.

An economic brief I published rests on a single number. The query was six lines. The hard part was deciding what "closed" and "in the county" actually mean across 1.5 million messy public records.

For a decade, Colorado Springs started about four businesses for every one that closed. In 2024 that ratio fell to 2.52 to 1, its lowest on record. Here is what the Secretary of State filings show, and why the closures landed where they did.

The audit found a real problem on one of my sites. Then it failed to save its own report. The real story of the week was a migration, not a check.

When the caller cannot read the room, the script has to put the room on stdout. One JSON line, one status field, everything else on stderr.

Sixteen rows in a federal dataset claimed they were filed in the year 3. The schema lied, and that gap is where the real engineering lives.

A bash watchdog and the failure it couldn't restart: when your AI agent's CLI logs itself out and the only fix is a human at a keyboard.

Building my own pageview analytics taught me that passing every static check and actually working are two very different claims.
Have a question or want to work together? Fill out the form below and I'll get back to you soon.