How to market a side project from your commits (without becoming a marketer)
You already write about your product every day. It's called a commit log.
"Add CSV export." "Fix timezone bug on invoices." "Onboarding: skip step 2 if no team." Each line is something a user might care about, written by the person who knows the product best. Most of us just never turn it into anything anyone outside the repo will read.
Here is the method I use, and what I've learned trying it on my own project, with the real numbers.
1. Pick the one change a user would notice
Open the last week of commits and ignore everything a user can't see: refactors, dependency bumps, CI, lint. If nothing is left, that's an answer too: don't post this week, or post about why you spent it on plumbing.
From what's left, keep one change. Not five. A post about five things is a changelog, and nobody reads changelogs they didn't ask for.
2. Rewrite it as "what changed for the user", in one sentence
The commit says what you did. The post needs what's different for them now.
- Commit:
feat: add CSV export to invoices - For the user: "You can now get your invoices into your accountant's spreadsheet in one click."
If you can't write that sentence, the change probably isn't post-worthy. That's fine.
3. Never add a number you can't point to
This is the trap with AI-written posts. Ask any model to "write a tweet about what I shipped" and it will happily add "10x faster" or "users loved it". When I tested an early version of my own tool, it wrote "People kept dropping off…" about my project with zero data behind it.
Rule: a number goes in only if it's in your commits, your diff, or your own answer. "Export now takes one click" is fine. "Export is 3x faster" needs a measurement.
4. Adapt it to the place, not just the length
- X: one short post, one idea. If you can, add an image or a short video: Resend's founders wrote that video performed best for their launch, then images, with plain text and links last (source).
- Reddit: read the subreddit rules first. Many subs restrict self-promotion; r/ClaudeAI, for example, sends project posts from accounts under 50 karma to a showcase megathread (per its moderators, April 2026). Show the thing, explain what you learned, ask a real question. Don't paste your X post.
- Hacker News: only if there's a genuinely technical angle. A plain title, no hype.
5. Tag every link, and count signups, not likes
Give each post its own link: yoursite.com/?ref=x-1009, ?ref=reddit-sideproject. Save the ref with each signup in your database. After 48 hours, the question isn't "how many likes?" but "how many signups came with this tag?"
Here is why this matters. My own project, three days in (Oct 10, 2026): 4 followers on X, 22 visitors to the page, and 0 signups from any post. The followers felt like progress. None of them signed up. Without the tags I'd have counted the followers as a win.
6. Don't kill a post type after one try
One post flopping proves very little. It could be the hour, the day, the length, the first line, the image. Decide on a type of post (a progress update with numbers, a technical story, a question to your users) and only drop it after it fails a few times at different hours. When something works, try it again at another time to see if it was the content or the timing.
7. What I got wrong
- I posted from a brand-new X account. With almost no followers, my posts got single-digit views, even with an image. Replies under bigger, fresh posts reach more people than your own posts at the start, and communities where posts are seen without followers (Reddit, some directories) matter more than your own feed.
- I treated "agreed!" under one of my replies as interest. It isn't. Interest is someone saying they have the problem.
The boring part, automated
Steps 1 to 4 are the same every week, so I turned them into a free Claude Code skill: it reads your recent commits and diff, asks you one question (what changed for the user), then drafts one X post and one Reddit post. Only numbers it can find, and it never posts for you.
/plugin marketplace add thiguillaumat-art/lowie
/plugin install ship-post@lowie
Then type /ship-post in your repo. Source and plain-skill install: github.com/thiguillaumat-art/lowie (MIT).
Steps 5 and 6, the counting and the retesting, are what I'm building next: Lowie, a marketing hire for what you ship. It's a waitlist for now, with a public rule: 30 signups by Oct 22, or I shut it down. getlowie.vercel.app
Written by the person building Lowie, in public. Questions or corrections: hello.getlowie@gmail.com.