Middle Mann  /  Work  /  Publishing Automation

Publish everywhere from one place you actually own.

A multi-tenant creator publishing and automation platform. Every creator gets their own subdomain, their own buffer page, their own link tree, their own publish queue and their own webhook callbacks. Schedule a post once and a worker pushes it to Instagram, fires a signed callback to whatever system needs to know it shipped and logs the entire trip through a persistent event bus. No SaaS sitting in the middle, no rate-limited shared inbox, no third-party CDN watching every asset go by.

Role Designed and built end to end
Type Multi-tenant publishing platform
Stack Node, Express, React 18, SQLite
Because

Publishing tools were never built for the creator. They were built for the platform.

  • Subdomain Per Creator
  • Owned Buffer Page
  • Live Page Builder
  • Scheduled Publishing
  • Signed Webhooks
  • CDN Cloaking
  • Event Bus
  • API-First
  • Multi-Tenant
  • Self-Hosted

Modern publishing stacks all share the same shape. A shared inbox you rent. A queue you do not control. Analytics that disappear if you stop paying. A CDN that hands your asset URLs to every third party in the chain. The creator is always the product, never the customer.

Publishing Automation flips that arrangement. Each creator runs on their own subdomain, their own buffer page, their own job queue, their own callback URL and their own event log. The publishing engine is shared infrastructure. Everything visible to the audience and everything tied to the creator's identity belongs to the creator. The platform is plumbing the creator can route through, not a landlord standing between them and their audience.

The Build

One worker. One bus. One subdomain per creator.

A Node and Express backend with a React 18 admin SPA, served behind Nginx with regex-matched subdomain routing. Better-sqlite3 holds the multi-tenant data model. An in-process worker polls a job queue every ten seconds and pushes scheduled posts to the Meta Graph API. Every meaningful action lands on an event bus with a 30-day persistent store. The whole platform installs from one repo and runs under one Node process.

01Subdomains. Regex-matched per-creator subdomain routing isolates assets, sessions and surfaces at the edge
02Builder. Per-creator page builder with live preview, profile, links and style presets baked in
03Queue. Ten-second worker polls scheduled posts and pushes them to Instagram via Meta Graph v19
04Webhooks. HMAC-SHA256 signed callbacks let external systems trust every publish result
05CDN. Origin-cloaked media served from a dedicated subdomain so creator hosts never leak
06Bus. Lane-tagged event bus with a 30-day persistent store and a live admin stream
The Page Builder

A buffer page the creator can shape live.

Every creator gets a Profile tab, a Links tab and a live preview pane that updates as they type. Display name, tagline, avatar, background, favicon, OG image. Link order, link image, link style preset, accent color. The preview reflects every change in real time and the page goes live the moment they save.

No theme marketplace, no upsell tier, no platform-branded footer. The page is the creator's surface end to end and it lives on the creator's subdomain from the moment they pick it.

The Engine Room

Every surface the operator needs, none of the ones they don't.

The admin SPA is the cockpit for the entire platform. Creators, social accounts, the post-job queue, the event stream, the media library, API keys, page style, link presets, lifecycle policy, the CDN, webhook history and database migrations all live behind one login. Built for the operator who runs the platform, not for the audience who consumes it.

The Stack

Lean tools. Long shelf life.

A small, sharp toolkit. Nothing depends on a vendor's roadmap or a SaaS subscription. Multi-tenant from day one, single-process by design, and cheap to run no matter how many creators land on it.

Frontend
React 18 React Router Axios Emoji Picker Live Preview Engine
Backend
Node.js Express better-sqlite3 JWT Auth bcrypt Multer UUID HMAC-SHA256 Express Rate Limit
Infrastructure
SQLite WAL Nginx Multi-Tenant Let's Encrypt PM2 CDN Subdomain Self-Hosted
Integrations
Meta Graph API v19 Instagram Login Nodemailer BYO Webhook Receiver BYO API Consumer
FAQ

Frequently asked questions.

What is a multi-tenant publishing platform?

A multi-tenant publishing platform runs many creators on shared infrastructure while giving each creator their own subdomain, their own buffer page, their own publish queue and their own event log. One codebase, one server process, many isolated creator surfaces. Middle Mann's implementation uses regex-matched Nginx subdomain routing and per-creator database rows to keep every creator's data, sessions and assets separated at the edge.

How is this different from Linktree, Beacons or Buffer?

Linktree and Beacons are hosted link-in-bio pages on their domain, under their brand and behind their analytics. Buffer is a shared publishing inbox rented per month. Middle Mann's platform gives each creator their own subdomain (creator.yourdomain.com), their own owned publishing engine, their own signed webhook callbacks and their own CDN cloaking. No SaaS in the middle. No shared brand footer. No third party watching every asset go by.

Which social platforms are supported?

Instagram is wired in via the Meta Graph API v19 with Instagram Login. The publishing engine is provider-agnostic, so TikTok, YouTube, X, Facebook and Pinterest are configuration entries rather than rewrites. Any platform with a public publish endpoint can plug in.

How does the scheduled publishing worker work?

An in-process Node worker polls the job queue every ten seconds. When a scheduled post's fire time arrives, the worker pushes the media to Instagram via the Meta Graph API v19, records the result, fires an HMAC-SHA256 signed webhook to any external system that subscribed and writes the whole trip to a persistent 30-day event bus. Failed publishes retry with exponential backoff and end up in a dead-letter queue for review.

What is CDN cloaking and why does it matter?

Every asset (image, video, thumbnail) is served from a dedicated CDN subdomain instead of the creator's origin. That means the creator's actual hosting URL, IP address and server fingerprint never leak into a public asset URL. It stops competitor discovery, reduces attack surface and lets the creator move hosts without breaking any embedded link.

What is the technology stack?

Backend is Node.js and Express with better-sqlite3 in WAL mode, JWT auth, bcrypt password hashing, Multer for uploads, HMAC-SHA256 for webhook signing and Express rate limiting. Frontend is React 18 with React Router and Axios plus a live preview engine for the page builder. Infrastructure is Nginx multi-tenant routing, Let's Encrypt TLS, PM2 process supervision and a dedicated CDN subdomain. Everything runs from one repo under one Node process.

Who is this platform for?

Operators who host multiple creators (agencies, studios, management companies, aggregators) and want a shared publishing engine every creator can route through without giving up ownership of their subdomain, their audience or their asset URLs. Same engine, different creators. The platform is plumbing the creator can route through, not a landlord standing between them and their audience.

The Outcome

The creator at the center. The platform in the plumbing.

Every creator owns their subdomain, their page, their queue, their callback URL and their event log. Every operator owns the infrastructure underneath. Publishing Automation is not a destination the audience visits and it is not a brand competing for the creator's logo. It is the publishing engine that runs quietly behind whichever surface the creator wants the world to see.

1
Subdomain per creator
10s
Job queue poll interval
0
Third parties in the asset path
Build yours

Want a platform like this for your operation?