Salesbrum

Set in Poppins, standing in for a logo. The mark is still to be designed.

One app for the whole of a social-media business.

“Salesbrum is DistroKid for social-media business”

  • Post once and it fans out natively to every platform.
  • Every DM and comment lands in one inbox.
  • Every sale becomes an invoice and a customer record.

This page is written for the product designers, brand and logo designers, and copywriters joining the work. Read it once and you should be able to design and write for Salesbrum without opening a specification.

Who this is for

Chioma, and the phone she runs her business on

She sells ready-to-wear in Aba. She has 4,300 Instagram followers, a Facebook page her cousin set up, and a WhatsApp number that is also her personal number.

Everything below is a design constraint rather than background colour. Each one changes what we are allowed to build.

  • She pays for her own data By the megabyte. Nothing auto-plays or auto-downloads, and images load lazily at display resolution.
  • She may be sharing the phone Sessions expire, and money actions ask her to confirm it is her.
  • Her connection drops Drafting a post or an invoice works offline, and the queue is visible.
  • She is checking work, not browsing Usually late at night. Density is high on purpose.
  • She sells in naira Money is always shown with the glyph, thousands separators, and figures that line up in a column.

The line that shapes the whole product

Her customers never sign up, log in, or install anything. The seller stays the face of her own business.

The posture

“an instrument, not a feed”The visual posture. The register is “slick but unshouty”.

What goes wrong today

Five things break, and they break together

  1. Orders get missed. Enquiries arrive as DMs, comments and story replies across platforms. Spreadsheet-plus-WhatsApp tracking collapses at volume.
  2. Payment state gets lost. Who paid, who hasn’t, which transfer matches which order, tracked by memory and screenshots.
  3. Evenings are app-shuffling chaos. Post on each platform separately, then answer each platform’s inbox separately.
  4. Money is opaque. Sellers see revenue, never profit.
  5. Demand is terrifying. A slow week is an emergency the seller has no tools to fight.

In sellers’ own words

“If order no come, I’m finished.”A seller, on the fear that sits under a slow week.
“I keep paying bills, is it even worth it.”A seller, on not knowing profit from revenue.
“Some customers stress me more than the money they pay, especially friends.”A seller, on the cost of running a business in a personal inbox.
Client messages get “buried under family and friends’ chats.”Sellers describing a personal WhatsApp number doing business work.
Micro-retailers report managing customers “6 am to midnight.”Sellers describing the working day.

The job to be done, in her terms

“everything handled, zero mistakes.”

The idea

Consolidation is the identity

Three things belong in one place, and everything Salesbrum builds has to land in one of them.

Outbound

One caption and some photos become a native post on every platform she sells on, without her opening any of them.

Inbound

DMs, comments and story replies from every platform arrive in one threaded list, with the customer’s history beside them.

Money

The sale is made inside the conversation, becomes an invoice, and turns the buyer into a customer record on the way past.

“if a feature doesn’t consolidate the seller’s outbound, inbound, or money, it doesn’t ship.”The roadmap test.

The shape of the strategy

Fan-out is the wedge. It gives day-one value with no behaviour change, because she is already posting the same thing to four places by hand. The order and money engine underneath is the retention layer, and it compounds with every invoice she sends.

Invoice-as-checkout

“Own your audience” is a promise most products in this space cannot keep honestly. Salesbrum keeps it by turning selling into the mechanism. Every invoice creates or updates a customer record as a side effect of the sale. No scraping, no follower export. The customer records she earns through sales are the owned audience.

How it works

Four things the app does

The phones below are hand-built from the product’s own tokens and components, so they follow this page’s theme. They are pictures of the design, not working software.

Post once, land natively everywhere

  • One caption and some photos become a native post per platform: Instagram a carousel with hashtags queued to the first comment, Facebook a page post, X a thread, TikTok a hook line on top.
  • Media is resized and cropped per platform from one upload.
  • She previews and edits each version before publishing, and edits never propagate between platforms.
  • A failure on one platform never blocks or rolls back the others.
Compose. Six photos and one caption, with a per-platform breakdown underneath and the cost caution attached to the row it belongs to.

