Blog
Thoughts on architecture modernization, Domain-Driven Design, AI-assisted development, and building software that lasts.
Event-sourced Claude Code workflows
Storing the state of the workflow as events to enable rich observability and detailed workflow insights and optimizations.
Claude Code workflows as DSL-driven domain models
Evolving the hook-driven workflow engine into a proper domain model, each state declaratively defined in a single DSL-driven file.
Hook-driven dev workflows with Claude Code
Using Claude Code hooks to build enforced, testable development workflows with a proper workflow engine, state persistence, and agent teams.
Code quality feedback loops in AI dev workflows
How I use automated post-merge reflection to capture, review, and apply code quality feedback in AI-assisted development workflows.
Dev Workflows as Code
I've reached a point where I've automated the development process for a single feature. Claude Code will take a github issue, implement it…
Coding Agent Development Workflows
I’ve been playing around with software development workflows for AI agents. here’s everything I know (it’s probably wrong)
Code Quality Foundations for AI-assisted Codebases
There are a few basic techniques you can use to increase the quality of code produced by AI coding assistants. These are easy techniques…
Auto-Reviewing Claude's Code
A well-crafted system prompt will increase the quality of code produced by your coding assistant. But it's not enough for quality code.
Composable Claude Code System Prompts
Each time I improve my workflow with Claude Code I hit the next source of friction which needs improving. At the moment, I’m starting to…
Minimalist Claude Code Task Management Workflow
I decided to create my own claude code task management worfklow because the world does not have enough of those already.
Software Architecture as Living Documentation Series Index Post
This is a series of posts exploring how to automatically extract software architecture and domain concepts from a codebase to have 100%…
Defining a DSL for Extracting Software Architecture as Living Documentation
Wouldn't it be great if you could automatically generate any architecture diagram you wanted from an existing codebase and the diagram was…
Enforcing Software Architecture Living Documentation Conventions
This series of posts is a journey into the world of living documentation for software architecture. Our goal is to be able to generate all…
Enterprise-wide Software Architecture as DDD Living Documentation
Can the architecture of our company's entire software architecture be a living documenation?
Extracting your software architecture with ts-morph
Humans and AI work better when we understand more about the complex systems we're dealing with
Reverse Engineering your Software Architecture with Claude Code to help Claude Code
Coding agents can do more when they understand your system.
Forming an Architecture Modernization Enabling Team (AMET)
In this article, we address one of the most important and difficult challenges we see organizations we work with facing when introducing…
Beyond Problem and Solution Space: Better models for modern product development
I often encounter the phrases problem space and solution space. People use these words to try and articulate the types of work and…
Modernization Strategy Selector
But a portfolio-based approach is crucial. The ROI of modernization will differ drastically across your business subdomains, so choosing…
Architecture Modernization Enabling Teams (AMET)
This article describes a pattern we have observed and applied in multi-team-scope architecture modernization initiatives…