About Me
I was an electronics geek as a kid, so it's probably unsurprising that I ended up working with computers. I'm not sure what I would have done in an earlier century. I seem to be built for this one.
I've spent most of my life following my curiosity. I think curiosity is one of the most remarkable things about being human. It's what makes us ask questions, explore things we don't understand, invent things we didn't know we needed, and keep pushing at the edges of what's possible.
For me, software development is a pretty good way to make a living doing exactly that.
I've worked across just about every part of software development, but I particularly love writing things that run in the browser. I enjoy taking complicated ideas and turning them into something people can actually use. I'm interested in how things work, why they work that way, and whether there's a better way to do them. That tends to lead me into architecture, infrastructure, data, interaction design, performance, privacy, and whatever else the problem requires.
But computers are hardly the only things that hold my attention.
I love street art. I'm fascinated by the creativity, ingenuity, and sheer variety of what people put out into public spaces. I'm also deeply interested in space exploration, the technology that makes it possible, and the universe itself. The more we discover, the more extraordinary it all becomes, and the more questions there are to ask.
And right now, there's something extraordinary happening much closer to home with AI. For someone who has spent decades writing software, the ability to work with coding agents is changing what's possible. Ideas that once required days of implementation can become working prototypes in hours. It's opening up an enormous amount of room for experimentation, and I find that fascinating.
But there's a catch. Getting an AI agent to produce code is increasingly easy. Knowing whether that code belongs in the system is something else entirely. The challenge is finding the right balance between what agents can produce and what an experienced developer needs to understand, direct, and take responsibility for. Reliability, consistency, security, privacy, and technical correctness don't become less important when code is easier to generate. If anything, they become more important.
That's where I think the really interesting work is happening. I'm exploring how much more a developer can accomplish with AI without giving up ownership of the software being built. The tools are changing rapidly, but the need for judgment isn't going away. And the possibilities are enough to keep my curiosity thoroughly occupied.
I'm always learning something, usually several things at once. Lately that includes Svelte, Babylon.js, and new ways of working with AI agents.
If you're looking for the list of languages, frameworks, and acronyms, that's on my resume.