Ship code. We ship the content.

Turns your GitHub commits into ready-to-publish posts for X and Bluesky, automatically

GitHub
ShipContent
X · Bluesky

Read-only GitHub access. We read merged PR diffs and release notes only from repos you connect. Privacy Policy

Free to start, no card required. Upgrade to Pro anytime.

Already have an account? Log in

One event, every channel

A merged PR becomes a ready-to-post draft for each platform you connect, same story, tuned voice and length per channel.

PR merged:feat: add dark mode toggle
See it in a different voice:
Twitter / XDraft

0/280

BlueskyDraft

0/300

More platforms coming soon

We use it on itself

Every one of these was written by ShipContent, from ShipContent's own commits. No cherry-picked screenshots, this is the actual voice.

Blueskymarce-perez.bsky.social

Spent today thinking about how ShipContent decides what's worth writing about versus what's just noise in the commit history. Harder problem than I expected, project memory helps a lot here.

Blueskymarce-perez.bsky.social

Shipped real billing for ShipContent this week: Stripe checkout, a customer portal, and a webhook handler that keeps subscription status in sync (with a self-heal check in case Stripe and my DB ever disagree).

Twitter / X@ShipContentApp

Shipped a release and forgot to tell anyone? That's the default, actually. ShipContent watches your repo and drafts posts from merged PRs and releases the moment they happen. Less forgetting, more shipping.

Blueskyshipcontentapp.bsky.social

Autopublish just got a buffer. Set a delay before drafts go live, giving you a window to review or cancel before anything posts. Publish manually anytime and the schedule clears itself. More automation, still your call.

Blueskyshipcontentapp.bsky.social

Hit your monthly X posting limit? ShipContent won't just stop you. It now opens X's own compose window so you can publish yourself, no dead ends. Bluesky still has no limit at all. Check Billing to see exactly where you stand.

Blueskymarce-perez.bsky.social

Turns out ShipContent's auth confirm page only handled one of two link shapes Supabase actually sends. Invite links use token_hash, but password reset links (with the default email template) send a PKCE code instead. Now it handles both.

Twitter / X@ShipContentApp

Pro is here. Stripe checkout, self-serve billing portal, and real plans that stick, no more guessing what you're on. Upgrade whenever you're ready.

Twitter / X@ShipContentApp

New on the landing page: a live showcase of real posts ShipContent has written about itself. No mockups, no cherry-picked screenshots, just actual generated content scrolling by. Come see the voice for yourself.

Blueskymarce-perez.bsky.social

Opening up close beta for ShipContent this week. If you maintain a repo and hate writing release/PR announcements by hand, this is for you. Beta folks lock in a special price when it goes fully open. DM me if you want in.

Blueskyshipcontentapp.bsky.social

Your Bluesky posts now report back. ShipContent tracks likes, reposts and replies for everything it publishes, right in your Insights view, refreshable whenever you want the latest numbers. See what's actually landing, not just what went out.

Blueskymarce-perez.bsky.social

Small UX fix in ShipContent: hitting the monthly X publish cap used to just throw an error. Now it falls back to X's own compose window automatically, same as the link-blocked case already did. One less dead end for users.

Blueskyshipcontentapp.bsky.social

Password reset emails in ShipContent now work every time. We found a gap where recovery links used a different verification path than invites, and it was silently failing for some users. Fixed, no action needed on your end.

Everything lives in one place

Every draft, every channel, one feed, approve, edit, or skip in a click.

Content
acme/websitebranch: mainAutomation onMemory up to date

Pending approval

2

Published

14

Discarded

3

Total

19

All19Drafts2Published14SkippedDiscarded3
Draft2 min ago

Just shipped inline editing for generated drafts, no more copy-paste to fix a typo.

Published1 day ago

New: keyboard shortcuts for approving drafts. ⌘Enter to publish, ⌘⌫ to discard.

How it works

Event-driven

Ships when you ship

A PR merged to your branch or a release turns into a ready-to-post draft. Or autopublish it to X and Bluesky if you want hands-off.

On-demand

One button, fresh copy

Hit Generate whenever you want. It reads your repo context and past posts to find a new angle.

Scheduled
Coming soon

Always something to post

Daily or weekly runs that draft content automatically when there's something new.

Ready to let your commits do the talking?

Get started

Free to start, no card required. Upgrade to Pro anytime.