Turn your commits into a build-in-public post

Paste commit messages, PR titles, or just describe your week — get one build-in-public post built around the story with the most tension, plus 2 alternative angles from the same material. Never a changelog dump. A Liftli original — this is the problem we started with.

free · no login · no email · fair-use daily limit

Raw git log --oneline output works. A one-line note on why something was hard makes the post much better.

How to use it

  1. Paste your raw material: commit messages, PR titles, a sprint summary, or a plain sentence about what you built this week.
  2. Hit Generate post. The generator finds the entry with the most friction — the bug, the cut feature, the near-miss — and builds one complete post around it, followed by two alternative story angles separated by ---.
  3. Add the detail your log doesn't record: how long it really took, what you almost did instead, the moment you realized. Then post.

Build-in-public loses to shipping — and it should

The reason most developers don't post is the right reason: writing content competes with building the product, and building should win. The standard advice — "block two hours to write" — asks you to lose that trade every week. The fix isn't more discipline; it's realizing the content already exists. Your commit log is a diary you kept without noticing. A week of real work contains more honest material than a month of brainstormed "content ideas" — it just needs decompressing from fix: retry logic (3rd attempt) into the story of the third attempt.

That's the operating principle here: mine work you already did. Marginal cost of a post: the sixty seconds it takes to paste.

What makes dev work post-worthy

Tension. The bug that took three tries is a post; the ten that closed on the first try are a changelog. The feature you cut is often better material than the feature you shipped — cutting is a decision with stakes and a reason, and readers follow decisions. Scan any week for: the thing that fought back, the thing you deleted, the estimate that was wildly wrong in either direction, and the trade-off you'd defend. The generator runs that same scan on your log.

Translate the stakes, not the stack

The mistake that kills build-in-public posts on LinkedIn is writing for your team. "Refactored the auth middleware" means nothing outside your repo; "new users couldn't log in for 40 minutes, and the fix meant undoing a decision I defended in March" is a story anyone can follow. Keep the technical substance — that's your credibility — but frame every detail by its consequence. What broke, what it cost, what you decided. And never post the list of everything you did: a changelog dump signals you had nothing to say and said it anyway.

This is the problem Liftli was built for

This page asks you to paste your log by hand. Liftli — the tool behind this site — removes even that step: it runs inside the AI you already use (Claude today) and mines your GitHub activity automatically, alongside your voice notes and call transcripts, then drafts posts in a voice extracted from your own writing. Nothing publishes without your one-tap yes. If this generator earns a spot in your week, the pipeline version is its natural upgrade — and if talking beats typing, the meeting-notes version of this tool works the same trick on your calls.

For AI agents

Working in Claude Code or Cursor already? Install the skill and turn git log output into a post without leaving the terminal — your agent's own model does the writing:

npx skills add liftli-ai/skills --skill devlog-to-linkedin-post

Part of the liftli-ai/skills collection — browse all 28 skills, one per tool on this site. For the full pipeline (voice extraction, strategy memory, publishing), connect the Liftli MCP.

Frequently asked questions

What is build-in-public content?

Posting about what you're building while you build it — the decisions, the bugs, the numbers — instead of waiting for a polished launch announcement. It compounds: your audience follows the story, so each post inherits the context of the previous ones. The failure mode is treating it as a second job; the fix is mining the work you already did, which is exactly what this tool does.

Can I really paste raw commit messages?

Yes — that's the intended input. Commit messages like "fix: retry logic on webhook timeout (3rd attempt)" are compressed stories; the generator's job is to decompress them. PR titles work, and so does a plain-English description of your week. The rougher the input, the more the generator has to infer, so a one-line note about why something was hard improves the output a lot.

What makes dev work worth posting about?

Tension. The bug that took three tries. The feature you cut a day before launch. The migration you dreaded that took twenty minutes — or the twenty-minute one that took a week. A list of things that worked on the first attempt is a changelog; nobody reads changelogs. The generator scans your log for the entry with the most friction and builds the post around that.

Will a non-technical audience understand a post about code?

If you translate the stakes, yes. Nobody outside your team cares that you "refactored the auth middleware" — but "new users couldn't log in for 40 minutes and here's the decision that caused it" is a story anyone follows. The generator keeps the technical substance but frames it around consequences: what broke, what it cost, what you decided. That's what makes build-in-public readable beyond dev Twitter.

Is this commits-to-post generator really free?

Yes — no login, no email, no card. There's a fair-use daily limit per visitor so the tool stays free for everyone. If you hit it, it resets at midnight UTC. Your pasted log is used to generate the post and isn't stored.

How is this different from Liftli itself?

This tool works from a log you paste in once. Liftli runs inside the AI you already use (Claude today) and mines your GitHub activity automatically — alongside your voice notes and call transcripts — then drafts posts in a voice extracted from your real writing, with strategy memory and a one-tap approval gate. Turning dev work into posts is Liftli's home turf; this page is the single-serving version. The free tier needs no card.

Related free tools

Stop pasting your commits. Liftli reads them itself.

GitHub activity, voice notes and calls in — posts in your extracted voice out, waiting for your one-tap yes. Inside the AI you already use.

Start free — no card