Blog

Notes from the Lab

Technical documentation, engineering decisions, and reflections on building systems that work. Writing as a tool for thinking.

Filter:
Jul 23, 20264 min read

The Prompt Was Never the Problem

Friends and family kept asking me for AI tips. After enough conversations the pattern was obvious: almost nobody was stuck on prompting. They were stuck on describing what they actually wanted.

AILearningTeachingWorkshop
Read More
Jul 14, 20263 min read

Debugging a Proxmox RCU Stall: The Cause Was Not the NIC

The server went unreachable every few hours and needed a physical reboot. I had just replaced the network card, so obviously that was the culprit. It wasn't.

HomelabProxmoxLinuxDebugging
Read More
Jun 24, 20264 min read

Why Build a Homelab in 2026

The cloud gives you scale. A homelab gives you the courage to destroy and rebuild without fear of a surprise bill — and that difference changes how you learn.

HomelabInfrastructureProxmoxLearning
Read More
Jun 3, 20264 min read

Multi-Tenancy in B2B SaaS: Trade-offs and the Model I Chose

Multi-tenancy is the most irreversible architectural decision in a B2B SaaS — and most teams make it implicitly, mid-sprint, the moment they realize they need to isolate customer data.

ArchitecturePostgreSQLMulti-tenancySecurity
Read More
May 20, 20263 min read

Choosing Rails for a Compliance Product

One developer, eighteen weeks, a B2B compliance product. The wrong stack decision can double the effort without you noticing until week twelve.

ArchitectureRubyRailsDecisions
Read More
May 6, 20264 min read

Why I Write ADRs Before Writing Code

Code captures what you built. An ADR captures why you built it that way — and the why is the first thing to disappear as a project ages.

ArchitectureDocumentationDecisionsEngineering
Read More
Apr 22, 20264 min read

The Staff Architect Skill: Designing Products With AI

Most teams use AI to write code faster. I use it to avoid making bad architectural decisions at 11pm under sprint pressure.

AIArchitectureProductEngineering
Read More
Apr 8, 20264 min read

Cursor Rules: Persistent Context for Your AI Agent

You reconfigure the agent for every new conversation because it remembers nothing. That's a design problem, not an inevitable limitation.

AICursorToolingEngineering
Read More
Mar 25, 20264 min read

Compound Engineering: The Loop That Turns Experience Into Assets

Plan, Work, Review — every engineer does that. The fourth step is what separates people who accumulate knowledge from people who redo the same work indefinitely.

ProcessEngineeringKnowledgeLearning
Read More
Mar 11, 20264 min read

Why Every Repo Should Have a docs/solutions Folder

A developer joining six months later doesn't need the changelog. They need to know why the decision was made and what almost went wrong. One folder, versioned with the code, captures exactly that.

DocumentationProcessKnowledgeEngineering
Read More
Feb 26, 20265 min read

Zettelkasten for Engineers: Why and How I Use It

Technical knowledge decays. What you mastered about PostgreSQL row-level security in 2024 is unreachable by 2026 unless it's indexed and connected. Zettelkasten is not an organizing system — it's a thinking system.

KnowledgeZettelkastenLogseqEngineering
Read More
Feb 10, 20262 min read

Designing Reliable 3D Printed Parts

Lessons from hundreds of print hours on how material choice, orientation, and tolerancing determine whether a part survives real-world use or fails on day one.

3D PrintingFDMDesignReliability
Read More
Jan 28, 20262 min read

Why Systems Thinking Matters in Software Architecture

Software isn't a collection of features. It's a system of dependencies, feedback loops, and failure modes. How thinking in systems changes the way you build.

SoftwareArchitectureSystemsEngineering
Read More