Case study · 2026 · eCommerce · Design + Build · Ongoing
09

A Caribbean AI brand, designed, built and set up to run.

The Black Rose sells digital products and books strategy calls for a Caribbean community of 12,400+. We designed it from her brand direction, built it, and set up the platform underneath it: Cloudflare, GitLab, Google Workspace and Cal.com, all in her name. The storefront runs a real cart and WiPay checkout in TTD and USD, receipts go out on a retrying queue, and her blog moved off Notion onto markdown at her own domain so the traffic finally lands on her site. Live at theblackrosehq.com/store, and ongoing.

ClientThe Black Rose
Year2026
LocationTrinidad & Tobago · Caribbean
The Black Rose storefront homepage
Live · theblackrosehq.com/storeVisit site ↗
12,400+Community reached
1.2M+Views generated
TTD & USDWiPay checkout
In progressLive engagement
[ 09 · Overview ]

The brief,
in three beats.

Challenge · Approach · Outcome
— Challenge

What they needed.

The Black Rose had built a community of 12,400+ across the Caribbean and needed to sell to it directly. That means taking Trinidad payments as easily as overseas ones, and off-the-shelf platforms price in USD, settle abroad, and treat a local card as the edge case. The blog feeding that audience sat on Notion, sending its readers and its search traffic to a domain she did not own. And there was no platform under any of it: no company email, no repository, no accounts in her name.

— Approach

How we tackled it.

Design first, worked up from her brand direction and written briefs, then one app on Cloudflare: a React storefront served as static assets, with a Worker behind /api handling checkout, WiPay verification, orders, receipts and the Cal.com proxy. Every third-party call goes through that Worker rather than the browser, so no key ever ships in the bundle. Alongside the build we stood up the accounts it runs on, moved the blog onto markdown at her own domain, and put analytics behind it so the content has numbers attached.

— Outcome

What happened.

Storefront, blog, booking and admin dashboard are live at theblackrosehq.com/store. Checkout is built and deployed against WiPay's sandbox, ready to flip to live the moment her business account clears verification. The brand landing page is the next phase, and the engagement is ongoing.

[ 09 · How we got there ]

Inside the
engagement.

7 chapters
01 / 07Context

Built for an audience that already existed

The Black Rose came to the build with reach in hand: a community of 12,400+, 1.2M+ views generated, 90+ Caribbean businesses helped and 24+ free frameworks published. A single campaign drew 162K organic views and 1,233 new followers inside thirty days. The store's job is to convert that attention without sending it offshore to check out.

  • 12,400+ community
  • 1.2M+ views generated
  • 90+ Caribbean businesses helped
  • 162K organic views from one campaign
02 / 07Design

Designed from her direction

She brought the brand and the direction, in briefs and revision notes rather than files. We did the design work: the visual system, the storefront, the package tables, the post-purchase screens, and the guided welcome that greets a first-time visitor. Where a brief and a later pricing document disagreed, the document won, because the site quotes prices people actually pay.

03 / 07Setup

Her platform, in her name

She owned a brand and an audience but nothing underneath them. We set up Cloudflare for DNS, hosting and the Worker; GitLab for the code, with deploys running on push; Google Workspace for company email; and Cal.com with four booking types mapped to what she actually sells, on Port of Spain time. Every account in her name, not ours, so none of it is hostage to us.

  • Cloudflare: DNS, hosting, Workers, D1, KV, Queues
  • GitLab: source control and deploy on push
  • Google Workspace: company email
  • Cal.com: four booking types, Port of Spain time
04 / 07Commerce

A real cart and checkout

Not a payment link. A working cart, a currency toggle for TTD and USD, a WiPay hosted payment page, and an order written to D1 before the buyer ever leaves. The callback hash is recomputed and verified server-side before anything is marked paid. It runs against WiPay's sandbox until her business account clears verification, then flips to live with a config change and no code.

  • Cart with TTD / USD toggle
  • WiPay hosted payment page
  • Callback hash verified before an order is marked paid
  • Thank-you, failed and order-lookup screens
05 / 07Reliability

Receipts that cannot quietly fail

A receipt for a payment that already settled is the one email you cannot lose, so it does not ride on the callback's response. The callback enqueues and a consumer sends: five retries, one message at a time, and a dead-letter queue for anything that still fails. Buyer receipt and sale notice are separate messages, so a bounced buyer address cannot also suppress the notice telling her there is an order to fulfil.

06 / 07Content & growth

The blog, off Notion and onto her domain

Her blog lived on Notion, which meant every post she wrote sent its readers, and its search traffic, somewhere she did not own. It now lives at /blog on her own site. Posts are markdown files bundled at build time, so publishing is a commit and nothing needs registering per post. Google Analytics went on at the same time, so the content finally has numbers attached to it.

  • Markdown posts, no CMS to maintain
  • Published by pushing a commit
  • Traffic and search value land on her domain
  • Google Analytics across the site
07 / 07Ongoing

Admin, architecture and observability

An admin dashboard for orders and the follower figure she sets by hand. Front-end environment values hold paths, never keys, so checkout, booking availability and follower data all route through the Worker that holds the credentials. Cal.com availability is proxied and rendered in the site's own design rather than dropped in as an iframe. Sentry on both the client and the Worker, with Cloudflare traces at full sampling, because on a payment site the sampled-away request is the one you needed.

[ 09 · Tech ]

The tools
we shipped on.

Battle-tested choices · not flavour-of-the-month
React 19TypeScriptViteTailwind CSSCloudflare WorkersCloudflare D1Cloudflare KVCloudflare QueuesWiPayResendCal.comSentryGoogle AnalyticsGitLabGoogle WorkspaceBunVitest
[ 09 · Related work ]

Other
engagements.

From the studio

— Let's make something —

Tell us what
you're building.

Studio
Port of Spain
Trinidad & Tobago
Hours
Mon — Fri
09:00 — 17:00 AST
Response
Within 24 hours
on business days