⸻ Vancouver, BC
I build developer tools. Right now that's Hookie and RSC Boundary, after 14+ years shipping product.
My first real job as an engineer was building marketing websites and newsletters at Backflip in Paris. Within a year I was the only engineer on a B2B ecommerce system a manufacturing company ran on: UI, backend, and the ops when checkout or inventory broke. The problems rarely arrived fully specified, and there was no one to hand them to. I found out I liked that. Owning the product end to end while the problem is still fuzzy became the thing I looked for in everything after.
It's why I built Liftmap at WiderFunnel, a CRO SaaS, when implementation alone stopped being enough. It's why I said yes to being CTO of Speakbox (Techstars W21) while working on TELUS's API team, two customer-facing apps and every architecture decision behind them. And it's why I ended up in developer experience at TELUS: the fuzziest problems weren't in the product anymore, they were in how engineers shipped it. Four years there. A self-service deploy experience on Cloud Run took time-to-production from weeks to under a day. GitHub Actions workflows spread to 50+ teams. An AI-assisted incident workflow produced 500+ reports in its first two weeks. Different products, same job: find the fuzzy problem, own it until it isn't.

Vancouver, BC
developer toolNative macOS client for Kafka, Redpanda, and NATS JetStream. Browse topics, tail messages, inspect lag, and produce from one desktop app.
developer toolOpen-source webhook development tool. Receive, inspect, and relay webhook events locally. Go, Next.js, Redis Streams, gRPC. 3 releases.
open-sourceOpen-source devtool for Next.js and TanStack Start. Visualize React Server vs Client Component boundaries in the App Router. Zero production cost; agent skill for Cursor and Claude Code.
How I secured the Hookie CLI release pipeline with OIDC trusted publishing, staged npm releases behind 2FA, and immutable GitHub release assets.
Notes from building Hookie: API-shaped commands are useful, but AI-native dev workflows need CLI commands that own the whole task.
Agent-loop discourse sells parallel code output. For solo builders the binding constraint is usually demand, and a useful receipt needs cost, artifact, and a user-visible before/after.
The industry says AI agents will write most of the code. Senior engineering interviews still gate on whether you can produce a graph traversal cold in 45 minutes. A checkpoint piece, four months into the job search, on the gap between the two.
Two albums on the streaming platforms. I write and record when the IDE is closed.
Training the Afro-Brazilian art of movement, music, and a fair bit of falling over.