Posts and the Post Editor
Posts is the central workspace for every post you write in Callings.ai. It is where you create new drafts, return to in-progress ones, schedule for a future date, archive what no longer fits, and open the full Post Editor to refine a single post end to end. The editor is organized as a 3-stage flow (Write, Cover, Publish) with the AI Ghostwriter on the left and a live preview on the right.
Every other tab in My Calling Posts feeds into this one. Themes is where you decide what you write about. The New Post wizard is where you start a draft. The Calendar and Analytics tabs are where you track what you have shipped. Posts is where you live day to day.

Why This Page Matters
A personal brand is built by what you publish, not by what you intend to publish. The Posts tab exists to turn intent into a steady output: drafts that get finished, scheduled posts that go out on time, and a clean archive of everything you have shipped so far.
Three concrete benefits over keeping drafts in a notes app or a Google Doc:
- Every post is anchored to a theme. No theme tag, no save. That is the rule that keeps your feed coherent.
- Every post has its own AI workspace. The Ghostwriter chat reads the post's theme, intent, format, context references, your brand pillars and persona, and your full profile. It produces drafts that sound like you, not like a generic LinkedIn template.
- Every post is publish-ready. You go from blank draft to LinkedIn post and public Callings feed entry without ever leaving the editor.
The Posts List
The Posts list is the main view of this tab. Each row is one post, shown with its thumbnail (the lead image), title, content excerpt, theme tag, intent, format, and status. When a post is set to publish more than one image, the thumbnail shows a small +N images badge along the bottom so you can scan at a glance.
Filters and sorting
The toolbar above the table gives you everything you need to navigate dozens or hundreds of posts:
| Control | What it does |
|---|---|
| Status pills | All / Drafts / Scheduled / Published / Archived. Each pill is a quick filter |
| Search box | Free-text search across post titles and bodies |
| Sort | By Last edited (default), Created date, Title, or Post Status |
| Format filter | Limit the list to short, medium, or long-form posts |
Sort and filter preferences are remembered, so the next time you open the tab the table comes back the way you left it.
Row actions
Every post row has a primary click area that opens the editor. The overflow menu on the right of each row contains:
- Edit: Same as clicking the row, opens the editor.
- Duplicate: Creates a copy of the post, useful when one draft works as a starting point for a related angle.
- Archive: Moves the post to the archived bucket without deleting it. Reversible with Unarchive.
- Delete: Permanently removes the post. If the post is live on Callings or LinkedIn the modal warns you; deleting in Callings.ai does not retract from external platforms.
Opening the Editor
Clicking any post opens the editor as a near-full-screen modal. The shell is three columns:

- Left panel: the Ghostwriter chat, scoped to this post. Resizable and collapsible.
- Center panel: the active stage (Write, Cover, or Publish).
- Right panel: the Live preview. Resizable and collapsible.
A segmented control at the top of the modal switches between the three stages, each rendered with a numbered badge:
| Stage | What it covers |
|---|---|
| 1 Write | Title, theme, intent, body, and context references |
| 2 Cover | Image versions, lead selection, AI generation and chat-edit |
| 3 Publish | Destinations (Callings, LinkedIn), schedule, and manual share |
The footer holds two buttons: Continue later (closes; in-progress edits are kept as a draft so reopening the post lands you back where you left off) and Save (commits the post to the durable row that the list reflects).
Stage 1: Write
The Write stage is where the body actually gets written. It is the stage you spend most of your time on.
The center panel shows two things stacked:
- A title row at the top with the post title (plain text, no Markdown). The selected theme and intent live here too, with quick pickers so you can change them without leaving the stage.
- The Markdown body editor below: bold, italic, lists, links, headings, undo/redo, with a live character count.
Two buttons sit on the editor's toolbar:
- Context opens the Context references modal where you stockpile the raw material the Ghostwriter should anchor against (covered below).
- Settings (gear icon) opens a small modal where you can manage your AI writing prompts, including a "My Callings Post Writing Style" snippet that gets layered onto every chat turn so the Ghostwriter learns your voice.
Format is system-managed
There is no longer a separate Format picker. The post's bucket (short / medium / long) is derived from the body length and updates automatically as you write.
- Short form is up to 280 characters (X-style).
- Medium form is up to 2,200 characters (LinkedIn-friendly).
- Long form runs up to essay length.
Crossing a threshold quietly promotes the post to the next bucket and persists the new format. The character count under the editor shows the current bucket so you always know where the post stands.
The Ghostwriter chat
The Ghostwriter chat is the single most important feature in the editor. It is not a "generate a post" button: it is a focused chat conversation that knows everything about you and everything about this specific post, and rewrites the body in your voice on demand.

