Real experiences from the intersection of software engineering and AI
Sharing lessons learned, practical insights, and honest reflections from building AI-enhanced development tools. No hype, just what works (and what doesn't).

From QA Automation to AI Quality Architecture
A decade of breaking software built the exact instincts AI-assisted development needs. Where the tester's mindset shows up in how I build now, and the false-green runner that proved it.
Read article →
Human in the Loop: Designing AI Products People Trust
Explicit inference, approval checkpoints, honest model labels, and consent that's real. The design choices behind the AI Lab that make it slower to use and much easier to trust.
Read article →
Context Engineering: The Skill That Makes AI Assistants Useful
The model isn't the problem. What it knows before it starts is. Repo-level rule files, skills, server-side prompt keys, and a memory directory, and how each of them evolves with the codebase.
Read article →
What a PostHog Application Taught Me
I applied for PostHog's Context Engineer role, didn't get it, and kept the working analytics implementation and the values lesson anyway.
Read article →
Building Local Crew: A Local-First Inference Orchestration Framework
How I built a local-first orchestration framework that turns spare computers, desktops, and laptops into one coordinated AI system, with Port as the optional remote companion layer.
Read article →
Cross-Driver Test Architecture: Migrating Enterprise QA with AI Assistance
I'm leading a migration from a VB.NET Selenium test codebase to C# on an adapter that runs Selenium and Playwright under the same test logic. Why the adapter is the whole strategy, and where assistants help without making the decisions.
Read article →
Shipping AI Features End to End as a Solo Engineer
Four AI Lab apps, a serverless backend with model routing and rate limiting, a three-browser Playwright suite, a media pipeline, and a deploy path. What owning the whole delivery surface actually involves, and where assistants change the math.
Read article →
Production Resilience Patterns for AI-Powered Features
The chat on this site looks like three buttons. Behind them is a model chain, a circuit breaker, two different retry policies, a shared rate limiter, and a cost allowlist, each of which exists because something failed.
Read article →
Version-Controlled AI Governance for Engineering Teams
Every team using AI assistants has governance. The question is whether it's a reviewed file in the repo or a habit in someone's head. How I've done it at work and on my own projects, and what it changed.
Read article →
Onboarding Legacy Codebases for People and AI Assistants
The documentation app I built at work to shorten onboarding, and the discovery that the same tool made AI assistants productive on the codebase. The overlap between a good onboarding path and good context is nearly total.
Read article →
Meta Programming the Workflow: Context and Agent Orchestration
I spend as much time programming the process that produces software as I do programming the software. Roles for each assistant, context as a finite resource, gates with pass and fail written down, and the tools I built to run it.
Read article →
AI Lab Project Building Part 5: Iterative Engineering with AI Assistants
By the time four AI Lab apps were live, the real deliverable was the loop that built them. What the iteration pattern looked like, where it broke, and what the retrospective taught me about docs, tests, and gradient creep.
Read article →
AI Lab Project Building Part 4: Agent Agenda
Agent Agenda is a composable editor for agent configuration documents, personas, skills, rules, and tools, with AI assistance only where it removes blank-page friction and never where it removes your decisions.
Read article →
AI Lab Project Building Part 3: Problem Solver
Problem Solver was built around one constraint, never spend an inference the user didn't ask for. Four prompt contracts, two sliders that default to one, and a step sequence you can inspect and rewind.
Read article →
AI Lab Project Building Part 2: Promptpad
Promptpad started as a standalone Next.js app running against Ollama and became an AI Lab workbench with revisions, diffs, and a model selector that had to match the chat's contract exactly.
Read article →
AI Lab Project Building Part 1: AI Chat
The chat on this site was the first AI Lab app and it set the rules for everything after it. Server-side prompts, a three-tier model selector with local parity, a fallback chain, and a test suite that grew from real bugs.
Read article →
Automating Quality Assurance for AI-Powered Development
How I use project configuration, plan-then-implement workflows, Claude Code skills, and automated test infrastructure to keep AI-assisted development honest and shippable.
Read article →
Building a Dual-Source Blog Engine with Responsive Media
How this blog serves articles from both Markdown and HTML sources through a unified content pipeline, with artist-generated illustrations processed into pixel-perfect responsive variants.
Read article →
Agentic IDE Workflows for Enterprise Teams
How I run AI-assisted work in Visual Studio and VS Code on a team codebase, with Amazon Q Developer's ask and agent modes, version-controlled context packs, and quality gates that apply to every contributor.
Read article →
A CLI Agent Harness Playbook
The terminal loop I hold Claude Code and Codex to, the skills that encode it, the repo files that keep two assistants reading one source of truth, and the failure patterns that shaped all of it.
Read article →
Models and Harnesses
Why I pick the harness before the model, how I split work between Claude Code, Codex, Copilot, and Amazon Q, and where local models earn a place in the loop.
Read article →
Welcome to the Developer's Blog
Notes from the intersection of reliable software engineering and AI-enhanced development.
Read article →