One intent. One Stack. One version per channel. Everything in Supastack follows from this idea.
A Stack is the container that holds one communication intent and all of its channel-specific expressions. When a founder wants to announce a new feature, that is a Stack. When a creator wants to share a perspective, that is a Stack. When a marketing team wants to push a launch message across three channels, that is one Stack.
Inside that Stack, the outputs differ. The LinkedIn version is a professional narrative. The X version is a compressed idea with a sharper hook. The Instagram version is visual-led with a shorter caption. These are not copies of each other. They are the same intent expressed correctly for each destination.
Each channel card reflects the actual constraints and conventions of that channel. A well-designed channel card makes the right content obvious without the user needing to think about best practices.
Text-first layout. Professional preview. Character counter appears at 500, prominent at 2500. Structured arguments with a strong opening.
Tight character counter visible from first keystroke. Thread toggle when approaching 280. Compression shortcut via AI assist.
Visual-first layout. Media zone is primary, caption secondary. Hashtag zone visually separated below. Post type selector: Feed, Reel, Story.
Video-primary card. Portrait 9:16 preview. No image posts. Hook in the first second is everything.
Two-field card: title separate from description. Thumbnail upload. Video upload. Title is 100 characters, description is 5000.
+ 6 more channels: Facebook, Threads, Pinterest, Bluesky, Google Business, Reddit — each with platform-appropriate constraints.
Every channel output has a clearly defined state. No "pending without a definition of what it is pending for." No hidden transitions. Every state change is triggered by an explicit user action or communicated clearly as a system event.
Failed outputs return to Ready for retry. No zombie states. No ambiguity at the publication boundary.
Stack Score rates every published channel output 0–100 against your workspace's own performance history on that channel. Not against global benchmarks. Not against competitors. Against your own 90-day rolling history.
A score of 70 means this output performed better than 70% of your own historical posts on this channel. Weights are platform-specific: LinkedIn weights impressions and engagement differently than X or Instagram.
Every channel output passes through the safety pipeline before it can be marked Ready. The pipeline blocks publication if a check is pending or failed.
200+ default terms across 8 categories. L33t-speak normalisation (4ss → ass, @ss → ass). Custom workspace terms. Fast regex matching.
Classification only — not generation. Checks for hate speech, NSFW, harmful content, and brand mismatch if a Brand Profile is set. Cached result attached to channel output.
Extracts all URLs from content, verifies they resolve with a HEAD request. Flags broken links before publication. No dead links going live.
All three must pass before a channel output can transition to Ready. Override requires explicit confirmation by an owner — audit logged.
A calendar suggests that publishing is about managing time slots. For many users, it is about readiness and priority. The Queue shows what is next, where it is going, and when. Nothing more.
Drag to reorder. Remove without deleting the content. A calendar view exists as an optional lens — but the product soul is Queue-first.
If a Brand Profile exists, it contains structured data: tone rules, do/don't word lists, channel guidance, prohibited phrases. This data validates and guides your content. It does not replace your judgement.
14 days free. No credit card required. No onboarding session needed.