Product handbook
WriteMars is a workspace for planning, writing, approving, scheduling, publishing, and measuring social content. The product is built around a few deliberate boundaries:
- Workspaces separate brands, teams, or clients.
- Posts hold the internal idea and workflow properties.
- Variants hold the publishable copy for each platform.
- Connected accounts decide who can publish, who needs approval, and who can engage.
- States, labels, and campaigns organize work without changing what publishes.
- Approvals protect accounts without blocking collaboration.
Use this page as the product map. The linked guides go deeper on each area.
Home
Home is the operating dashboard for a workspace. It answers four questions quickly:
| Question | Where to look |
|---|---|
| Are we publishing consistently? | Streak shows the current and best weekly publishing streak, with a 12-week bar history. |
| What needs action soon? | Up next shows the next scheduled variants and recent failed publishes. You can publish due items now or retry failed ones. |
| What should I pick up? | Pick up where you left off links to drafts, pending approvals, or the calendar when the queue is empty. |
| Did recent content perform? | Last 7 days shows impressions, engagement rate, followers, and the top post when analytics exist. |
Example: if Home says there are three approvals pending and nothing scheduled, the next useful action is not to browse every post. Open Approvals, clear the held work, then use Calendar or Posts to queue the next week.
Posts
Posts is the canonical content list. A post is the internal container: title, description, state, campaign, labels, visibility, comments, notes, activity, and one or more platform variants.
Use Posts when you need to:
- find any content item in the workspace;
- filter by author, state, campaign, label, workflow, or text search;
- switch between a dense list view and a Kanban-style state view;
- create a new post without starting from a calendar or campaign.
Example: a launch announcement might be one post with a LinkedIn variant for the company page and an X thread for the founder.
Drafts, Scheduled, and Published
Drafts, Scheduled, and Published are focused slices of Posts. They segment by each post's publish rollup — the combined status of its variants — not by the workflow state you assign.
- Drafts shows unfinished work: posts whose variants are still in draft, awaiting approval, or failed to publish.
- Scheduled shows posts with a variant queued to publish (scheduled or mid-publish).
- Published shows posts that are live everywhere, with no failed, pending, or still-queued variant.
The rollup resolves by precedence — failed, then needs-approval, then publishing, then scheduled, then published, then draft — so a post with one failed and one scheduled variant surfaces under Drafts until the failure is cleared. Scheduling a variant for tomorrow moves the whole post into Scheduled on its own; you do not need to change its workflow state to match.
Post Detail
The post detail page is where the work happens. It has three major zones:
| Zone | Purpose |
|---|---|
| Header | Title, high-level navigation, and actions. |
| Main content | Platform variant tabs, editors, Feed Preview, attachments, AI actions, auto-engagement, performance, comments, and activity. |
| Property pane | Schedule, workflow state, visibility, campaign, labels, peer review, approvals, and internal notes. |
The editor autosaves as you type — there is no manual save button — and supports realtime co-editing, so teammates opening the same variant see each other's changes live. The Feed Preview panel renders each variant as it will appear natively on LinkedIn or X, in both desktop and mobile frames, so you can check line breaks, truncation, and media before scheduling.
A good workflow is:
- Create the post and give it a clear internal title.
- Add one variant per platform you intend to publish.
- Assign the posting account for each variant.
- Write copy in the platform tab, using AI only where it improves speed or quality.
- Add publishable images or internal reference files the team needs.
- Request peer review or schedule to a gated account.
- Schedule variants, then track publish status and activity.
Platform Variants
Variants are the content that actually publishes. Each post can have one variant per supported platform: LinkedIn and X/Twitter.
Each variant owns:
- platform-specific copy;
- the connected account it publishes from;
- status (
draft,needs_approval,scheduled,publishing,published, orfailed); - schedule time;
- published URL;
- attachments and engagement rules.
Example: the LinkedIn variant can publish Tuesday at 9:00 AM from the company page, while the X variant publishes Wednesday at 11:30 AM from a founder account after approval.
Twitter/X Threads
For X, the variant content is the opening tweet. Follow-up tweets live in the thread composer and publish as chained replies.
Use threads when one message needs sequence and structure: a launch story, feature breakdown, customer proof, or event recap. Keep each tweet under 280 characters; the composer shows the limit and the backend validates again before publish.
Media and Attachments
Attachments can be added to a variant, to a specific X thread tweet, or through the API to the whole post. They serve two purposes:
- publishable images for LinkedIn and X;
- internal source files, briefs, screenshots, exports, or creative references for the team.
LinkedIn variants can publish supported images with the post. X variants can publish supported images on the opening tweet or any follow-up tweet. Non-image files stay with the post for context.
Scheduling and Calendar
Scheduling lives on variants. The Calendar is the workspace's shared planning surface: it lays those variants out over month, week, or two-week views — status-truthful (scheduled, awaiting approval, publishing, published, and failed all read distinctly), filterable by platform, channel, status, author, campaign, and label, and scoped to your own work, the org calendar, or everything.
Use Schedule post on the post detail page when you are ready to choose channel times. Use Calendar when you need to see the queue across days and platforms — and to act on it: drag an entry to a new day to reschedule, open an entry's peek popover to reschedule inline or publish now, drop an unscheduled draft onto a day, or mark team moments with calendar notes. Campaigns show as colored bands across the weeks they span.
Example: a post with three scheduled variants appears as three calendar entries. Clicking one opens a quick popover to reschedule, publish, or open the post; dragging it to another day moves it, keeping its time.
Publishing
Publishing can happen two ways:
- Post now publishes a single variant immediately.
- Scheduled publishing runs from the background scheduler, usually within about 30 seconds of the scheduled time.
The same checks run either way: account exists and is active, approval is satisfied, token refresh succeeds, content is valid for the platform, and the platform API accepts it. One variant failing does not block the others.
Approvals
Approvals protect connected accounts. They are not a separate editorial workflow layered on top of everything; they are the gate that decides whether someone may publish as a specific account.
There are two kinds:
- Channel approval: automatic when someone schedules or publishes to an account they cannot use directly.
- Peer review: manually requested feedback on a post; useful for copy review, but it does not unlock account publishing.
Example: a member can propose a post to the company LinkedIn account. The variant moves to Awaiting approval. An Admin approves it, and the variant returns to Scheduled.
Channels
Channels are connected platform accounts. They are the main permission boundary in WriteMars because publishing as an account is the highest-risk action. The API and backend model call them social_profiles; the app presents them as Channels.
Profiles can be:
- Publishing accounts for scheduled posts.
- Engagement accounts for likes, comments, replies, and reposts.
- Personal accounts, visible only to the owner unless shared.
- Company accounts, visible to the workspace and managed by Admins and the Owner.
- Managed personal accounts, where Admins can schedule but the owner approves.
- Team engagement accounts, where Admins can use the account for engagement on team posts.
Trusted members can publish directly and approve other people's requests for that account.
Auto-Engagement
Auto-engagement lets connected accounts act after a variant publishes. Depending on platform support, rules can like, comment, reply, or repost after a delay.
Use it for planned amplification, not as a substitute for publishing. Rules are checked again at execution time, so revoked trust or inactive accounts stop pending actions. Automated likes are spread across a window and capped at three workspace accounts liking any one post per hour — a deliberate anti-spam limit, so the exact timing you request is a target the cap can push past. See Auto-engagement for the full behavior.
Example: after the company LinkedIn post publishes, two trusted employee accounts can like it after 5 and 8 minutes, and the founder account can comment after 20 minutes.
People, Skills, AI, and Voice
People is the workspace directory. Members can add a workspace-specific headline, About text, and topics so teammates know who writes about what. Profiles are readable inside the workspace and editable only by their owner.
Skills are reusable writing techniques. A skill can stay private to its creator or be shared publicly with the workspace. Create one by hand or generate a reviewable draft from published posts, then apply it through Write with AI or super chat.
AI is available inside editors and workspace settings. It can write, continue, improve, fix grammar, change tone, generate hooks, suggest hashtags, split threads, and repurpose content across platforms.
Voice settings make AI more specific:
- My voice learns from a user's own recent posts in the workspace.
- Brand voice is workspace-wide and applies on company channels when enabled.
- People profile describes who the current author is.
- Skill supplies an optional format or technique for the current draft.
Use AI as a drafting and transformation tool. The user still chooses what gets inserted, scheduled, or published.
Campaigns
Campaigns group posts around a launch, event, content series, or initiative. A campaign has a name, color, date range, description, and status. A post can belong to one campaign.
Example: create a "Q3 Product Launch" campaign, write the launch brief in the campaign page, then create every launch post from there so they are pre-assigned.
States
States are the workflow pipeline. You can name them however your team works, but each state belongs to a fixed stage such as Idea, Drafting, Review, Scheduled, Published, Blocked, or Archived.
Use states to answer "where is this post in our process?" They do not publish anything by themselves.
Labels
Labels are flexible tags. Use them for themes that cut across campaigns and states: product, hiring, founder-led, customer story, evergreen, event recap.
Example: a post can be in the "Launch" campaign, in the "Review" state, and have labels for "product" and "customer-proof".
Analytics
Analytics measures published variants and visible accounts over a selected date range. It includes summary metrics, follower and engagement trends, platform/account breakdowns, a sortable posts table, and a Members tab with a contributor leaderboard, per-account usage, and on-demand AI insights.
Analytics respects visibility. Personal channel metrics remain private unless the account is visible to the viewer.