A graph of our Elixir application gives coding agents a way to find the right code without rediscovering the same relationships in every session.
Read the case studyWork
In 2009, I founded a geosocial platform. That was my way into software engineering, and by 2012 I was doing it professionally.
Since then, I’ve cofounded startups, worked with nonprofits, and built software in robotics, healthcare, fintech, and bitcoin. My responsibilities have grown to include leading multiple engineering teams. I still build the software myself.
Software engineering
I have extensive experience with Elixir and the BEAM, and have built numerous systems with them over the years. My work includes software architecture and distributed systems. JavaScript, TypeScript, and Rust are also primary languages for me.
Engineering leadership
I’ve mentored engineers, led teams directly, and overseen multiple engineering teams. I’ve also designed engineering process and policy for companies. That experience shapes my approach to AI adoption: the tools and the way people work with them have to be designed together.
AI-native engineering
At my current company, I lead the move to agentic development across multiple engineering teams. I’m responsible for building the infrastructure and establishing how it’s used, including the agent guidance, engineering policy, and rollout.
The systems in my case studies grew out of practical problems: agents repeatedly searching the same codebase, context disappearing between sessions, and the coordination it takes to turn a product brief into working software.
Engineering case studies
A software factory built with agents
Case study
An agent-driven workflow from product brief to scoped tickets, implementation, review, QA, and merge, with human intervention when needed.
Read the case studyAgents that learn from their work
Case study
A workflow that turns coding-agent experience and human corrections into persistent guidance for future development sessions.
Read the case studyKeeping documentation current
Case study
An agent workflow that updates system documentation alongside code changes, keeping business decisions grounded in how the software actually works.
Read the case studyOpen-source projects
Two tools I built for EVE Online, now used by thousands of players.
Nicotine
Rust
Running several EVE characters at once means keeping track of multiple game windows. Nicotine gives players live previews and configurable shortcuts so they can see what’s happening and switch to the right window quickly. I built it in Rust with native integrations for Linux and Windows.
Replicator
Rust, Tauri, React & TypeScript
Replicator saves players from setting up the same interface separately for every EVE character. It copies settings between characters, includes a visual layout editor, and keeps a local Git history so players can inspect and undo changes. It runs on Windows, macOS, and Linux.