The first problem is rarely the problem.
01Look closer
A cash-flow gap everyone could see coming.
“We’ll circle back.”“It’s not urgent.”
Six months later it was not a gap anymore. It was the whole conversation.
A large problem is rarely one problem.
I look for the piece holding the others in place.
What is this problem resting on?
02Wait before reacting
I can walk into a county engineering meeting and anticipate every objection.
Underwriting reviews.Contractor calls.Stakeholder conversations.
Then a single message arrives, and I want to answer before I have thought.
I trained for the meeting. Not the message.
Is this the emotion of the moment, or the reality of it?
03Move authority closer
Managing properties, I often saw problems before the people who could decide.
I would bring them up.Someone else would decide.I would wait.
By the time the answer came back, the problem had grown.
The people closest to the work see it first.
Without authority, what they see just waits.
- Context
- Clear boundaries
- Ownership
- Authority
Not unlimited freedom. A clear frame to act inside.
Who is closest to this problem, and can they act on it?
04Make information travel
A deal that was never wrong on paper can still fall apart in execution.
The attorney catches what the engineer missed.The underwriter flags a zoning inconsistency the broker did not know to look for.
No one person owns the whole truth.
The information still has to travel.
Working notes
- What is happening?
- Why does it matter?
- What needs to happen next?
Who needs to know this before it becomes expensive?
05Build with AI
System leverage
I started with the boring things.
The things I should not have been doing twice.
- Claude skills
- Scheduled tasks
- Automations
- Repeatable workflows
- Research processes
- Internal systems
- Coding tools
So more of my attention goes to deal judgment, risk, negotiation, people, structure and strategy.
The work disappeared.
The decision stayed.
Creative leverage
I did not know how to code everything I could imagine.
But I knew exactly how I wanted it to behave.
I built this site with Claude Code and JavaScript.
Not because I wanted to become a software engineer.
Because I wanted an idea to behave exactly the way I imagined it.
The Days
- Idea
- Behaviour
- Logic
- Code
- Experience
The idea, as I said it
The photograph should arrive blank.Then develop.Then the memory inside it should move.The paper should not.
Behaviour
- Object · a physical print
- State 01 · blank
- State 02 · developing
- State 03 · developed
- State 04 · playing the memory
- State 05 · still
Code
var T = { eject: 820, pause: 140, move: 880, develop: 900, settle: 380 }; // the arrival's own units; the scroll moves through them
…
if (p.dataset.state === 'entering' && t >= T.eject) state(p, 'blank');
if (p.dataset.state === 'blank' && d > 0) state(p, 'developing');
if (d < 1) { if (p.dataset.state !== s) state(p, s); return; }
var k = clamp01((vh * 0.92 - anchor) / (vh * 0.38));js/motion.js · prints()Experience · running
The paper airplane on About
- Idea
- Behaviour
- Logic
- Code
- Experience
The idea, as I said it
The airplane waits at Colombia.The next route appears first.Then it flies.The scroll carries it. It never takes the scroll.
Behaviour
- Milestone · where it waits
- Route · drawn before it moves
- Motion · along the arc, nose first
- Arrival · the nose levels
- Scroll · it follows the reader, never the other way
Code
var k = clamp01((vh * 0.9 - r.top) / (vh * 0.6));
…
var draw = easeOut(clamp01(f / 0.35)), fly = easeInOut(clamp01((f - 0.2) / 0.75));
legs.forEach(function (l, k) { l.style.strokeDashoffset = k < i ? '0' : k > i ? '1' : (1 - draw).toFixed(3); });
put(p.x, p.y, nose * (1 - level));
var c = fly >= 0.85 ? i + 1 : i;js/motion.js · the About timelineExperienceIt flies on About
The harder part was rarely asking for code. It was describing the idea well enough to make the code understand it.
I learned enough of the language to become harder to misunderstand.
The code can be generated. The judgment still has to be mine.
The boundary
I want AI doing more of my work.
I do not want it doing more of my thinking.
Before AI
- What do I think?
- What do I know?
- What am I assuming?
- What would change my mind?
With AI
- Challenge my reasoning.
- Argue against my conclusion.
- Which assumption have I failed to defend?
- What question have I not asked?
After AI
- Close the output.
- Reconstruct the reasoning myself.
- Can I explain the conclusion?
- Can I defend it?
If I cannot explain why, I have not learned it.
06Protect the decision
End of the day. Tired. A decision that could wait until morning.
I used to make it anyway, just to get it off my plate.
It was not a decision. It was relief.
Not every decision deserves an answer today.
Urgent is not the same as uncomfortable.
Is this urgent, or only uncomfortable?
Complexity gets quieter when you know where to look.
The drawer stays open.
NextThe Practice