One inbox for every platform

  • DMs, comments and story replies from Instagram, Facebook, WhatsApp and X in one threaded list.
  • Comments are visually distinguished from DMs, because a public reply is not a private one.
  • Story replies arrive as ordinary conversations, and a story reply is frequently the first message of a sale.
  • Buying intent is flagged, with Reply and Move to DM offered inline.
  • The customer’s history sits beside the thread.
Inbox. One list across four platforms. The comment carries both a left rule and the word Comment, because state is never carried by colour alone.

Sell inside the conversation

  • Two taps from inside the thread: pick the item, confirm the amount.
  • Multi-line, because ₦16,000 set plus ₦2,500 delivery is the ordinary case, and the delivery line is marked so it never counts as a product in top sellers.
  • It goes into the chat on the platform the conversation came from, carrying her own bank details and optionally a card link.
  • Payment goes straight into her own account. One tap to mark paid, one tap to nudge, and she sees the nudge before it sends.
  • The buyer becomes a customer record automatically. She fills in no form.
Invoice builder. Two lines, one total, her own bank details, and a button that says where the invoice is going.

Know what the week did

  • Invoiced, paid, orders and average order, with last week beside each.
  • Who still owes, with a Nudge on every row.
  • Where the money came from by platform, including the platforms that made nothing, because the zero is the useful number.
  • Top items.
  • Every figure ends in something she can do.
Sales. The week in four figures, the people who still owe, and the platform that made nothing shown rather than hidden.

A night with Salesbrum

Six new pieces to post

Today that takes her ninety minutes across three apps.

  1. She opens Salesbrum from her home screen. Home shows three cards; the top one is Post something.
  2. She uploads six photos, types one caption, taps Post.
  3. The per-platform preview shows what each will actually receive. An amber notice on the X row says a link would cost 13 times more. She edits the X wording; the others are untouched.
  4. She taps Publish to 4 platforms.
  5. Outcome rows resolve one at a time as each platform answers. Instagram live. Facebook live. X live. TikTok queued, in amber, saying nothing is lost.
  6. Twenty minutes later a push notification: three new enquiries. She opens one inbox, not three. A comment on Instagram reads “how much for the blue one?”, flagged as buying intent.
  7. She moves it to DM, agrees ₦18,500, and taps Invoice without leaving the conversation.
  8. The invoice goes into the chat carrying her bank details. Ada becomes a customer record automatically. Chioma filled in no form.
  9. Ada pays by transfer. Chioma taps Mark paid, and the Home card that said ₦74,500 still owed rewrites itself to ₦56,000 as she watches.

Ninety minutes becomes under ten.

And when it goes wrong

If publishing fails on Facebook only, that row shows a plain reason and a retry. The other three stay live, and are said to. The evening is not interrupted.

The Sunday-night question

Was this week any good?

Five weeks in. On Sunday night she wants to know one thing.

  1. She opens Sales.
  2. ₦412,000 invoiced, ₦337,500 paid, 23 orders, each with last week beside it.
  3. ₦74,500 outstanding across 4 invoices. Each row a name, an amount, an age, and one button: Nudge.
  4. She taps Nudge on two. Salesbrum shows her the short, polite message before it sends, then sends it into the original conversation on the original platform. She composed nothing.
  5. Where the money came from, platform by platform.
    Instagram ₦281,000
    WhatsApp ₦98,000
    Facebook ₦33,000
    X ₦0

    X has not made her anything in five weeks, and it uses up posts from her plan. She can switch it off and keep everything else. Turn X off →

    The zero is the useful number. It tells her where to stop spending effort.

  6. The app is volunteering that one of its own features is costing her posts and returning nothing. That is the moment she believes the numbers.
  7. Top items: the blue two-piece, 7 sold.

She knows what sold, who owes her, and where to spend Monday. Every number ended in something she could do.

The hardest sentence in the product

This is the clearest demonstration of the voice. She taps Connect WhatsApp, and before anything else Salesbrum says:

“Heads up — this one matters. If you move this number over, it leaves the WhatsApp app you use every day. Most sellers keep a second number for business instead.”

Two paths follow: Use a second number, or Move this one anyway. When approval is pending Salesbrum says so plainly, and says what still works meanwhile. She is not blocked, and she was not surprised.

