What’s new in Harbor.
Harbor is built in public. Here’s every milestone so far, newest first.
- 08
A friendlier first brand
Setting up a brand is shorter, and it’s easier to get a voice that sounds right before you’ve posted anything.
- Start a voice by picking sample posts that sound like your brand, from six personalities, or paste or import your own. About two posts is now enough to learn from, and a strength meter shows how much more would help.
- The voice mixer: five dials (company to personal, calm to punchy, story-led to data-led, serious to playful, polished to candid). Each one adds a plain do or avoid rule, and a sample post rewrites itself as you move it. You can build a voice from the dials alone.
- Voices learned from samples keep the style but not the samples’ facts or recurring words.
- The audience step starts from examples: indie hackers, founders, small businesses, creators, developers, customers.
- Every step can be skipped, and the live preview highlights the step you’re on.
- A new brand overview: setup progress, posts published, median views, what’s waiting for approval, the next post, recent results, all four accounts, the latest digest and ideas.
- In the Studio, Post now and Schedule are separate buttons. Post now asks once to confirm, the result shows right in the pane, and posts already made from the idea are listed so nothing goes out twice.
- Post previews use the connected account’s own picture and name.
- Every dropdown is now Harbor’s own, with keyboard and typeahead support.
- 07
Media library
Every brand has its own library of images and video, with crops made for each platform.
- Upload by drag and drop or from a URL. Uploading the same file twice gives you the one you already have.
- Alt text, tags and a focal point per image, with live previews of each crop: 4:5, 1:1, 16:9, 1.91:1 and 9:16.
- Harbor serves the crops at public URLs, which is how Instagram and Threads fetch your media.
- Each platform’s media rules are checked before anything publishes, and the voice check flags a missing or poorly fitting image. Instagram approvals need an image before you can approve them.
- Pick media in the Studio editor or right on an approval card. The weekly plan attaches tagged images to Instagram drafts.
- The voice refresh now measures how images, carousels and video perform.
- Safer self-hosting: through a tunnel, the API only answers OAuth callbacks, media, the MCP server and health checks. Importing from a URL refuses private and internal addresses.
- 06
Brand Memory that learns
Results now flow back into each brand’s voice, with the evidence attached and your approval required.
- The voice refresh agent compares posts that beat the brand’s median with the ones that didn’t, and proposes rule changes with their lift and the posts behind them. You review them in Approvals.
- Every learned or saved rule links to the posts and signals it came from.
- Save to Brand Memory from any post, reply or reply theme.
- Preview Brand Memory: the same brief drafted with and without memory, with the rules that fired.
- Replies are fetched at 24 hours and 3 days, sorted into questions, objections, praise and requests, and grouped into themes that feed new ideas. Threads and Instagram are supported; X is opt-in because X bills each read.
- Import a channel’s past posts: scan, uncheck what doesn’t belong, import. Imported posts count toward verdicts from day one.
- 05
Agents, approvals and the MCP server
Agents plan and draft the week. Nothing they make goes out until a person approves it.
- An agent library: weekly plan, repurpose a winner, voice check and weekly digest, each with a step-by-step run log.
- Automations run an agent on a schedule or after a post is published or outperforms, with a daily cap. An automation that fails three times in a row pauses itself.
- The Approvals inbox: approve, edit, reschedule, reject or approve in bulk. Every proposal shows its voice checks and why it got its slot.
- API keys with read and write scopes, and an MCP server over Streamable HTTP with a Brand Memory resource, plus a stdio bridge for clients that need it. MCP can propose posts, never publish them.
- 04
Insights engine
Every post is judged against the brand’s own median at the same age, not against vanity totals.
- Verdicts per post: outperformed, met, underperformed, or inconclusive when there isn’t enough history yet.
- Each post’s growth curve is charted against the brand’s baseline curve, with a hover readout.
- Best posting times as a 7 × 24 heatmap, blending your own history with each platform’s typical peaks.
- A weekly digest per brand: wins, misses, patterns and recommendations, each citing the posts behind it.
- A cross-brand overview, and a week calendar in the Hub with best times shaded and drag to reschedule.
- 03
Campaign canvas
A board per campaign, for laying out ideas, drafts, results and notes in one place.
- Resizable, renamable frames, and cards for ideas, drafts, posts, signals and notes. Drag cards between frames and connect them.
- A docked agent panel: suggest ideas, draft the selected idea using the cards connected to it as context, pull in top posts and signals.
- A library drawer and a table view of the same cards.
- Platform and brand logos throughout, and a sidebar that collapses to icons.
- 02
Studio and Brand Memory
A structured memory for each brand, and a Studio for drafting every platform at once. All of it runs free, with no keys.
- Sandbox mode and a simulated model are the default: every platform is simulated with its real limits, and nothing leaves your machine.
- Brand Memory: voice, audiences, products, knowledge, style rules and example posts, with a voice-learning agent.
- The Studio: one pane per platform with a live preview, rewrites, versions and scheduling.
- A new-brand wizard with a live preview of the memory as you fill it in, and idea suggestions in the Hub.
- A light theme by default with a dark toggle, square controls throughout.
- 01
Direct publishing and the platform shell
The first version of Harbor: publish to X, LinkedIn, Instagram and Threads through their own APIs, and watch each post’s first week.
- Connect accounts on all four platforms through your own developer apps. Account tokens are encrypted at rest.
- Publish now or schedule, including threads. Metrics are read at 1 hour, 6 hours, 24 hours, 3 days and 7 days.
- If a publish can’t be confirmed, Harbor asks you to check instead of retrying, so nothing double-posts.
- The app shell: Home (what needs attention, what’s coming up, recent results), the Hub with board, table and calendar views of the pipeline, Performance, brand pages and a composer.
- A demo mode with sample brands and history, on its own database.
Plan next week in an afternoon.
Self-host Harbor free, or get early access to Harbor Cloud. Either way, nothing posts until you say so.