Articles
Why I am building Overpass in Go
I rewrote Overpass in Go over a dozen evening couch sessions: learning OSM, building a query and storage engine, and testing agent harnesses along the way.
Rewriting Spring Data JPA query methods in Go
Like everyone else, I've been experimenting with agentic coding. It took me out of my regular stack and into Spring, where I found a novel way to query a database — so I rewrote it in Go as a code generator.
Which framework for AI first development in 2026
I built the same thing nine times over in completely autonomous agent mode so that you can have one empirical data point on token efficiency, quality and effectiveness of MCPs and skills.
Who builds software that lasts 50+ years?
The first 10 years of my career have been focused on building things for the internet. There are other niches who focus WAY more on quality and longetivity of software, I find this strange and intersting and I'm learning from their approach.
AI copilots for the eternal tinkerer
AI copilots won’t replace developers—they super-charge prototyping. You should keep adopting the tools, but be wary of the hype and doom.
Stand out be authentic: landing a job in 2025
Learn how to stand out in the job application process. 2025 is a tough year to be a junior, but you can pick up a few of my tricks here to stand a better chance. Everyone looks the same when they generate an application with AI. Now it is more important than ever to stand out.
The Ersin Test
Joel Spolskey wrote an amazing piece 'the joel test'. He gives us 12 questions that any great software team should say yes too. Today, I gift you the 2025 version with my own experience working in some pretty great teams.
The queue theory lesson every software team needs to learn
Queue Theory helps us understand some counter intuitive things about software development. I use hardcore math and a Javascript simulation to illustrate the concepts.
The Go Web Stack That Actually Makes Sense in 2025
A minimalist's guide to server-side Go: Learn how Templ, Chi, and Air deliver speed and simplicity without sacrificing developer happiness.
Zero Drama deployments with caprover
Looking for a reliable, low-maintenance blog setup that won't break the bank? Here's how I built a robust solution that costs just $5 a month. It's enterprise-grade features without the complexity or price tag.
Build a local first sync engine with AI
I just wrapped up an interesting project: building a CRDT (Conflict-free Replicated Data Type) backend in Rust with a frontend sync engine. The cool part? I did most of it through Windsurfer editor's compose feature. Here's how it went.
My blog grew by 12% in 2024
In 2024, I proved a theory: Yes, you can grow a tech blog through search traffic alone. With zero active marketing, I saw a 4,509% increase in organic search volume and a 12% increase in active user volume.
An AI copilot review for 2024
I had a fun afternoon building this little LLM tool which lets me chat with gemini-1.5 from the command line. You should be checking this out if you are a developer. The context window is massive and you can process so much more than you could with the first iteration of LLM apis.
BFF is a tool for making user interfaces
Tired of wrestling with HTML, CSS, and JavaScript just to create a simple user interface? Meet BFF, the Go developer's new best friend for backend flows.
Having fun with LLM tools
I had a fun afternoon building this little LLM tool which lets me chat with gemini-1.5 from the command line. You should be checking this out if you are a developer. The context window is massive and you can process so much more than you could with the first iteration of LLM apis.
What do I want from your new API?
Writing a new API product? Here's a list of what you should care about and the must-have features. Following all this will help you decrease churn, increase my hapiness and decrease support load.
Is Kubernetes a Meme in 2024?
I'm diving in to my experience and recommendations on who should use Kubernetes at work or for fun in 2024.
Reflection is slow in Golang
How to get a 29x performance improvement by removing reflection from a go codebase.
The Best Go API Framework for RESTful services
Tired of clunky Go API frameworks? This week I explore a framework that leverages Go's type system for clean RESTful APIs, streamlined development, and superior documentation.
Python is still a GREAT choice in 2024 -- here's why
Choosing some old boring technology reignited my passion for building. HTMX, Flask and SqlAlchemy are a great choice for a project in 2024.
Learning better testing using BDD
I reflect on a fun evening hack, and the future of authentic human writing on the web.
Wrangling chat GPT for writing
I reflect on a fun evening hack, and the future of authentic human writing on the web.
My Blog now supports RSS
This week we add an RSS feed to my blog using golang. Here's how
Screens First, Data Model Second
This week we are reflecting on a recent blog post from a developer of 30 years who asserts that you should never do screens first. I disagree, and here is why.
Sailing through 2023: a reflection on Remote Work, SaaS Ventures, and Writing in public
Join me as I recap 2023. A year of balancing remote work, a new SaaS role, creating content and becoming a dad. I'll share what went well, what didn't go so well, and what I'm looking forward to in 2024.
Creating the Local First Stack
We continue
Local First Software
This week I explore the concept of local first software, and how it can help you build better software.
Should I hack on the weekends?
Balancing professional growth and personal time is hard. This week I answer: Is it important to keep working on side projects after that first job?
A Decade of Golang
Reflections on a decade of Golang, how to pick niche technologies for your software engineering career.
Crafting a lightweight markdown editor
This week we create a tiny markdown editor using Wails, React and Tailwind.
How I solved: code cracker
This week i solve the code cracker problem in rust
Quick kata: code cracker
A quick and fun code kata is to implement this algorithm to solve a code cracker puzzle.
Developer spends 10 years building blog platform
How I'm relaunching my blog after 10 years of working on it.
A Gophers hack for marketing: The Tampermonkey and AI Strategy You Need
I had a very specific need. Finding the current state of an Airbnb market in a specific location....
RSMQ for golang
RSMQ is the most simple Queue Implementation in the known universe. My own implementation here comes...
Learn functional, learn systems and learn object oriented
If you are a junior or intermediate, you should consider picking up projects or languages that help...
htmx is Old but Gold
What is htmx? htmx is this tool I have been flirting with for creating dynamic web applications. It...
Fighting boilerplate with code generation
Greetings fellow gophers. Go is optimized for readability, but it can be a bit repetitive for the wr...
How to ask for help
Asking questions well is one of the most important skills to develop as a new professional. Really gr...
Build infinite scroll in Svelte
Svelte is an interesting framework because it is not really a framework. To be accurate, it is a comp...
You don't always need to love the code
In a community programming forum I heard a new developer say: I quit programming, here to chat. It...
Get better at writing with 3 lines of bash
Everyone knows that great communication skills are the most important trait we want in our team membe...