Promises

What we promise, and what we will not build

The second list matters as much as the first. Several of these are decisions already taken, and reopening them is not part of the brief.

What we promise

  • No scraping, ever Protecting the seller’s account is part of the promise, not a compliance checkbox.
  • Sellers never see each other’s customer lists Her customers are hers.
  • Value before setup The first post fans out before any catalogue, cost price or configuration is asked for.
  • Flat fee, no cut of sales Salesbrum never touches the seller’s money and adds no fee to a sale. Payment goes straight into her own account, so there is no settlement delay.
  • Every insight ends in an action A number with no next step does not ship.
  • The seller stays the face of her business Salesbrum is never the brand her customer meets.

What we will not build

  • Any customer-facing app No login, no portal. Her customers install nothing.
  • Any scraping or browser automation Not as a shortcut, not as a fallback.
  • Follower export or audience backup No social platform exposes it, and the honest replacement is invoice-as-checkout.
  • Matching one seller’s customers to another seller Not a feature, and not a growth loop.
  • Celebratory animation on a payment Money arriving is the job, not an achievement. No confetti, no streaks, no badges.
  • An empty dashboard on first run Home is replaced by a three-step lead until she has posted once.

Now, and later

What ships first, and what is waiting

No dates here. The second column is designed and decided rather than speculative, which is why it is worth knowing about while you work on the first.

In the first release

  • Fan-out publishingTo Instagram, Facebook and X.
  • TikTok posting and the funnel-out linkA personal link for a TikTok bio that opens a WhatsApp or Instagram DM with a prefilled message, so TikTok demand reaches an inbox.
  • Invoicing and money-inThe sale made inside the conversation.
  • Customer records created by invoicingThe owned audience, earned rather than exported.
  • The unified inboxEvery platform in one threaded list.
  • The weekly sales summaryWhat happened, with an action on every figure.

Designed, decided, and waiting

  • Money ForensicsProfit clarity with optional cost price and weekly alerts. The analytics identity the product grows into.
  • Customer memoryLoyalty tiers New, Repeat and VIP, cross-sell suggestions, and due-to-buy detection.
  • The order pipelineFrom enquiry through to delivered, with stall alarms.
  • Fan-out intelligenceCaption tailoring and best-posting-time recommendations.
  • Growth intelligenceTrend alerts and the “slow week? fight back” card.
“The dashboard is a to-do list that pays you.”The first release ships the list of what happened, not yet the list of what to do.

The standing constraint

Home is a state mirror, not an advisor. Every row is a fact the system already holds, paired with an action. No row may be a recommendation the system inferred. When the deferred work lands it adds rows there, and the container is already correct.

The design language

A working specimen, not a description

Everything on this page is already built from these tokens. What follows renders them at their real values so you can take them straight into a file.

Palette

Both light and dark are first-class. Neither is the real one. Each panel below is forced to its own ground so it reads honestly whichever theme you are in.

Light

primary
#93C572
Pistachio. Every primary action, as a fill only.
primary-foreground
#151810
The near-black text that sits on Pistachio.
accent-text
#4F7A32
Inline links and active tab labels.
background
#FCFDFA
The paper. Green-cast, not neutral white.
foreground
#151810
Body text.
muted
#F1F4EC
Card fill. This is what replaces a shadow.
muted-foreground
#4C5344
Secondary prose.
subtle-foreground
#5E6556
Labels and timestamps.
border
#E4E9DD
The hairline. The only divider in the system.
paid
#1B4D8F
Money that has arrived, and gains on last week.
warning
#8A6200
Caution she can act on. Never decorative.
warning-surface
#FBF4E2
The only warm surface in the product.
destructive
#B3261E
Failure only, kept distinct from amber.

Dark

primary
#93C572
Identical in both modes. Pistachio does not shift.
primary-foreground
#16181A
The near-black text that sits on Pistachio.
accent-text
#93C572
Collapses back to Pistachio. Dark gets the truer brand colour.
background
#16181A
The ground.
foreground
#EBEDE8
Body text.
muted
#232720
Card fill.
muted-foreground
#A8AEA2
Secondary prose.
subtle-foreground
#868C81
Labels and timestamps.
border
#2C3129
The hairline.
paid
#69A8F0
Money that has arrived.
warning
#E0AE2E
Caution she can act on.
warning-surface
#2A2519
The only warm surface.
destructive
#F0736A
Failure only.