Three things make it different from a generic AI chat:
- It knows your brand. Every turn passes your persona, your brand pillars, the selected Writing Theme, and your intent into the prompt. The model is told to write in your voice, not a default LinkedIn voice.
- It knows the post. The current draft body, title, format, character limit, context references, and any attached articles are all in context. When you say "tighten the opening," it knows what opening.
- It writes back into the editor, not into the chat. The chat is a conversation about the draft, but the deliverable is an updated draft that lands directly in the body editor.
First person is the default. A post that sounds like a third party reporting on your career does not build a brand, even when the writing is technically good. If a draft slips into a detached voice, ask the Ghostwriter to "rewrite this in my voice, in the first person" and it will switch back.
A 👻 icon next to the chat input opens the Ghostwriter presets: prewritten prompts for moves like "tighten the post," "make it more provocative," "switch the intent to X," "rewrite around a different theme" (with a dropdown of your other active themes), "generate a new title," and dozens more.
Context references
The Context button on the Write toolbar opens the Context references modal: a single large textarea where you stockpile the raw material the Ghostwriter should anchor against.

Whatever you put here is passed to the Ghostwriter as context on every chat turn and every regeneration. The textarea is autosaved as you type, so closing the editor without Save does not lose the references.
Three kinds of content live here:
- Pasted article text or quotes you want to react to.
- Your own notes about the story, position, or angle you want to take.
- Numbers, stats, names you want the draft to cite.
Adding a source from a URL
A button in the modal opens the Scrape URL dialog. Paste a URL, pick Append (keep existing references, add the article below) or Replace (wipe references and replace with the article), optionally Include images from the page, and click Scrape and add.

The article is fetched, stripped of boilerplate, and added to the textarea (title, source, byline if available, then the body). If you opted in, the cover image is added to the post's attachments.
You can close the editor while the scrape is in flight; it finishes in the background and the result is waiting when you come back.
Personal anecdotes belong here
The single thing that separates a memorable post from a forgettable one is a specific moment only the author could have written. Sources is the natural place to drop them. Before you ask the Ghostwriter to draft, paste one or two anecdotes in plain language: a sentence or two of context, who said what, what you felt, what you concluded. The Ghostwriter weaves them into the draft, in your voice, with the surrounding structure built around them.
Stage 2: Cover

A post with a strong image gets opened. A post without one gets scrolled past. The Cover stage is the dedicated workspace for image versions: upload your own, generate with AI in nine styles, iterate on any version with a per-image chat, and pick which ones publish.
The Cover stage replaces the left-side Ghostwriter with an Edit with AI image chat scoped to the currently selected version. The center panel renders the full Post Image Editor inline:
- A large preview area at the top. When the selected version is included in the publish set, the preview renders the full Callings cover grid (lead on top with a thumbnail row when the lead is landscape; lead on the left with a thumbnail column when the lead is portrait). When the selected version is excluded, the preview shows just that single image. A small toolbar above the preview has a New image action (opens the style picker for a fresh generation), a Download action for the active version, and a gear icon that opens Post image settings.
- A horizontal thumbnail strip below the preview. Each tile shows V1, V2, V3... with an Include checkbox underneath, plus a No image tile on the far left and an Add image tile on the far right. Click a tile to make it the active version for AI editing; check Include to add it to the publish set; drag tiles to reorder.
A post can hold up to 20 versions total. Publishing more than one image produces a native LinkedIn MultiImage carousel (capped at 9) and a multi-image gallery on your Callings feed.
Adding an image
Two ways:
- Upload your own. The Add image tile on the strip and the New image toolbar button both open the source picker, where the first tile is Upload an image (JPG / PNG / WebP up to 15 MB). You can also paste or drag an image directly into the editor anywhere.
- Generate with AI. The other nine tiles in the source picker are style presets:
| Style | What it produces |
|---|---|
| Classic | Editorial cover, dark navy gradient with subtle conceptual graphics. The default safe pick |
| Photoreal Scene | Cinematic, photo-real depiction of the post's central metaphor |
| Editorial Illustration | Magazine-style illustration with personality |
| Bold Quote Card | Typographic card with a single key line lifted from the post |
| Infographic | Data viz or process diagram tied to the post |
| Napkin Sketch | Hand-drawn marker sketch on a paper napkin |
| Concept Diagram | Clean boxes-and-arrows system view |
| Minimalist Geometric | Flat shapes, generous whitespace, a single accent color |
| Bauhaus | Primary colors, geometric shapes, bold sans-serif typography |
Generation runs async (20 to 40 seconds, sometimes longer). You can leave the Cover stage or even close the editor; the result is saved to the post regardless.
The image chat
The chat panel on the left of the Cover stage is anchored to whichever version is currently selected in the strip. Each message produces a new image version using the selected version as the reference image:
- "Make the background warmer, more orange."
- "Replace the laptop with a paper notebook."
- "Remove the text from the top right."
- "Keep everything, just no photo of me this time."
Per-image chat history is preserved per attachment, so coming back to V3 next week still shows the conversation that produced V4 through V7.
Post image settings
The gear icon opens Post image settings. These apply to every image you generate, for every post, until you change them again:
- Aspect ratio. Square (1:1) by default. Switch to 4:5 portrait or 16:9 landscape.
- Include me when applicable. Uses your profile photo as a reference when the chosen style supports a portrait.
- Include text. Pulls headlines, captions, or overlay text from your post body when the style supports it.
- Custom guidance. A free-text field applied as a high-priority override on every generation. One or two sentences is plenty.
Picking the lead and the publish set
The active version (highlighted in the strip) is what is open for AI editing. Which versions actually get published is controlled by the per-tile Include checkbox, not by which tile is selected. Every included version publishes with the post in strip order; the first included tile becomes the lead. No image on the far left ships the post text-only. Generated versions you do not check stay on the post for reference and re-use; they just are not attached.
Stage 3: Publish

