How Ember & Bloom Chocolate Co. — a solo bean-to-bar operation in Portland — grew trailing-12-month revenue from $48,000 to $312,000 over 18 months without hiring, without raising capital, and without a new copacker. A walk-through of the numbers, the decisions, and the tools.
Sarah is the sole owner, chocolatier, bookkeeper, shipping clerk, and Instagram manager of Ember & Bloom Chocolate Co. She bought her first 40-lb Premier melanger in 2023 and started selling at two Portland farmers' markets with three single-origin bars: Ecuador 72%, Madagascar 68%, and Peru 75%.
By early 2024 she was producing around 240 bars per week across twelve SKUs, grossing about $48,000 a year, and working roughly 55 hours a week. Her books lived in four places: a Square dashboard, a Google Sheet for wholesale invoices, a shoebox of receipts, and her Gmail inbox.
She thought her Ecuador 72% bar cost her about $1.38 to make. She charged $5.50 wholesale. On paper she was running a 75% margin business. She was also quietly losing money on every bar of her Lavender Honey Dark and didn't know it.
“I had been telling people I ran a 75% margin business because that was what the spreadsheet said. The first time Cacao Craft priced out an actual batch with labor and shrink pulled in, the Lavender Honey came back at −$0.34 a bar. I'd been selling 40 of those a week for a year.”
Most makers price their bars the way Sarah did: weigh the ingredients, divide by yield, add a round number for “overhead,” and call it a day. The number they land on rarely includes the 8–10% winnowing loss, the 2% tempering rejects, their own labor, the shared electricity bill, or the amortized cost of the melanger itself.
Cacao Craft's Batches module pulls all of this in automatically. Every time Sarah closes out a batch, the system logs input weight, output weight, conche and temper time, labor minutes, and yield loss at each stage. The recipe P&L re-prices itself from the last three batches, not a napkin estimate. The shift from napkin math to tracked math looked like this for her flagship bar:
| Line item | Back of napkin | Tracked in Cacao Craft |
|---|---|---|
| Cacao (Ecuador Esmeraldas nibs, 62g @ $14.5/kg) | $0.90 | $0.90 |
| Cane sugar (24g) | $0.04 | $0.04 |
| Cacao butter adjustment (4g) | $0.09 | $0.09 |
| Wrapper + inner foil | $0.35 | $0.35 |
| Winnowing + grinding shrink (10.5%) | — | $0.14 |
| Labor @ $22/hr (tracked to batch) | — | $1.62 |
| Utilities + depreciation (allocated) | — | $0.41 |
| Tempering rejects + QC pull (2.1%) | — | $0.07 |
| True COGS | $1.38 | $3.62 |
| Wholesale price (to a co-op) | $5.50 | $5.50 |
| Margin per bar | +$4.12 | +$1.88 |
The Ecuador bar was still profitable — just less than she'd thought. Lavender Honey was not. Coffee Crunch was only break-even after accounting for the $12/kg Stumptown beans she had been treating as “negligible.” Three of her twelve SKUs were losing money. Two more were making under $0.50 a bar wholesale.
She discontinued the two worst bars, raised the wholesale price on Lavender Honey from $5.50 to $7.00 (which her three accounts carrying it accepted without pushback), and moved Coffee Crunch to a seasonal SKU she only made for markets at DTC pricing. Gross margin on the whole catalog climbed from 31% to 44% in a single quarter — before she ever added a new channel.
At month 0, Ember & Bloom sold through exactly two channels: six wholesale accounts (mostly local cafes) and the two farmers' markets. Revenue was seasonal, lumpy, and bounded by Sarah's physical presence. She couldn't vacation without losing a market weekend. She couldn't onboard a new wholesale account without stalling the next batch run.
The Cacao Craft dashboard surfaced the channel mix as a single pie chart on day one, and the empty slices became a prioritized to-do list. Over 18 months she stood up two entirely new revenue streams and tripled the old ones:
In month 9 a regional natural grocer — twelve stores — expressed interest in carrying Ember & Bloom's Ecuador and Madagascar bars. The category manager asked for, in one email: a HACCP plan, cut-test records for the last six months, Prop 65 heavy-metal test results, nutrition facts panels and ingredient declarations generated from the actual recipes (not a website copy-paste), EUDR-compliant origin documentation, and a full recall plan covering lot traceability.
Without Cacao Craft, this request would have taken Sarah two weeks of googling, a $2,500 consultant, and probably a missed deadline. She had the entire package assembled in 90 minutes:
She won the account. The twelve-store order added $46,000 in annualized wholesale revenue and — more importantly — gave her a compliance package she could hand to the next grocer without blinking.
Sarah's Instagram account had 1,800 followers at month 0. She knew posting consistently mattered but couldn't carve out the time — every hour spent on a caption was an hour not spent tempering.
Cacao Craft's AI Content Studio generates on-brand captions, label copy, tasting notes, sell-sheet blurbs, and email campaigns from her actual recipe data. It knows the Ecuador beans came from a specific cooperative in Esmeraldas, that the Madagascar is a Sambirano valley Trinitario, and that her brand voice leans earthy and understated. Every new batch automatically generates three draft captions for her to pick from.
Eighteen months later her account has 8,700 followers, her email list has grown from 340 to 4,100, and her weekly marketing time is under 30 minutes. The subscription club launch post drove 54 sign-ups in its first 48 hours.
“The AI isn't writing for me. It's writing the first 80% so I can spend 15 minutes on the last 20% that sounds like me. That 80% used to be the reason I never posted.”
The growth didn't come from a single magic feature. It came from compounding decisions that each individually shifted the business by five or ten percent. A $1.88-margin bar becomes a $2.40-margin bar when you find a better cacao lot and the recipe P&L tells you immediately. Four channels smooth out what two channels made lumpy. A compliance package that takes 90 minutes instead of two weeks means you say yes to the grocer instead of stalling.
Sarah is still one person, still running one 40-lb melanger, still working out of the same 300-sq-ft kitchen. The melanger is booked six weeks out. The next hire is a part-time production assistant in Q3. The business clears enough to pay her a real salary and still fund growth.
Recipes, batches, true COGS, wholesale, retail POS, subscriptions, corporate gifting, compliance, AI content, and 170 other things one person shouldn't have to glue together from 11 tools. We're finishing the last round of polish before public launch — get on the list and we'll reach out personally.
Join the waitlist