Destructive text sits on a white foreground when it is used as a fill. That pairing is named destructive-foreground, #FFFFFF in both modes.

The Pistachio constraint, demonstrated

Both of the buttons below are real. Only one of them is allowed.

Near-black on Pistachio · 8.95:1 in light, 8.87:1 in dark · passes AA

White on Pistachio · 2.01:1 · fails AA. This is the one thing you may never do.

Pistachio is 2.01:1 against white. That is the whole constraint. It can never carry text on a light ground, and it can never take white text. It works as a fill with dark text on it, and nothing else.

“pale-green buttons carrying near-black text are a thing almost nothing else in this category does”Which is exactly why it is the identity rather than a limitation.

Why paid is blue

Blue rather than green, because the accent is green. A seller must never have to work out whether a green thing is a button or a payment.

Why amber is the only warm colour

Amber is confined to caution the seller can act on: a post that will cost more, a reply window closing, something going out private. It is never brand and never decorative. Failure is a separate colour, so “this costs more” never looks like “this broke.”

Type specimen

Poppins, weights 400, 500 and 600 only. Seven roles, no more. The ramp is narrow on purpose. Sizes are specified in px and implemented in rem against the user’s root, so a seller who has enlarged her system type gets larger text rather than a broken layout.

Was this week any good?
display · 20px · 600 · -0.03em · 1.25
Still owed
heading · 19px · 600 · -0.025em · 1.3
Where the money came from
subheading · 15px · 600 · -0.02em
Four people haven’t paid yet. The oldest is six days.
body · 14px · 400 · 1.55
Ada Okoro
body-strong · 14px · 600 · -0.015em
Comment · Instagram · your 21:05 post
caption · 12px · 400 · 1.45
Invoiced
label · 10.5px · 600 · 0.08em · uppercase, the only uppercase role
₦412,000
money · 17px · 600 · -0.03em · always tabular-nums

Why tabular figures are not optional

Naira sits in vertical lists: outstanding invoices, tiles, per-platform breakdowns. Proportional digits make those columns ragged and hard to compare. Currency is always the glyph with thousands separators.

tabular-nums

  • ₦412,000
  • ₦337,500
  • ₦74,500
  • ₦18,500
  • ₦2,500

proportional

  • ₦412,000
  • ₦337,500
  • ₦74,500
  • ₦18,500
  • ₦2,500

Spacing

Eight values, and nothing between them. The bars below are drawn at their real widths. Everything on this page is padded and gapped from this scale, including the rail on the left, which is the sidebar width exactly.

card-gap · 9px · the seam between stacked rows inside a card or a list
card-pad · 13px · the inner padding of a button, and of a comment rule
gutter · 16px · the phone gutter. Every surface starts here
gutter-wide · 24px · card padding, and the gutter once there is room for it
tap-min · 44px · the floor under the shortest side of every control
sidebar · 232px · the sidebar on laptop and desktop
list pane · 360px · the list column on a list-detail surface. The detail takes the rest
measure cap · 720px · the widest a column of prose is allowed to run

Shape and depth

Tighter corners than most component defaults, which is what makes the product read as an instrument.

4px · chips, status pills, Nudge

6px · buttons, inputs, notes

10px · cards

20px · the app frame

9999px · period pills, avatars

There is effectively no elevation. Cards are a muted fill on the paper, not a shadow. That is a legibility decision as much as an aesthetic one: layered shadows read poorly on the low-cost LCD panels common among these sellers, and flat fills survive sunlight better than soft edges. Media thumbnails take the 4px radius, because the seller’s own product photography is the most important image on any screen and heavy rounding crops it.

The focus ring

Tab to the button on the left to see the real one. The example on the right has the ring drawn permanently so you can measure it.

2px ring, 2px offset, never removed.

Publish to 4 platforms

The ring as it lands on a Pistachio fill.

