About Ed.
I don't believe in impossible problems, and I don't believe in complicated solutions.
Bring me the thing everyone else has quit on, the codebase nobody trusts anymore, the deadline nobody thinks you'll hit, and I'll go find the honest, simple fix underneath it.
I'm a fractional CTO that builds your engineering team a digital twin, an agentic AI team that learns your codebase and ships real code. The guardrails go in first, so you get more velocity and more reliability at the same time.
I built a team like that long before I ever did it with AI. In the early 2000s I architected one of Canada's first headless CMS platforms at Southam, before "headless" was a word anyone used. Twenty years ago, at CanWest, I took that digital team from one person to fifty. I shipped things on Tuesdays I'd thought of on Mondays. It was the most fun I've ever had at work.
The part nobody tells you about leading people (defining roles clearly, setting up a real review loop, knowing when to delegate and when to step in) turns out to be the same discipline that makes an agentic AI team actually work. I didn't know that at the time. I just knew fifty people don't run themselves.
Leading agents is a leadership problem before it's a technical one.
That's the part most AI consultants have never had to learn by running a real team first.
Then it got big. Twelve people had to approve a colour change. In 2016 I walked away, no package, no plan, no next thing lined up, because the place had become one where shipping anything took a quarter, and I wasn't built for that.
Since then I've built this same way in SaaS platforms, content management systems, e-commerce, publishing, and insurance software. One method, proven across domains, because the problem underneath, code built without a safety net, looks the same everywhere.
Fourteen days from a national campaign launch for Labatt, the plan on the table was an app stack that wasn't going to ship. I dropped the complicated build and found the simple one, and we launched on time. At Postmedia, a supposed hard capacity limit turned out to be one configuration change. Forty percent utilization, gone overnight.
I think about test coverage the way a sailor thinks about an anchor. Every vessel needs one. The danger is having it down when the wind's in your favour, or stowed when the storm hits. Most of the teams I talk to don't have one at all, and putting an agentic AI team on that codebase just gets you into trouble faster. So the safety net always goes in first.
What I'm looking for right now: a codebase with little to no test coverage, an offshore vendor carrying most of the commits, and a leadership team ready to ask whether that's still the right way to build software. That's exactly the shape of work a digital twin is built for.
I also take on fractional CTO retainers, technical due diligence, and architecture review and simplification. Most of my best work has been removing complexity someone else added.
The best introduction you can make me is someone who just said, "we don't even know if this is technically possible." That's my favourite sentence.
A few things about me, plainly.
- I'm based in Ontario, Canada. I've worked with clients across North America and Europe, and I'm glad to travel when the engagement calls for it.
- My parents are from the Netherlands. My wife is Irish. We argue about pronunciation a lot.
- I was the kid who rebuilt a car engine from a book. I won't change my own cabin air filter now. The reasons for this are interesting.
- I haven't played the organ in public for thirty years, even though I can. The reasons for this are also interesting.
- I'll write about both eventually.
Where I've worked, briefly.
- Southam
- CanWest
- Postmedia
- Relevant Bits
- Mango Policy
- Anheuser-Busch
- Labatt
- Autodesk