Ballad
Features · every screen, no filler

Everything a marketing team does.
One loop, one inbox.

Every screen, in the order the loop runs: your voice, the drafts, your yes, the post going out, the signals coming back with every signup traced to its post, and the plan changing. Your job is the morning inbox: a few yeses, an edit or two, done.

app.balladlabs.com
Good morning, Maya.
Tuesday, Sep 8 · Ballad drafted 4 pieces overnight
Generate content
3 to approve2 posting today1 plan decision12 published this week
Post today· 2
Why we killed our free tier (and what replaced it)
Maya · LinkedIn · 9:40 AM
Scheduled
Thread: 6 pricing mistakes we made in year one
Northwind · X · 12:15 PM · 6 posts
Post it now
Approve· 3Approve all 3
MayaLinkedIn · Fri 8:30 AMIn your voice
Every founder I know has a spreadsheet they're embarrassed by. Ours ran payroll for 14 months. Here's what finally made us replace it — and what we got wrong the first time.
NorthwindX thread · 5 posts · Sat 11:00 AM
We shipped invoicing in a week. Then spent three months fixing edge cases. A thread on what 'done' actually means for a fintech product. 🧵
Engineering blogArticle · 7 sections · 2 to check
How we cut Postgres bloat by 60% without downtime
Above · the Inbox

Your morning, already triaged.

The Inbox is the whole job, most days. What's going out today sits at the top. Below it, everything Ballad drafted overnight, each with a one-tap approve, reject, or edit — or approve all at once. Plan decisions the loop wants from you come last. Reach inbox zero and it tells you what's coming next.

01 · Voices

Your voice. Your brand's voice. Both learned, not prompted.

A founder persona that writes like you, and a brand persona that speaks for the company. Each one learns from what you edit and approve, and each earns trust separately.

  • Founder and brand. Two speakers, distinct rules, and a plan that knows which one should say what — and where.
  • Set the brand once. Logo, palette and font, and every image card, carousel and brand post inherits them. Change it and the next render follows.
  • How this voice talks. Terms to use and terms to never use, the distinctions that matter in your field, and a few things you've actually written. Every draft is held to them — and a term you correct in review joins the list on its own.
M
Maya Reyes
Founder voice
first persondry humorspecific numbers
Auto-approves after 12 more
N
Northwind
Brand voice
plainwarmno exclamation marks
One-tap approval
X thread · Northwind · 6 postsAll posts under 280
N
Northwind@northwindhq · 1/6171 / 280

We shipped invoicing in a week. Then spent three months fixing edge cases. A thread on what 'done' actually means for a fintech product. 🧵

N
Northwind@northwindhq · 2/6118 / 280

1/ Week one: happy path works. Send an invoice, get paid. We celebrated. Nobody had tried a refund yet.

N
Northwind@northwindhq · 3/6182 / 280

2/ Week three: partial payments. A customer paid $1,000 against a $1,200 invoice and our system called it 'unpaid'. Their finance team called us something else.

02 · Review

One review, everywhere.

Whether you open a draft from the Inbox, the calendar, or Slack, it's the same modal: edit on the left, the post in the channel's own frame on the right. Your edits are the training data.

  • Previews in the channel's frame. LinkedIn, X, Bluesky and Threads in their own frames, with live character counts. Multi-post threads written as one argument and previewed post by post.
  • Edits become the voice. Change a line and Ballad learns the pattern — not just this post, every post after it.
  • One tap when it's right. Approve all from the Inbox, or Save & approve from the editor. Reject sends the signal too.
MMaya· LinkedIn · Fri 8:30 AM
In your voiceNeeds approval
Edit 1 edit · trains your voice
Every founder I know has a spreadsheet they're embarrassed by.

Ours ran payroll for 14 months. Two people, then six, then eleven. It never broke. That was the problem — nothing forced us to replace it until a contractor got paid twice.

Here's what finally made us switch, and what we got wrong the first time:

1. We picked the tool before we wrote down the workflow.
2. We migrated on a Friday.
3. We didn't tell the team why.
signal: 3 replies asked about payrollangle beat avg by 2.1×
RejectSave & approve
PreviewLinkedInX
03 · Create

Write it, polish it, or let Ballad write it.

