NEW: the postqueen MCP server is live. Connect it in a minute
All posts

Building a Social Content Stack from Open Source Tools

postqueen team6 min readOpen Source

Most content stacks are assembled by accident. A notes app because someone liked it years ago, a design tool because it had a free tier, a scheduler because it came first in a search result, an analytics dashboard nobody opens. Each piece has its own login, its own export format and its own price increase, and no two of them speak to each other without a human copying text between tabs.

Rebuilding that stack from open source tools does not automatically make it cheaper or better, and pretending otherwise is how people end up resenting their own infrastructure. What it reliably makes it is inspectable and portable: files you own, formats you can read, and an exit that is a copy command rather than a support ticket. Here are the pieces, the genuinely open options for each, and what you take on in exchange.

The Six Jobs a Content Stack Does

Strip the branding off any content operation and the same six jobs sit underneath. Most tools claim four of them and do one well, which is why stacks sprawl.

  • Capture: catching ideas before they evaporate, in whatever half-formed state they arrive in.
  • Draft: turning a fragment into text somebody would actually read.
  • Assets: the image, the diagram, the screen recording, the thirty second clip.
  • Schedule and publish: getting the thing onto networks at a time you chose, without you being awake for it.
  • Measure: finding out whether any of it landed.
  • Store: keeping the archive somewhere you can still search two years later.

The useful thing about that list is how differently the jobs fail. A notes app that is down for an hour costs you nothing, because you write in a text file and paste it in later. A scheduler that is down for an hour, at the wrong hour, costs you the launch. Hold onto that distinction, because it decides where the rest of this goes.

The Pieces, and the Open Options

Capture and Drafting

The most durable option here is also the least exciting: Markdown files in a git repository. No sync service, no export path, full history for free, and every editor and AI tool already speaks it. If you want more structure on top, Logseq and Joplin are both open source and both keep plain files underneath, which means switching later costs you an afternoon instead of your archive. The test to apply to any capture tool: if it vanished tonight, could you still read what you wrote? If the answer involves an export wizard, keep looking.

Images, Video and Everything Visual

This is where open source is strongest and where people assume it is weakest. GIMP and Krita handle raster work, Inkscape does vector, and Penpot covers interface and template design in the browser with real collaboration. For video, FFmpeg does the encoding that most other tools are wrapping anyway, Kdenlive and Shotcut put a timeline in front of it, and OBS Studio records the screen capture you were going to make regardless.

The honest caveat: the learning curve is real. If your team is already fluent in a commercial tool, retraining everyone to save a monthly fee is a bad trade. Swap the visual tools last, if at all. They are the pieces where familiarity is worth actual money.

Scheduling and Publishing

This piece has the shortest list of credible open options, because it carries the most unglamorous work: every network changes its API, its media rules and its auth flow on its own schedule, and somebody has to keep up with all of them forever. postqueen is AGPL-3.0, covers 30 channels, and self-hosting it is free using a Docker image you run yourself. It is also the piece worth thinking hardest about before you self-host it, for reasons that come a section from now.

Glue and Measurement

For automation, n8n is the popular answer and deserves an asterisk. It is source available under its own Sustainable Use License rather than an OSI-approved open source license, so you can read it and self-host it, but the terms are not the terms covering the rest of this list. If that distinction matters to you, Node-RED is Apache licensed and will do the same job with more wiring. For feeds, FreshRSS and Miniflux are both open source and both make excellent triggers.

For measurement, Plausible, Umami and Matomo are all open source and all self-hostable, and all three tell you the same true and strictly limited thing: what social sent to your site. What happened inside the network stays inside the network. No self-hosted analytics tool changes that, so your scheduler's own numbers and each network's native dashboard remain the only place reach and engagement actually live.

The Scheduler Is the Load-Bearing Piece

Go back to how the jobs fail. Five of the six are tools you sit in front of, so a breakage announces itself immediately: you are looking right at it. The scheduler is the only piece with an external clock, and the only piece holding credentials to accounts you do not own. It fails while you are asleep, it fails without an error message, and the evidence is a gap in a calendar nobody checked.

That is also why it is worth wiring properly rather than clicking through. A scheduler with a CLI and an API is a scheduler the rest of your stack can talk to, which is what turns a pile of tools into a pipeline: a script takes the finished Markdown, and the chain from file to queued post runs without anyone opening a browser.

terminal
# The scheduler is the piece the rest of the stack talks to
npm install -g postqueen
export POSTQUEEN_API_KEY=your_api_key
 
# What am I actually connected to?
postqueen integrations:list
 
# Queue the draft the rest of the stack produced
postqueen posts:create --json ./drafts/release-notes.json

That property matters more than any feature comparison you will read. A tool a script can drive is a tool your stack can grow around. A tool with only a dashboard is a tool you will be pasting into for as long as you use it.

Open source does not remove the bill. It moves it from a subscription line into your calendar.

The Tradeoffs, Honestly

The comparison people reach for is a cheap VPS against a subscription, and that comparison is missing most of its terms. Here is the rest of it.

  • OAuth apps: a hosted scheduler comes with the app registrations already made and already reviewed. Self-hosted means you register your own on every network, some in five minutes, some behind a review that wants a use case and a privacy policy URL.
  • Upkeep: Postgres, Redis, certificate renewal, disk, upgrades, migrations. Individually small, collectively a standing appointment.
  • Being on call: not formally, but somebody has to care whether the queue is moving on a Sunday.
  • Your hours: two hours a month, priced at what your time is honestly worth, clears most subscription tiers. That does not make self-hosting wrong. It makes cost the wrong argument for it.

The wins are just as real, and they deserve naming precisely rather than waving at. Your data sits in a database you can dump. Your archive is not hostage to a plan tier. Nothing you depend on can be moved behind a higher price band next quarter, because the license is the license. And when something breaks, reading the code is an option rather than a support queue. Those are good reasons to self-host. Saving money usually is not.

Where to Draw the Line

The most sensible stacks are not ideologically pure, and they tend to split on a single question: who gets paged. Self-host the pieces where downtime costs you nothing, which is most of them. Notes, image editing, video, feeds and analytics can all be down for a day and the only casualty is your afternoon. Then treat the piece with the external clock differently, because it is the one that fails in the dark.

If someone on your team genuinely wants to own infrastructure, invert that and run everything yourself; the postqueen Docker image exists so that is a real option rather than a gesture. If nobody does, run the open tools where they cost nothing to run, put the scheduler somewhere a person other than you is awake for, and spend the recovered hours on the content. Both are good answers. The failure is choosing one on ideology and meeting the tradeoff later, on a Sunday, via a queue that stopped moving on Friday.

Ready to get started?

Queue this week's posts in minutes, or hand the whole thing to your favorite AI. postqueen keeps publishing either way.

Seven days free. Cancel in one click from settings.