Eight Fridays of Shipping in Public
I posted a public changelog every Friday for eight weeks to see if it would keep me shipping. It mostly did, one week I faked it, and the thing that finally closed the distance wasn't willpower.
In this article4 sections
Week one, I posted a screenshot of a login screen with a caption that took me eleven minutes to write, because I kept deleting the word “excited.” Forty-two people saw it. Three liked it. One of them was my brother-in-law, who does not know what a login screen is for.
That was the whole start of the experiment: post something real, every Friday, for eight weeks, about a small tool I was building on the side. Not a growth play. I’d read enough about Pieter Levels shipping a dozen projects in a year and narrating the whole thing in public to wonder if the narrating was doing more work than the shipping — whether writing “here’s what I built this week” to an audience, even a tiny one, changes what actually gets built. I wanted to find out on a project small enough that failing wouldn’t cost me anything but a little pride.
I’d already read the case for why side projects stall — the piece on this blog about the four systems a job quietly runs for you covers that ground, and I’m not going to re-walk it here. That post is about the whole structure: the missing scheduler, the missing monitor, the missing reward cadence, the missing deadline. This is narrower. This is just the deadline piece, and specifically one version of it — a public, dated, repeating post — tested over two months of actual use, including the weeks it didn’t hold.
The First Few Weeks Were Suspiciously Easy
Weeks one through three went fine, and I don’t fully trust them in hindsight. New project, new habit, both still novel enough to run on their own fumes. I’d sit down Thursday night, write four or five sentences about what I’d shipped, take a screenshot, and schedule the post for Friday morning. It felt less like accountability and more like a diary I happened to be showing people.
The illusion cracked in week four. A bug in how the app handled timezones ate two full evenings I’d planned to spend on an actual feature, and Thursday night arrived with nothing worth screenshotting. I could write a vague post about “infrastructure work” and nobody would blink, or say what happened: I’d spent two nights chasing a timezone bug and shipped nothing visible.
I wrote the honest one. It got more replies than any of the polished weeks — still a small audience, but two people said some version of “same, timezone bugs are the worst.” That was a useful discovery: admitting the failure did more for the sense of owing something to the log than any of the wins had. A post that only ever shows wins stops being a checkpoint and turns into a highlight reel, and a highlight reel doesn’t hold anyone to anything, including the person writing it.
Where the Weekly Post Started Working Against Me
By week five I noticed a problem the format doesn’t advertise: the Friday deadline was starting to shape what I built, not just when I shipped it. I caught myself, on a Wednesday, picking the more screenshot-friendly of two features — a small UI polish pass instead of a harder backend fix that badly needed doing — because the polish pass would look better in Friday’s post. A public cadence optimizes for whatever’s visible on that cadence, and not everything that matters is visible. I started keeping a private list of unglamorous-but-necessary work and forcing at least one of those items into most weeks’ posts even when it made for a duller screenshot. It helped, but it didn’t fully cure the pull toward the thing that photographs well over the thing that’s actually needed.
The other thing that didn’t work: for about a week and a half I cross-posted the same update to a forum, a subreddit, and a personal mailing list, thinking more places would mean more pressure. It mostly meant more time spent reformatting the same four sentences, for an audience that barely grew. I dropped two of the three and kept the one place where actual people replied.
The Week I Nearly Skipped, and What I Tried Instead
Week six is the one I’m least proud of and the most useful to talk about. I’d had an exhausting week at my day job, and Friday morning arrived with the post unwritten and nothing real to report — I’d shipped almost nothing. I typed a paragraph about “laying groundwork,” attached an old screenshot cropped differently, and posted it. Nobody caught it. That’s the part that bothered me. A public log is supposed to be harder to fake than a private to-do list, and I’d just proven to myself it wasn’t — not if I was willing to write around the truth carefully enough.
That’s what pushed me to try something more concrete for the Thursday-night writing window itself, since the problem wasn’t that I forgot the post existed — it was that I could always talk myself into a softer version of the truth at eleven at night with nobody watching closely. I’d already been using DontSnooze for an unrelated morning routine, and it occurred to me I could point the same setup at this: set an alarm for the writing window, and if I slept through it or dismissed it without a draft to show, two people I’d added — my co-founder on an unrelated project, and a friend who already knew about the log and would absolutely ask about it — would get one of my own camera-roll photos, whichever one the app happened to land on. Missing the alarm didn’t mean missing the post automatically, but it meant an actual photo, not a metaphor, landing in front of two specific people who’d then go check whether Friday’s post existed.
It worked for the two weeks I used it that way, in a narrow sense: it made skipping the writing window cost something concrete and immediate instead of something abstract and future, which is exactly what a public post you can quietly fudge doesn’t do on its own — nothing about it costs you anything until someone notices. The honest downside is that it only touched the writing window, not the work itself. It couldn’t fix the timezone bug, and it couldn’t stop me from picking the more photogenic feature. It’s a deadline enforcer, not a project manager. The interview with DontSnooze’s founder about why the penalty is a photo instead of a fine tracked with what I felt in practice: a five-dollar bet has a price you can silently decide is worth paying, and a candid photo from eleven months ago landing in front of a specific person doesn’t have one. There’s no number to negotiate against at eleven at night when you’re tired and the post isn’t done.
I’d rather not oversell it — this wasn’t the hero of the story, just one tool among several that quarter, alongside the private unglamorous-work list and the habit of writing the failure weeks instead of dressing them up. Removing any one of them probably would have weakened things a little, not collapsed them.
What Eight Weeks Actually Added Up To
Eight posts, one faked, one honest miss written up as a miss, and a project with more real, working pieces than it had in June — I won’t pretend to have a precise before-and-after number, since I wasn’t tracking one going in, but it’s a small handful of actually-used features that didn’t exist eight weeks ago, which for evenings stolen from a day job is more than I expected. The bigger finding wasn’t about audience size, which stayed small and unremarkable the entire time. What changed was that Friday had a specific, dated, slightly public shape a private to-do list never had, closer to what a commitment device is supposed to do: not motivate you, just make the quiet, private version of backing out a little harder to reach for.
If you’re weighing whether to start one of these logs yourself, I’d say the format matters less than you’d think and the honesty about the bad weeks matters more than you’d think. The polished weeks were pleasant. The one where I admitted I’d spent two nights losing to a timezone bug is the one I’d point to if you asked whether any of this actually did anything.