reflection
Embrace the uncertainty

Nobody knows what the future of software engineering looks like, and that's incredibly uncomfortable. But instead of waiting for someone to hand us the answer, I think the move is to embrace the uncertainty, because these moments of deep uncertainty have historically been moments of extraordinary opportunity.

Mar 4, 2026
tutorial
Start where you are: A practical guide to building with AI

The best practices for building with AI haven't been written yet, and that's actually exciting. This post breaks down a layered approach to AI-assisted development, from chat to coding agents to agent fleets, with practical tips for getting started no matter where you are.

Feb 26, 2026
reflection
Living in the inflection point

I'm scared, I'm excited, and I'm exhausted by the pace of change. All of those things can be true at the same time. This blog post is a (hopefully) grounded take on living through AI's inflection point, why the backlash is valid, and why human connection matters more now than ever.

Feb 9, 2026
reflection
I guess I'm AI-pilled now?

I went from brain dump to a working productivity tool in a single day. Here's how listening to the How I AI podcast pushed me to finally experiment with personalized software, MCP, agents, and skills—and why I think it's time to get on board (with some caveats).

Jan 31, 2026
reflection
AI Has an Image Problem

I spent 2025 going from skeptical to genuinely excited about AI tools. My non-tech friends and family spent 2025 learning to hate them. The AI industry has fumbled this introduction so badly that we've turned a useful set of tools into a cultural flashpoint - but the damage isn't irreversible.

Jan 13, 2026
reflection
2025 in review

2025 was my year of doing ALL the things - speaking at 5+ conferences, starting a podcast, shipping side projects, and somehow not completely burning out. I learned that momentum creates more momentum, perfectionism is overrated, and seeing people in real life again after years of isolation is actually really, really good.

Jan 9, 2026
proposal
Representing groups in ATProto

I wanted to add book clubs to my GoodReads-like app (Collective), but ATProto doesn't have a standard way to handle shared group resources yet. So I'm building opensocial.community—a separate service that manages groups independently from any single app. This means the same book club could potentially work across multiple apps (imagine your book club having both a reading list in Collective AND a discussion forum in another app), and groups can migrate between providers if needed. It's probably over-engineered for my use case, but might help other ATProto developers building community features.

Dec 21, 2025
reflection
Build the thing you wish to see in the world

For most of my career, I've been confusing building products with building businesses—and that confusion kept me from pursuing a lot of ideas. Two weeks off helped me realize that not everything needs to be a startup, and some of the best things we build are the ones we build just because we want them to exist.

Dec 3, 2025
tutorial
A Software Engineer's Guide to Agentic Software Development

I've cracked the code on breaking the eternal cycle - features win, tech debt piles up, codebase becomes 'legacy', and an eventual rewrite. Using coding agents at GitHub, I now merge multiple tech debt PRs weekly while still delivering features. Tickets open for months get closed. 'Too hard to change' code actually improves. This is the story of the workflow.

Nov 25, 2025
Blog
The art of saying yes: How I do so many things
Aug 7, 2025
tutorial
I finally added Bluesky comments and likes to my blog (and you can too!)
Aug 5, 2025
review
My Honest Take on the BenQ RD280U Programming Monitor After Three Months of Daily Use
Jun 29, 2025
reflection
My Adventure on the Web Dev Challenge - Caffeine, Code, and Cameras!
Apr 16, 2025
conference
Epic Web Conf - You can just do things
Mar 27, 2025
Blog
How I use AI to enhance my writing
Feb 19, 2025