I didn’t plan this. On February 1st I published a post about reducing OpenClaw’s heartbeat token usage because it was fresh in my head. Then I wrote another one the next day. By February 5th I realized I had a streak going and thought: okay, let’s see if I can do the whole month.
February has 28 days. That felt like a dare.
What I actually wrote about
Looking back, the posts cluster into a few buckets. The biggest one is AI and agents. I wrote about AI pair programming being more management than magic, about shell-first agents outperforming fancy ones, about moving my AI setup to a homelab, about building my own AI news anchor, and about planning before prompting when using Amp. This is where my head has been lately, so no surprise there.
Then there’s the five-part blog redesign series. I audited what was wrong, added a blogroll, rebuilt the theme from scratch, sweated the small stuff, and wrote up what I learned. Five posts on one redesign sounds excessive, but each part stood on its own and people seemed to find different parts useful.
Then there’s the day job stuff — data engineering, backend, DevOps. Docker maintenance, DNS as code, upgrading four PostgreSQL instances, debugging an Airflow executor error, chasing a transitive dependency vulnerability. This is what I actually do all day, so writing about it came naturally.
And then there’s everything else. A Telegram bot for 24,000 developers, a PSN game scraper, managing my house in the terminal, why I self-host everything. I even wrote about deadlifts.
Some days had two posts. Those weren’t planned either — I just had more to say.
The hard part
Around day 12 I hit a wall. I’d used up all the easy topics — the stuff I’d been meaning to write about for weeks. From that point on, every morning started with “what am I going to write today?” which is a bad question to wake up to.
What helped was lowering my standards. Not every post needs to be a deep dive. Some of my February posts are short. The yak shaving one is basically a long anecdote with a point at the end. The innerHTML post is a reaction to a Firefox feature. Those are fine. They’re blog posts, not dissertations.
The other thing that helped was writing about whatever I was doing that day. The Airflow post came from debugging at work. The PostgreSQL post came from a weekend upgrade. The clap button posts (yes, two of them) came from actually building and then over-engineering the feature on this blog. Writing about what you’re already doing cuts the prep time in half.
What I noticed
My writing got faster. The first few posts took me two or three hours each. By the end of the month I could get a draft out in about an hour. The editing still took time, but getting words on the screen became less painful.
I also noticed that I write better when I’m not trying to be comprehensive. My best posts from this month are the ones where I pick one specific thing and talk about it. The worst ones are where I tried to cover too much ground.
The streak also changed how I consume information. I started reading blog posts, release notes, and documentation with a filter running in the background: “is there a post in this?” Sometimes there was. The Go 1.26 post on the last day of February came from reading Keith Randall’s Go blog post and wanting to explain the allocation changes to myself.
Am I going to keep doing this?
No. 28 days was enough. Daily publishing is a useful exercise but a bad habit. Some of these posts needed another day of editing. A few could have been combined into longer, better pieces. The pressure to publish something every day occasionally won over the desire to publish something good.
I’ll keep writing, probably two or three posts a week. The daily habit proved I have enough material. Now I want to be pickier about what gets published and spend more time on each piece.
If you’re thinking about trying a daily writing challenge: do it for a month, not longer. The first week is easy, the second week is hard, and the third week is when you actually start learning things about how you write. By the fourth week you’re ready to stop, and that’s the right time.
29 posts. 28 days. Some good, some okay. On to March.