One dialog for every piece. Pick the format and the voice, then decide how much of it is yours: a topic or rough notes Ballad drafts from, a draft it polishes in your voice, or your exact words straight onto the schedule.

  • Three ways in. Ballad writes it from a brief and it comes back for review. Polish keeps every fact and the length, fixes the flow, one tap to approve. As written skips review entirely — they're your words.
  • Six formats, by name. Posts, multi-post threads, long-form articles, newsletter issues, image cards, and carousels. No video. Each one drafted for its channel and reviewed in that channel's frame.
  • Launches, when you're ready. Show HN, a Reddit self post, a Product Hunt listing. Each written for that community's rules, drafted on demand, never on a schedule.
  • Nothing happens in the dark. Reading signals, picking an angle, drafting, slop-checking — each step reports in as it runs. Or close the dialog and let it finish.
Create
What, who, and how much of it is Ballad's.
What kind
LinkedIn post
X post
X thread
Blog article
Who's speaking
MMaya ReyesFounder · your voice
NNorthwindBrand · company voice
How much should Ballad do?
Ballad writes it
Polish my draft
Post as written
Your wordsa topic, notes, or the whole thing
we cut support tickets 40% after fixing one retry bug. took two days. the fix wasn't clever, we just finally read the logs
Keeps every fact and the length · fixes flowNext open slot · Tue 9:10
CancelPolish and review
Polishing · X thread0:42
Read your draft: 3 posts, 4 facts, 2 numbers2s
Kept every fact, name and number as written6s
Tightening the flow in Northwind's voice
Slop check & character counts
Into your Inbox, one tap to approve
Close this — it keeps running in the background.Close
04 · Image posts

Image posts, rendered, not described.

These are real output from Ballad's renderer, not mockups, in the colours and font of Northwind, the sample company every screen on this page belongs to. Ballad writes the caption and the words on each slide, you approve the words, and the card is composited from your logo, palette and font, so what renders is exactly what you approved.

  • Cards and carousels. One card, or three to ten slides that build one argument, for LinkedIn, X, Instagram, Bluesky and Threads. Set the brand once and every render inherits it.
  • Blog opening images in the same look. Articles open on a brand card by default: the title, your logo, your colours. Illustration and photo styles are a setting per collection; your own image always wins.
  • Text is never generated into pixels. The words are typeset over a text-free background, so there are no mangled letters and nothing on the card you didn't read first.
Slide 1 of a three-slide LinkedIn carousel for Maya Reyes at Northwind, rendered by Ballad
Slide 2 of a three-slide LinkedIn carousel for Maya Reyes at Northwind, rendered by Ballad
Slide 3 of a three-slide LinkedIn carousel for Maya Reyes at Northwind, rendered by Ballad
LinkedIn carousel · Maya at Northwind · rendered by Ballad1080 × 1080
An Instagram image card for Northwind, rendered by Ballad
Instagram card1080 × 1080
The opening image of a Northwind blog post, rendered by Ballad as a brand card
Blog opening image1536 × 1024
05 · Content studio

A calendar that fills itself.

Ballad plans weeks ahead across every voice and channel, writes the drafts overnight, and places each one where it will land best. You open a full calendar, not a blank page.

  • Cadence, kept. Set a rhythm per collection — two blog posts a week, a thread every Saturday — and it stays kept.
  • Pin or let it pick. Drag a post to a date and time, or leave the slot to Ballad and it schedules around what's already working.
  • One queue for everything. Needs approval, writing now, ready to post, publishing on schedule — one list, in the order you'd want it.
app.balladlabs.com
CalendarQueue5VoicesMMayaNNorthwindGenerate
TodaySep 6 – 19
LinkedInXBlog
Sun
Mon
Tue
Wed
Thu
Fri
Sat
6
7Hiring
Today · 8Free tierMistakes
9Postgres
10Sales
11Sheets
12'Done'
13
14Retention
15Changelog
16Support
17Pricing
18
19Weekend 🧵
2 approved · waiting for a slot. Ballad places them where they'll land best, or pin them yourself.Pin
06 · Your site

Published to your domain, not ours.

Long-form goes to your own site through a small content API — a few lines in Next.js, or RSS and REST for anything else — and Ballad publishes on schedule and revalidates your pages. No site to wire up, or a CMS that is its own world? A collection can publish by hand instead. Either way the audience compounds under your name, not ours.

  • Collections. An engineering blog, a founder journal, a changelog — each with its own cadence, theme, and route.
  • Headless by design. Typed content, images hosted, a revalidate hook on publish. Your design system, your URLs.
  • Or by hand, into anything. Webflow, Ghost, Notion, Substack, Medium: take the article as rich text, Markdown or HTML with its opening image, paste it where it lives, and hand back the URL so signals attach to it.
  • Built to be found. Structured, linkable articles that search engines index and answer engines cite.
