Scheduling posts for your own accounts is a queue, a calendar and a worker that calls each network's API at the right minute, and an agent builds that in a day. The weekend goes on the networks rather than the code: each one wants its own developer app and tokens that expire, has different rules for images and video, and X now charges per API request. Hootsuite's other half, the shared inbox, listening and team approvals, is where the price comes from, and a personal build stops short of it.
Before you buildHootsuite has no free plan, but Buffer's free plan covers 3 channels with 10 scheduled posts each, and Postiz is free to self-host.
Build me a personal social post scheduler to replace Hootsuite. Requirements: - Node.js 22 + TypeScript: a Fastify API, a React front end built with Vite and a separate worker process. `npm start` serves http://localhost:4950; `npm run worker` publishes due posts. - Storage: better-sqlite3 in ./data/social.db with accounts (network, handle, encrypted tokens), posts (body, media paths, status, scheduled_at, timezone) and post_targets (post, account, status, remote id, error). - Tokens are encrypted at rest with AES-256-GCM (Node crypto), the key in TOKEN_KEY in .env. Client ids and secrets also live in .env. - Networks, in this order: Bluesky (app password through `@atproto/api`), Mastodon (access token), LinkedIn (member posts through OAuth with `w_member_social`), then Facebook Pages and Instagram Business through the Meta Graph API. Each sits behind a `Publisher` interface with `validate(post)` and `publish(post)`. X is not included. - Composer: one text box with per-network character counters (Bluesky 300, Mastodon 500 by default, LinkedIn 3,000), up to 4 images with alt text, and a date and time picker in the chosen timezone. - Calendar: week and month views, drag to reschedule, statuses draft, queued, published and failed, and a retry button on failed targets. - Worker: poll every 30 seconds, lock a due post before sending, retry failures 3 times with backoff, never publish the same target twice. - Single user, one password in .env. No accounts, no telemetry, local-first. Outbound calls: only the networks you connect. - Out of scope: unified inbox, listening, analytics, approvals, TikTok, X, video. - README: creating each developer app (Meta apps stay in development mode for your own accounts), redirect URLs, and a warning that LinkedIn and Meta tokens expire and must be re-authorized.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Hootsuite.
Add posting slots to the scheduler in this folder. Requirements: - A settings page where I define weekly slots per account (for example Tue 09:00, Thu 14:30) in my timezone. - An "Add to queue" button on the composer that assigns the next free slot of each chosen account and shows the time it picked. - Dragging a queued post to another slot swaps the two posts. - Slots skip dates I mark as holidays. - Update the README.
Add per-network variants to the composer of the scheduler in this folder. Requirements: - After I write the main text, a "Draft variants" button calls an OpenAI-compatible endpoint set in .env (LLM_BASE_URL, LLM_MODEL, LLM_API_KEY) and returns one version per chosen network that respects its character limit. - Variants are editable text boxes; nothing is saved or queued until I press Schedule. - Keep links and mentions unchanged and warn if a variant dropped one. - Update the README.
Add basic engagement counts to the scheduler in this folder. Requirements: - Once a day, fetch like, repost and reply counts for posts published in the last 30 days from Bluesky and Mastodon, which need no extra approval, and store them in a metrics table. - A page listing posts with the latest counts, sortable, and a small line chart per post. - Skip networks that need special access and show them as "not collected". - Update the README.
Add a Hootsuite CSV importer to the scheduler in this folder. Requirements: - A page that takes the content calendar CSV exported from Hootsuite; read the header first and show the proposed column mapping for text, date, time, account and media link. - Map Hootsuite accounts to my connected accounts with a dropdown per account name. - Create posts as drafts, never as queued, so I can review them; download media links straight away, since they expire after a week. - Skip rows without text and print imported, skipped and failed counts. - Update the README.
Teams pay for one place where everyone posts, approves and replies across accounts they can't afford to break. Agencies also get client reports, and nobody has to maintain connections to a dozen changing APIs.
Estimate · Runs on a free tunnel or a $5 VPS. Bluesky, Mastodon and LinkedIn cost nothing to post to; X bills per API request. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Standard | — | $99/user | 10 social accounts, unlimited scheduled posts, AI post and image generation, one inbox, brand and competitor monitoring. |
| Professional | — | $199/user | Unlimited social accounts, automated inbox replies and workflows, 90-day trend forecasts, custom performance reports. |
| Advanced | — | $399/user | Content approvals, message assignment and routing, coordinated content and customer care, team performance measurement. |
| Enterprise | custom | — | Advanced analytics and listening, SSO, custom compliance solutions. |
No free plan on the plans page. A 14-day trial needs no card and caps posting at 10 to 20 posts a day per organization, with no bulk scheduling.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: A unified inbox for comments and messages across networks, Approval flows and roles for teams.
About $99 a month on the Standard plan per seat, $1,188 a year (checked 2026-10-14).
A unified inbox for comments and messages across networks; Approval flows and roles for teams; Brand and competitor monitoring, listening and trend forecasts; Reports and analytics pulled from every network; A vendor that tracks API and policy changes for each network so you don't; AI drafting for posts and images. If any of those matter to you, keep paying.
Yes: Postiz (open source), BrightBean Studio (open source), Mixpost (open source).