The Publish stage is where the post leaves the workspace. It is laid out as two distinct features so each reads on its own.
Where to publish
Two click-to-toggle destination cards, side by side: Callings (your public feed on callings.ai) and LinkedIn. Tap a card to add it; tap again to remove it. A check appears in the card corner when it is selected, and the card shows a "Posted X ago" link once the post has gone live there.
If LinkedIn is not yet connected, the LinkedIn card shows Connect required with a primary button that opens the integrations page in a new tab.
Below the cards, an action bar shows the current publish moment:
- A schedule summary ("Publish immediately" or the date and time the post is scheduled for).
- A Schedule button that opens the calendar picker.
- A Publish now primary button that ships the post to every selected destination right now.
Publishing per destination runs through the same per-platform progress states (Publishing, Published, Failed with Retry). Toggling Callings off on a post that is currently public retracts the public page. LinkedIn is one-way: once posted, Callings.ai cannot retract it from there.
See Publishing Your Posts for the full publish flow, the scheduling tab, the cross-platform preview, and the per-platform behavior notes.
Or share manually
An "or share manually" divider separates the destinations from a secondary tile: Post somewhere else. The Copy & download button opens a modal with clean text in three formats (Markdown, rich text, plain text) and per-image Copy and Download buttons for everything in the publish set. Use it for X, Threads, Instagram, a personal blog, or any platform Callings.ai does not publish to natively.
While in the Publish stage, the Ghostwriter on the left is intentionally disabled with a hint that you are done editing and should head back to Write to keep refining.
Drafts, Autosave, and Continue Later
The editor is built for the realistic case where you walk away mid-draft and come back hours later.
- Title, body, theme, intent, attachments, lead choice, schedule, and the auto-publish flags are persisted to the post row when you click Save.
- Continue later closes the modal and writes the in-progress state to a separate draft layer. The post list keeps showing the last saved version; reopening the post hydrates the editor with your unsaved edits on top.
- Context references autosave as you type, so closing without Save does not lose them.
- In-flight scrapes, image generations, and AI illustrations keep running in the background and the result is waiting when you reopen the post.
Tips & Best Practices
- Fill Context references before you ask the Ghostwriter to write. A single chat turn with a strong references block produces a better draft than five chat turns trying to nudge an underspecified prompt.
- Iterate in the chat, do not retype in the body. Editing the body by hand is fine for tweaks, but if you find yourself rewriting full paragraphs, ask the Ghostwriter to do it.
- Let the format manage itself. The bucket is derived from length; just write what the post needs and the system tracks it.
- Generate cover images after the body is solid, not before. The image quality is a direct function of how clear the post body is. Vague body in, generic image out.
- Iterate in the image chat instead of starting over. Going from V1 to V2 via chat usually beats clicking New image and rolling the dice again.
- Read the Preview before you publish. The right-panel live preview shows how the post will render; format mismatches (Markdown leaking into LinkedIn, body overflowing the X limit) are caught here.
- Archive aggressively. Drafts that you have not touched in a month are almost always dead. Archive them.
Frequently Asked Questions
Q: Where did the Format picker go? A: Format is now derived from the body length and updates automatically. There is no separate Settings modal to pick short / medium / long anymore. Theme and intent live on the Write stage's title row.
Q: Where do my drafts go if I close the editor without clicking Save? A: Continue later writes the in-progress state (title, body, theme, intent, attachments, lead, schedule, references) to a draft layer keyed to the post. The post row stays as it was, so the post list shows the last saved version, but reopening the post lands you back where you left off.
Q: Can I have multiple posts open at the same time? A: No. The editor is a modal; only one post is open at a time. Use Duplicate if you want to compare two variants.
Q: Does the Ghostwriter have access to my resume, persona, and goals? A: Yes. Every chat turn includes a context block built from your profile (resume, persona, brand pillars, goals, ideal job, market fit). That is why drafts from the Ghostwriter sound more like you than drafts from a generic AI assistant.
Q: Can I scrape a URL that requires login? A: No. The scraper fetches the URL anonymously. Paywalled or login-gated content will not parse; paste the relevant excerpt directly into the Context references textarea instead.
Q: Can I delete just the LinkedIn copy of a post but keep it on Callings? A: LinkedIn is one-way: deleting on LinkedIn has to happen on LinkedIn. Untoggling the Callings card on the Publish stage retracts the public page in Callings without affecting LinkedIn.
Q: Why does the chat get disabled on the Publish stage? A: To keep the publish moment focused. If you need to refine the body, click back to Write and the chat reactivates with full context.
Related Topics
The editor is built around one belief: a personal brand is not what you intend to say, it is what you actually ship. Write, Cover, Publish exist to shrink the gap between an idea and a finished post. Open the editor, fill Context, ask the Ghostwriter to write the first draft, pick a cover, publish. Repeat tomorrow.