Read the Next.js guide
northwind.com/blog
Northwind
Writing
Why we killed our free tier (and what replaced it)
Sep 7 · 6 min
How we cut Postgres bloat by 60% without downtime
Sep 2 · 9 min
Six pricing mistakes we made in year one
Aug 26 · 5 min
Published by Ballad · 04:00
// app/blog/page.tsx export default async function Blog() { const posts = await ballad.posts() return <PostList posts={posts} /> } // Ballad revalidates on publish revalidateTag("ballad")
Next.js RSS REST
07 · ballad.to

One link that's always current.

Every persona gets a ballad.to page: portrait, bio, your call to action, your latest writing, and everywhere else you are. Ballad keeps it up to date, and every click flows back into Signals.

  • The bio link that works. Put it in your LinkedIn and X profiles once. New articles show up on their own.
  • A real call to action. One button, pointed at the thing you're actually trying to grow — tracked as a conversion.
  • Looks the part. A generated share image and a page that feels designed, because it was.
ballad.to/maya
MR
Maya Reyes
@mayareyes · Northwind

Building payroll that small teams don't dread. Writing about the mistakes along the way.

Try Northwind free
Latest writing
Elsewhere
08 · Signals

An operations floor for your reach.

Every visit, click, reply, ranking, and AI citation on one live board. A world map of who's reading right now, then a widget for each kind of signal Ballad tracks: your whole site's sessions and top pages, the referrer mix including AI answer engines, social, search, and ballad.to.

  • How did it do?. On X, Ballad reads the numbers itself every six hours — impressions, likes, reposts, replies, bookmarks — including posts you put up by hand and pasted the link for. Everywhere else it asks two days after a post goes live, in Slack or the Inbox; type them in and they feed the next plan.
  • SEO and AI answers. Where you rank on Google, pulled daily from your own Search Console — the queries it already shows you for, and your position on each — and whether Claude and other answer engines cite you, with the gap turned into the next experiment.
  • Ask it anything. A question box on Signals and Loop, or ⌘K — Ctrl-K on Windows — from either. “Which post brought this week's signups?” comes back as a short answer drawn only from your own data, every claim linked to the post, the person or the plan change it came from. Ask for a draft and it writes one into your Inbox. It cannot publish, approve, or change the plan.
  • Conversations worth joining. Every hour, Ballad scans Hacker News and the subreddits for your buyer's trade for threads where your positioning is the answer, and drops the ones worth a reply into your Inbox and Slack — never during quiet hours.
app.balladlabs.com
Signals
Everything your content is doing, as it happens.
7d30d90d
Live visitor mapLive · 23 on site
visitconversion
Web
4,812
+18% wk
Conversions
63
+11 this wk
SEO
#4
↑3 · 'payroll tools'
AI answers
31%
cited by Claude
ballad.to
918
+40% clicks
09 · Attribution

Which post brought the signup.

One line on your site and a token on every link Ballad publishes. When someone converts, Ballad knows the post, the channel and the angle that earned it, and does more of that on purpose. It also reports what share of your signups came from Ballad's content: the number you show your investors.

  • One line, your whole site. Not just the blog. Sessions, top pages, conversions, and the referrer mix for every page you own, including visits sent by Claude and other answer engines.
  • Every link carries its post. Links in posts, threads, issues and cards are tagged at publish time, so a signup three clicks later still knows where it started.
  • The loop learns from it. Signups per post, per channel, per angle become the signal experiments are judged on. Ballad's share is on the Signals board and in the weekly briefing.
Read the attribution guide
app.balladlabs.com
Attribution
Which post brought the signup.
beacon receiving
Signups · 30d
19
+6 vs last
From Ballad
13
68% of signups
Top source
LinkedIn
7 traced
Signups by post13 of 19 traced
Ours ran payroll for 14 months. It never broke. That was the problem.
LinkedIn · Thu 8:30
7
The Postgres bloat fix nobody writes down
Your blog · cited by Claude
4
Six payroll horror stories, one root cause
X thread · Sat
2
LinkedIn · 7AI answers · 3X · 2ballad.to · 1→ feeds the next plan
10 · The loop

It learns. Then it changes the plan.

