What I Work With
I've been building software long enough that a list of technologies can get ridiculous pretty quickly. This isn't meant to be everything I've ever used, and everything here isn't something I'd claim to be an expert in. It's a snapshot of the technologies and areas I work with today, from things I've used for decades to things I'm actively learning because a project gave me a reason to learn them.
I Don't Really Have One Stack
The tools change with the problem. I might be working on a Rust agent runtime in the morning, a React interface in the afternoon, debugging Kubernetes infrastructure later that day, and experimenting with model inference that night.
What matters more to me is understanding enough of the system to move between those layers when the problem requires it.
Agent Systems
The machinery around the model: harnesses, loops, tools, context, orchestration, memory, evaluation, and the environments where agents actually do work.
Evaluation & Verification
I care a lot about knowing whether an agent actually did what it says it did, and whether a change made the system measurably better.
Models & Inference
I run models locally as well as through hosted providers, so I spend a fair amount of time below the API layer.
Model Providers
I work across hosted and self-hosted models rather than building systems around a single provider.
AI Infrastructure
Serving and routing models is part of the system for me, not somebody else’s black box.
Isolation & Execution
Autonomous agents need somewhere to act. I work with containers and microVMs to create reproducible environments with explicit boundaries.
Machine Learning & Training
This is an area I’m actively learning rather than something I claim deep expertise in. I understand the mechanics well enough to experiment, build small models, prepare training data, and work effectively with coding agents when I need to go deeper.
Languages
I tend to choose languages based on the system I am building rather than trying to make one language solve everything.
Backend, Data & Messaging
Most of my systems eventually need durable state, messaging, queues, caches, search, or some combination of them.
Web & Product
I still build plenty of normal software. AI is increasingly part of the system, but the rest of the product still has to work.
Apple & Mobile
I have built Apple-native software for a long time and still use native APIs when the platform capabilities matter.
Cloud & Infrastructure
I’ve spent a large part of my career designing, deploying, and operating distributed software, from application infrastructure through Kubernetes and cloud platforms.
Observability & Operations
I care more about being able to understand what a system is doing than about any particular observability stack. I’ve worked directly with production monitoring and increasingly build telemetry into AI and agent systems as a first-class concern.
Embedded & Hardware
Sometimes the software needs to leave the computer. I like working close enough to the hardware to understand the whole system.
This List Will Change
I learn technologies because I need them for something I'm building. Some become tools I use for years. Others solve one problem and disappear from my normal workflow.
If you're more interested in what I'm doing with all of this than the names of the tools themselves, the projects and lab pages are probably more interesting.