The 2px offset in the page background is load-bearing rather than stylistic. A single ring colour cannot serve this palette: a light ring vanishes on the pale primary fill, and a dark ring vanishes on the dark ground. Offsetting the ring onto the page means it always contrasts against the page rather than against whatever it happens to surround.

Constraints that bind

Five rules that are settled, and that a new surface has to satisfy before it is finished.

  • 44px on the shortest side Every tappable control, with no exception for a small pill or a chip. The header on this page is 60px tall for exactly that reason.
  • State is never carried by colour alone A comment carries a left rule and the literal word Comment. A queued platform carries the word queued, not just amber. A failure carries a reason.
  • Usable at 200% text With no horizontal scrolling. Arrangement may change under enlarged type; content may not be cut off, and nothing may need a sideways scroll to read.
  • Focus is never removed If you replace the ring, replace it with something at least as visible. An invisible focus state is a broken keyboard.
  • Every swipe has a visible equivalent A gesture is an accelerator for people who know it is there. It is never the only way to reach an action.

One known divergence, so nobody copies it by accident: the phone screens on this page and the six linked mockups both draw the filter pills, the period pills, the buying-intent buttons, the tab bar and the small inline buttons below 44px. The designer recorded that in the mockups themselves and settled it there. 44px is what to build.

The twelve brand components

These twelve are the brand layer. Everything else is inherited unchanged, and restyling the inherited components is against the discipline.

button-primary
Pistachio fill with near-black text. Full-bleed inside the gutter, 44px floor. Never white text.
button-ghost
Transparent with a hairline border and an accent-text label. The secondary path at a two-option decision.
home-card
Muted fill, 10px radius, a strong title, a caption body, and a right-aligned accent action. Every home card ends in an action.
home-card-caution
The same anatomy on the warning surface with an amber title. The only warm surface in the product.
platform-row
A neutral 26px glyph tile, the platform name, a right-aligned fact, and an optional cost notice beneath.
kpi-tile
A label key over a money value over an optional comparison with last week. Laid out two-up with 1px seams. The comparison takes the paid blue only when it is a gain; a flat or falling period is set in the subtle foreground, because blue may never carry a loss.
nudge-button
Pistachio fill at the small radius, sized to sit inline at the end of an outstanding-invoice row.
cost-notice
The inline amber panel that says what something will cost or why it is limited. Bold amber lead clause, caption explanation after it.
tab-bar-item
Phone and tablet-portrait navigation. Subtle foreground, accent-text when active, 44px floor.
sidebar-nav-item
The same five destinations on wider screens. Active is a muted fill with foreground text, not an accent fill, because the sidebar is chrome and must not compete with the one accent on the surface it frames.
pane-divider
The 1px rule between list and detail. Identical to the rule between rows, deliberately: the wide layout is the phone layout given room, not a second visual language.
focus-ring
2px in the ring colour with a 2px offset in the surrounding background.

Layout across four widths

WidthNavigationPanesMeasure
PhoneBottom tab barOneFull width inside the gutter
Tablet portraitBottom tab barOneCentred at a readable measure
Tablet landscape, small laptopSidebarTwo on list-detail surfacesList at a fixed width, detail takes the rest
Laptop, desktopSidebarTwoDetail capped, surplus width becomes margin

The discipline behind that table matters more than the table. The phone is the design target and wider screens are accommodations. Arrangement changes with width; content never does. The layout never goes full-bleed, because a very wide row of invoice text is worse than a narrow one, not better. And nothing appears on desktop that is missing on the phone.

Home is the one surface where the number of columns changes with width: one column on phone and tablet portrait, two from tablet landscape up, with the weekly-totals card spanning the full width beneath. That is permitted because the content does not change, only its arrangement. Post stays single-column at every width, because a composer split across two panes helps nobody.

Do and don’t