Everything starts from the plan: who you're for and what you promise, in one sentence you can say out loud. Ballad drafts it from a short interview, then reads the signals, runs experiments, and proposes changes to that plan. It applies the safe ones itself and reverts anything that underperforms. This is the part no tool does.

  • Ballad's read. A plain-language model of your business and audience, plus the one-liner you'll use everywhere, with a confidence score that moves as it learns.
  • Proposed changes, as diffs. See exactly what would change in the plan, why, and the expected lift. Apply, skip, or let it decide.
  • Every change reversible. Auto-applied changes are watched for two weeks and rolled back on their own if they don't hold up.
  • The give:ask rhythm. Most pieces give — teach, tell, take a position — and a few ask. Ballad keeps the ratio per voice, three to one for a founder and two to one for a brand, and tunes it, and each lane's mix of posts, threads and image cards, from what converts.
app.balladlabs.com
The loop
Cycle 9 · learning from 31 posts and 2,140 signals
Adjusting
78confidence
Ballad's read

Northwind wins when Maya writes about specific mistakes, not frameworks. Payroll content converts; product updates don't.

Mistake-led posts earn 2.1× the replies of how-to posts.
Thursday mornings beat Monday for LinkedIn by 34%.
Claude now cites the Postgres bloat article for "pg_repack".
Give : ask, by voice
Maya founder3:1
Northwind brand2:1
Proposed plan change2 min ago
Shift Northwind's LinkedIn lane toward image cards.
LinkedIn · Northwind · posts 70% · threads 15% · images 15%
+LinkedIn · Northwind · posts 55% · threads 5% · images 40%
carousels earned 3× the savesauto-reverts if it underperforms in 14d
ApplySkipApplies itself Fri if you don't decide
Running experimentDay 9 of 14
Threads vs. single posts on X for the brand voice
threads +41% reachwinner likely · 82%
11 · Agents

Let Claude work in Ballad, on your terms.

Ballad is an MCP server. Add it to Claude as a connector, sign in with Ballad, and choose what it may do on a consent screen. Then ask Claude for a draft, a plan change, or a status check, and it happens inside the same loop — with the same review gate.

  • Sign in, don't paste keys. Claude connectors use OAuth: one consent screen, scopes in plain language, revoke in a click from Settings. Other agents get keys with the same scopes.
  • Scopes, not superpowers. Read, draft, propose, decide, publish, signals. An agent's drafts always land in your review. It can approve only what you've already marked one-tap. Nothing publishes without the publish scope.
  • Every call in the audit log. Which agent, which tool, which arguments, and what changed — next to every human decision, in one history.
C
Claude wants to work in Ballad
It will act in Northwind as maya@northwind.com.
read See drafts, lanes, plan, events
draft Start generation and submit drafts
propose Propose plan changes for you to approve
decide Approve one-tap drafts, undo, set cadence
publish Mark posts as posted
signals Record metrics for published pieces
Drafts it makes still come to you for review. Nothing publishes without the publish scope. Every call lands in your audit log.
AllowDeny
"Draft a LinkedIn post about the retry bug""What's waiting for my review?"
You stay editor-in-chief

Autonomous where it's earned it. Yours everywhere else.

Nothing ships without your yes

Every voice starts in full review. Auto-approval is something a persona earns, per channel, and something you can revoke in a click.

The slop gate

Drafts are scored against your voice before you ever see them. Generic phrasing, filler, and AI tells get rewritten or rejected.

Reversible by default

Plan changes are diffs with a watch window. Underperform and they roll back on their own; you can revert anything, any time.

Yours, not ours

Your posts go out from your accounts; your articles live on your domain. Leave and everything you published stays where it is.

Where it runs

Every channel, one loop.

Connect your accounts, point Ballad at your site, and the first week's plan is waiting in your Inbox. Every link it publishes reports back. Assisted means Ballad writes and renders it and hands it to you ready to go — you're the one who posts it. On X, once the voice's account is connected, Ballad posts it for you.

LinkedIn
Posts, carousels and a newsletter, assisted
X
Posts, multi-post threads, carousels, published by Ballad
Bluesky
Posts and multi-post threads, assisted
Threads
Posts and multi-post threads, assisted
Your blog
Long-form, on your domain
LinkedIn newsletter
A weekly issue, its own lane
Email newsletter
A weekly issue, sent from your tool
ballad.to
Your link-in-bio hub
Instagram
Image cards and carousels, assisted
Hacker News
Show HN, on demand
Reddit
A self post, per subreddit
Product Hunt
Launch day, written
Get startedSee pricing