I build the systems, then I stand behind what they get wrong.
I'm an AI systems engineer and founder based in Barrie, Ontario. I run Pinnacle Tech Projects, a Canadian AI foundry, and I build and ship the underlying engineering myself: RF propagation software, an open-source agent governance framework, and production automation for businesses that can't afford a wrong answer.
Before any of this was "AI work," it was automation and operational systems work: workflow orchestration, process design, and the unglamorous job of making a business's actual operations less fragmented. The AI layer changed what's possible. It didn't change what I actually care about, which is whether the system survives contact with reality.
What I actually believe about building this stuff
Retrieval and evidence first
A system should pull evidence, validate context, and track state rather than assume it. Reality matters more than elegant theory. If a claim can't be substantiated, the system should say so instead of guessing confidently.
Production reality over demos
A demo that only works on the happy path isn't finished. A system is only valuable if it handles edge cases, survives scaling, stays observable, and can be debugged and recovered when it breaks, because it will.
Human oversight, not maximum autonomy
The goal isn't to remove humans from the loop. It's operational leverage: automation should remove repetitive work, reduce friction, and speed up response time, while the judgment call still belongs to a person.
Governance and validation matter more over time
As agents get more autonomy, the boundary around what they're allowed to do gets more important than what they're capable of. That's the whole premise behind Project Starfish: deny by default, prove what happened after.
A few specific things, not a highlight reel
Specifics are the point. Vague claims are cheap; a system that can be checked isn't.
RfFigure. Only one package can mint one, and a CI script fails the build if any other package reaches for that function. It's not a convention I trust people to follow. It's enforced by the type system.
project-starfish, Apache-2.0, and it can govern Claude Code itself through its own hooks: file writes, shell access, and network calls all pass one deny-by-default decision point.