DoDon’t
Put dark text on Pistachio fillsPut white text on Pistachio — 2.01:1, fails AA
Use accent-text for inline links in light modeUse Pistachio itself for small text on a light ground
Reserve amber for caution the seller can act onUse amber decoratively, or for failure
Keep money in tabular figures with the glyphAbbreviate money, or drop separators
Separate content with 1px rulesAdd shadows to cards to create hierarchy
Let every card and every figure end in an actionShip a number with no next step
Inherit the base component library for everything outside the twelve brand componentsRestyle the inherited dialog, toast or tabs
Keep the platform glyphs neutralColour platform rows with platform brand colours
One accent, one caution, one failure colourIntroduce a second brand colour, or any warm red-orange
Draw focus rings with a background-coloured offsetUse a single flat ring, or remove focus outlines
Implement the type ramp in rem against the user’s rootLock type to px and ignore the operating system’s font scaling
Let surplus width past the measure cap become marginStretch text to full-bleed on a wide screen
Separate panes with the same 1px rule used between rowsFloat panes as cards, or separate them with shadow
Keep the phone layout untouched by wide-screen decisionsDesign for the laptop and let the phone inherit the compromise
Let arrangement change with widthLet content change with width

One more, which is not in the table but binds just as hard: platform brand colours are not used anywhere. A platform row is about what Salesbrum will do, not about whose logo it is, and four brand colours in a stack would out-shout the one accent.

How it speaks

Warm and personal, and longer than strictly necessary

Salesbrum says that something matters before it says what it is, gives the consequence in plain words, then tells the seller what other sellers do. It uses more words than strictly necessary, on purpose, because this product has an unusual amount of complicated news to deliver and a seller who is surprised by any of it has been failed.

Never apologise for the platform’s rules, and never blame the seller.

Do and don’t

DoDon’t
“Heads up — this one matters.”“Warning: irreversible action”
“It leaves the WhatsApp app you use every day.”“Number migration to WABA will deregister the MSISDN”
“Most sellers keep a second number for business instead.”“Consider using an alternative number.”
“Nothing is lost — it will finish on its own and tell you.”“Status: PENDING”
“Four people haven’t paid yet. The oldest is six days.”“4 outstanding invoices”
“A post with a link costs 13× more on X.”“Surcharge applies (see pricing)”
“You won’t be able to use it there anymore.”“Some functionality may be affected.”
Name the platform in the seller’s words, “the WhatsApp app on your phone”Platform or API jargon, “the consumer client”, “Cloud API”
Say what still works when something breaksReport a failure without a next step

Words we have settled on

  • SellerNot vendor, not merchant, not user, in product copy.
  • Money ForensicsCapitalised, and reserved for the deferred profit capability. Never used for the sales summary that ships first.
  • Chioma and AdaChioma is the seller in every example. Ada is the customer. Keep them.
  • MoneyAlways ₦18,500. Never ₦18500, never 18.5k, never without the glyph.
  • Sentence case everywhereIncluding buttons. The only uppercase role is the small section label.
  • English only at launchWritten in the register the sellers we are building for actually speak.

One statistic is banned

“91% of Nigerian SMEs operate mainly on WhatsApp” has no primary source. It must never appear in any Salesbrum material. There is no replacement figure offered here, because this page carries no market data at all.

Patterns to keep

  • Second person, with contractions.
  • A reassurance immediately after any bad news.
  • Fact, then explanation, then a verb-phrase action ending in an arrow
  • The system says “we”, the seller is “you”, the customer has a first name.
  • Inference is labelled as inference.

Real strings from the product

Verbatim, so the voice is audible rather than described.

Home cards

  • “3 new enquiries” / “Ada asked how much for the blue one. Two more are waiting on Instagram.” / “Open inbox →”
  • “₦74,500 still owed” / “Four people haven’t paid yet. The oldest is six days — you can nudge them from here.” / “See who →”
  • “TikTok is still queued” / “From your 21:05 post. Nothing is lost — it will finish on its own and tell you.” / “Check it →”

First run

  • “One post, everywhere you sell.”
  • “No catalogue, no bank details, no setup. Connect one account and put something up — you can do the rest whenever you like.”
  • “Takes about two minutes. Nothing is charged yet.”

Post result

  • “4 of 5 live”
  • “TikTok is still going. You don’t need to wait — it will finish on its own and tell you.”
  • “Nothing is lost. If TikTok is still queued in an hour we’ll retry it for you.”

Cost caution

  • “No link on this one. A post with a link costs 13× more on X. Add one and we’ll show you the cost first.”

