Most of the code
you’ll touch this year,
you didn’t write.
I picked up Michael Feathers’ Working Effectively with Legacy Code while helping a fintech startup reclaim a codebase it had outsourced to an agency.
By 2019, I wanted one thing: to excel at working with new and unfamiliar codebases. I’ve been shaping methodologies and building tools ever since.
For years, those tools were mine alone. Now they’re yours too.
Read the full story →Vary the source.
Vary the granularity.
Vary the representation.
With AI, systems now evolve faster than anyone can keep up. Conventional ways of working with codebases no longer scale — you have to look differently across three dimensions.
Source.
Where you look — source code, version control history, documentation.
Granularity.
How much you see at once — from a single line of code to the entire system’s architecture.
Representation.
The most suitable form for the information — text, tables, charts, graphs, and more.
Every tool we build changes at least one dimension. Every methodology we deploy works across all three. Together, they’re how you get fluent in any system, no matter who or what wrote it.
Four practices.
One loop.
Four practices in one loop, each applying the approach to a specific problem. Comprehension grounds the work; verification audits every change; remediation fixes decay; evolution adds capability.
Mechanized Comprehension
Understand software systems through purpose-built tooling that extracts structure and history, and senses behavior from source code at scale.
Mechanized Verification
Verify structure and behavior separately through continuous, deterministic analysis that catches regressions early.
Mechanized Remediation
Identify and resolve architectural drift, decay, and technical debt through tool-driven transformations that are provably safe and don’t require rewrites.
Directed Evolution
Evolve software toward new behavior through continuous, traceable, proprietary harness-driven transformations directed by intent.
Tools we ship.
Some of the tools embodying our methodology are open source. Each one built to solve a problem manual approaches couldn’t.
| Tool | What it does | Pillars |
|---|---|---|
Terrain Open source ↗ | Renders a git repository as a zoomable sunburst of its directory structure, sized by lines of code. The whole codebase on one screen, at every zoom level. | |
Clarity Open source ↗ | A software design tool for AI-native developers and coding agents. Review design impact before commit. | |
Eureka Open source ↗ | Visualizes the structure of large Kotlin and Java classes as interactive graphs. A 3,000-line class on one screen, updating in real-time. | |
Cardbox Open source ↗ | Structural analysis of Android codebases through graph queries via jQAssistant. | |
Timelapse Open source ↗ | Leverages Git history to reveal tribal knowledge. Every codebase has a story in its version control. Timelapse makes it legible. |
Bring the methodology
into your team.
Workshops
Hands-on sessions that introduce the four practices and walk teams through applying them to their own codebase.
Methodology deployment
Multi-week engagements that embed the practices into how a team works — comprehension passes, verification gates, remediation roadmaps, evolution playbooks.
Advisory
Ongoing input for engineering leaders working through legacy modernization, agent integration, or architectural decay.