Blog

This is a blog about software engineering, consulting, coffee and other things that I find interesting.

2025

Why I created a bulk product uploader for Printify

Manually creating Printify products was taking too long to do manually. I created a Python application to programatically create products and upload them to Printify.

Super Nova from Silver Bird

A hyped Minneapolis roaster that didn't live up to what I thought it was going to be. Dark roast, bitter notes, and an underwhelming shop experience.

That email address contains five or more consonants in a row.

I'm starting a newsletter for this blog and heard good things about Buttondown. But then I got this error and couldn't sign up.

Be A T-Shaped Developer

Modern development jobs increasingly require knowledge across multiple domains. Here's why becoming a T-shaped developer with deep expertise in one area, broad knowledge across others is crucial.

My Facebook ads stopped working and crashed in September

My Facebook ad traffic dropped from 15K to nearly zero sessions in September. Here's what happened, what I learned, and how I'm building more resilient traffic sources.

Finca La Guadalupe from Minimum Wage Tim

A Honduran with huge beans that made an okay cup—solid but unremarkable, not blow-you-away territory.

Marketing Feels Like Hell for Developers

Marketing feels unnatural to developers because it’s built on ambiguity, not precision. Here’s how to approach it like an engineer and make it work for you.

My /feeds Page: Building Community on the Indie Web

Why I created a /feeds page, what it is, and how it helps foster community in the indie web.

Mantos Juntas from S.K. Coffee

A Colombian natural process roast

Find Coffee Anywhere You Are In Minnesota

An overview of the web application that I built to display all the coffee shops in Minnesota. Complete with open hours, directions and Google AI summaries.

Is September Getting Hotter in Minneapolis? A Data Visualization Look

A Highcharts data visualization analysis of September temperatures in Minneapolis, comparing historical highs and monthly averages to see if the city’s falls are warming.

Nicaragua from Minimum Wage Tim

Solid, consistent South American beans—sometimes the best compliment is reliability without surprises.

Infusu from Crema

A Southern Italy dark roast that was too dark for pour over but made excellent lattes and cortados with full rich chocolatey notes.

The Principles of Being a Software Architect

A direct, professional breakdown of what it takes to be a trusted software architect in high-stakes environments.

Code Review Your Own Code

LLMs speed us up, but they don’t replace the basics. Always open a PR and review your own code, even if the bulk of it came from an agent.

Five Watt Coffee Cortado

A cortado that taught me more about barista interactions than espresso extraction—sometimes the people-watching is the real brew.

Photos: August 2025

Photo round up from August 2025

MPLS Coffee is now MN Coffee

This month I'm releasing a big set of updates to MPLS Coffee. The biggest is a facelift and a name change from MPLS Coffee to MN Coffee.

Early mistakes in Big Little Cities

We just finished our second month of Big Little Cities. As it was successful, we also had some mishaps. This blog post is about what we did wrong along the way.

Photos: July 2025

Photo round up from July 2025