I live in Vancouver, BC, and I make things.
I started out making video games — design, UI, and C++ in one seat at a studio I co-founded. Since then I've spent most of my career in product management: NLP assistants for banks, then enterprise planning tools. These days I mostly build with AI tools — agents, MCP servers, and the occasional pull request. Some of that work is below.
Uptempo's first AI-enabled feature shipped to customers. I built the working prototype myself with an AI-assisted workflow, then worked with engineering and design to bring it to production standards.
Started as the "Plan" module: I defined the Activity business-object model — a data model that lets enterprise marketing teams calculate ROI across their full program spend — got executive buy-in, and led the team that shipped it. It reached seven figures of ARR before I moved to another portfolio.
A virtual assistant for banks. I was the company's first PM; my team built most of the application while I built my product management skills by learning from customers and setting product strategy.
Gaslamp's second title: a colony-building simulation, far more ambitious and far less successful — the project I learned the most from.
A multi-year roguelike from Gaslamp Games, the studio I co-founded. Won a number of awards including Indie Game of the Year from PC Gamer. Millions of copies sold across our catalog.
Human-in-the-loop authorization for AI agents: the four constraints a system needs to guarantee a named human approved the exact action that runs, in ~2,000 lines of tested Python across the A2A and MCP agent protocols.
To tools I use: Linkwarden, Speakr, jEveAssets, and others.
2016–2025 — product roles; back to shipping code with AI tools
A large portion of the UI rendering engine (roughly, CSS re-implemented in C++) and the terrain generator — but the bigger accomplishment was the character agent simulation: agents with memories, communicating with each other.
Combat, character advancement, parts of the UI, and many of the player reward systems.
Uptempo's first AI-enabled feature shipped to customers. I built the working prototype myself with an AI-assisted workflow, then worked with engineering and design to bring it to production standards.
Human-in-the-loop authorization for AI agents: the four constraints a system needs to guarantee a named human approved the exact action that runs, in ~2,000 lines of tested Python across the A2A and MCP agent protocols.
To tools I use: Linkwarden, Speakr, jEveAssets, and others.
Started as the "Plan" module: I defined the Activity business-object model — a data model that lets enterprise marketing teams calculate ROI across their full program spend — got executive buy-in, and led the team that shipped it. It reached seven figures of ARR before I moved to another portfolio.
A virtual assistant for banks. I was the company's first PM; my team built most of the application while I built my product management skills by learning from customers and setting product strategy.
2016–2025 — product roles; back to shipping code with AI tools
Gaslamp's second title: a colony-building simulation, far more ambitious and far less successful — the project I learned the most from.
A large portion of the UI rendering engine (roughly, CSS re-implemented in C++) and the terrain generator — but the bigger accomplishment was the character agent simulation: agents with memories, communicating with each other.
A multi-year roguelike from Gaslamp Games, the studio I co-founded. Won a number of awards including Indie Game of the Year from PC Gamer. Millions of copies sold across our catalog.
Combat, character advancement, parts of the UI, and many of the player reward systems.