TikTok state

  • “Going out private — TikTok hasn’t approved public posting for us yet. We’ll tell you the day it changes.”

Buying intent, labelled as inference

  • “Looks like she wants to buy”

Reply window

  • “You have 21 hours to reply. Instagram closes the window a day after her last message — we’ll warn you before it does.”

Invoice

  • “Send into the chat”
  • “Goes to Ada on Instagram, where you were talking”
  • “Paystack pays straight into your own account. Salesbrum never holds your money and adds no fee.”

The X zero

  • “X hasn’t made you anything in five weeks — and it uses up posts from your plan. You can switch it off and keep everything else.”
  • “Turn X off”

Empty states

  • One sentence saying what will appear here and the action that causes it. Never an illustration.

What we need from you

Three briefs

Each one separates what is already settled from what is genuinely open. The settled half is not a starting point for debate; the open half is where the work is.

Product designer

Already settled, do not redesign

  • Five destinations named Home, Inbox, Post, Sales and More.
  • Home first, and Home as a state mirror.
  • The palette and the type ramp.
  • No elevation.
  • The four-width layout rules.

Open and wanted

  • The surfaces that have no mockup yet, notably customers, connections, plan and usage, and data and privacy.
  • The empty and error states across every surface.
  • The icon set for the five destinations and for the platform glyphs, kept neutral.
  • The install and notification prompts.
  • The shape of the first-run lead.

Brand and logo designer

There is no logo yet.

What exists

  • The name Salesbrum.
  • The pistachio green, and Poppins.
  • The posture: “an instrument, not a feed”, “slick but unshouty”.

Constraints that bind

  • The mark has to work at 20px in a bottom tab bar, and on a phone home screen.
  • Pistachio cannot carry small text on a light ground, so a green wordmark is not available.
  • There is no second brand colour, and no warm red-orange.
  • There are no gradients on surfaces.
  • The mark must hold in both light and dark, neither of which is the real one.

Wanted

  • Wordmark, app icon, and the smallest legible lockup.

Copywriter

What exists

  • The register above, and the strings in the product today.

Wanted

  • The first-run and paywall copy.
  • The plain-language permission explanations, said in the seller’s terms rather than the platform’s, one per platform.
  • The nudge messages the seller sends without writing them.
  • The whole family of caution and limit messages.
  • The empty states.
  • The notification strings, which must say who, which platform, and that it is waiting, and nothing more.

The states that need words

The caution and limit family and the empty states are both asked for above, so here is the list rather than a guess at it. One line each, and every one of them needs the register described in the previous section.

  • Partial successSome platforms took the post and some did not. Say which are live before saying which are not.
  • QueuedA platform has it but has not finished. Nothing is lost, and she does not have to wait for it.
  • Platform failedOne platform refused. A plain reason, a retry, and a sentence saying the others are still live.
  • OfflineThe phone has no connection. Lead with what she can still do rather than what she cannot.
  • Draft queued offlineA post or an invoice written with no connection, waiting to go out. The queue is visible and she can see her place in it.
  • Reply window closingShe has hours rather than days to answer in this thread. Warn her before it shuts, not as it shuts.
  • Reply window closedThe platform will no longer deliver a reply here. Say what she can do instead.
  • Approaching a limitShe is near a ceiling the plan counts. Say it early, while she can still change what she does.
  • At a limitThe ceiling is reached. Say what still works, and what lifts it.
  • Throttled by a platformThe platform is holding her back, not Salesbrum. Never apologise for their rules, and never blame her.
  • Permission dropped after connectingA connected account has withdrawn something. Name what stopped working and how she gets it back.
  • Invoice sent and immutableOnce it is in the chat it cannot be edited. She has to know that before she sends, not after.
  • No customer recordA conversation with nobody behind it yet. Say what creates one.
  • TikTok private-onlyPosts go out private until TikTok approves public posting for us. We tell her the day it changes.

Where to ask

Bring questions to the product channel rather than guessing. If a constraint on this page looks wrong, say so early: several of them are load-bearing, and a few are simply the first answer we found.

The full written specification lives in _bmad-output/ for anyone who wants it. You should not need it to do the work described above.