Subscription Platform for a Minneapolis Coffee Roaster
Designed and built a clickable subscription platform for a specialty coffee roaster shipping across the contiguous US: a care workspace to skip, swap, pause, refund and cancel for subscribers, a cancel log that replays every screen a subscriber saw, and fulfilment batches that hold boxes with an unverified address, a failed payment or short stock.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, subscribers with a quick view panel, subscriber detail with 5 tabs, cancellations and saves with a cancel session replay, and the fulfilment batch board.
The cancel button stays visible on every step and Accept offer sits beside No thanks, cancel at the same size. Each session logs every screen seen and button pressed.
Skips and coffee swaps work only before the cut-off. After it the box is locked and the buttons say why, so a late change never ships the old box by surprise.
A sample of the 6,030 headline subscribers, with 20 cancel sessions, 4 complaints, 14 fulfilment batches and the 7 coffees in the October box lineup.
Loonshadow grew from a café roastery to about 6,000 subscribers on an off-the-shelf store app plus spreadsheets. The roast plan was rebuilt by hand every week from a CSV export, skips and grind changes made after the cut-off still shipped the old box, and cancelling meant emailing customer care, which drew complaints, chargebacks and a warning from the payment provider about dispute rates. Failed renewals were retried blindly, and nobody could say what monthly recurring revenue was or why people left.
Bloomwright runs the subscription business in one place: plans, renewals and dunning through a payment service provider, a subscriber account where people skip, swap, pause and cancel online, curation and roast planning, fulfilment batches with packing lists and labels, honest save offers, and MRR, churn and cohort reporting. Care sees every subscriber's boxes, payments and agreed renewal terms on one page.
A coffee subscription is a negative option plan under US law: the customer is charged until they say stop. Federal law, state automatic renewal laws and card network rules all shape how sign-up, renewal and cancellation must work, while the roastery has to turn thousands of changing preferences into roast and packing plans every week.
ROSCA requires clear terms, express consent and a simple way to stop recurring charges, California's automatic renewal law adds online cancellation and limits on how save offers are presented, and Minnesota's requires an online cancellation method. The FTC's click-to-cancel amendments were vacated in July 2025 and rulemaking restarted in 2026, so Bloomwright meets that standard anyway.
Every skip, swap, grind change and pause alters what gets roasted and packed. Changes made after the cut-off still shipped the old box, and the weekly roast plan from a CSV export left one coffee over-roasted and another short.
Card networks limit how often a declined card may be retried and treat some decline codes as final. Retrying every failure blindly risks breaking those limits, and the box for a failed renewal has to wait until the payment is recovered.
Loonshadow must never store card numbers, yet care needs to see which card a renewal used, and every consent, renewal disclosure, refund and cancellation has to be on record if a dispute or complaint comes in.
Mapped 10 user roles from care agents and the roastery to finance and gift buyers, 39 screens (28 staff and 11 public and subscriber screens, designed mobile first) and the data model for plans, subscriptions, boxes, renewals, cancel sessions, coffees, roast batches and fulfilment. Wrote down the rules the design follows: ROSCA, state automatic renewal laws, card network rules for stored credentials, PCI DSS scope, the FTC Mail Order Rule, CAN-SPAM, TCPA and state privacy laws.
Built 5 key staff screens on a production dashboard kit: the dashboard with MRR, churn, 14 days of upcoming renewals and the October box lineup, the subscriber list with filters and quick view, subscriber detail with skip, swap, pause, refund, reship and cancel on behalf, cancellations and saves with the complaints tab, and fulfilment batches by stage. All actions run on local state.
Recurring payments and hosted card fields through Stripe or Braintree with Apple Pay and Google Pay, Avalara or TaxJar for sales tax, address verification, EasyPost or Shippo labels and tracking, Postmark, Klaviyo and Twilio messaging, a Gorgias or Zendesk inbox and QuickBooks Online export. Plus the public quiz, checkout and subscriber account, staff auth by role and a full audit log of every consent, disclosure, refund and manual edit.
Each cancel session records the reason chosen, the single offer shown, the outcome and every button pressed. When a subscriber complains, the care lead opens the exact session, and marking a complaint resolved requires a note.
Subscriber detail shows the renewal disclosure version shown at checkout, the consent timestamp and marketing email and SMS consent with dates. Card details stop at brand, last four digits, expiry and a masked payment provider reference.
Refunds over the signed-in user's $150 limit become approval requests, cancel on behalf shows the confirmation email before sending, and bulk actions on the subscriber list stop at export, tags and messages, with no bulk price changes.
Fulfilment groups charged boxes into batches of up to 120 by ship date, service level and box type. Boxes with an unverified address, a renewal in dunning or a coffee short on stock wait on hold, and the dashboard flags any box past its ship-by date.

Designed a mobile-first headless storefront for an Andorran outdoor apparel brand selling to Andorra, the EU, the UK and Switzerland, and built a clickable demo of its staff admin: storefront health, merchandising rules, a collection grid editor, CMS content status and per-market prices, taxes and legal settings.

Designed and built a clickable order management system for an Amman beauty retailer selling through 60 stores, two distribution centres, its own website and app, and Amazon, Noon and a fashion marketplace across Jordan and the GCC: every order in one place, sourcing that explains itself, and one dashboard for every stuck order.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab