Back to our work Case study, Mystic Shop BD

A commerce platform they own outright.

Built for how Bangladesh actually sells: taka pricing, cash on delivery, local wallets, real courier integrations, and Meta tracking that reports profit. Platform hosting runs at $0 a month.

The build

Not a template. A platform.

Storefront, checkout, admin, and analytics in 1 codebase
The Mystic Shop BD storefront
What we built

The work, up close.

15 pieces of the build, every one a real page from the finished site.

The Mystic Shop BD storefront homepage
Storefront

Fast pages the merchant can restyle

Server-rendered for speed and search visibility, with a section builder that lets the shop assemble campaign homepages, banners, countdowns and collections without touching code or installing an app.

Rendered at the edge, no origin server

An Islamic Decor collection page with filters
Collections

Merchandising the shop controls

Manual collections for hand-picked ranges and smart collections driven by title, type, tag, price or stock. Sorting and filters are configurable, so a campaign page can be built in minutes.

Manual and rule-based collections

The Wedding and Couple Gifts collection
Discovery

Filters that match how people shop

Price, type and product-option filters, live type-ahead search, quick add straight from the grid, and recently viewed items, so the catalog stays navigable as it grows.

Type-ahead search with quick add

The Resin Jewellery collection page
Catalog

Room to grow into new ranges

Each category gets a proper landing page with its own copy and structure, so a new range slots into the store and into search results without a redesign.

4 collections at launch, built to extend

A product page showing variants, pricing and add to cart
Product page

Everything needed to decide

Ordered galleries with zoom, variant-specific images, compare-at pricing, live stock messaging, and both Add to Cart and Order Now paths. Selecting a variant updates price, image and availability instantly.

Up to 3 option dimensions per product

A product page for a magnetic frame with variant options
Variants

Real inventory behind every option

Variant-level price, SKU, cost, weight and stock, with low-stock urgency drawn from actual inventory rather than a fake counter, plus back-in-stock signup when something sells out.

Variant-level stock and pricing

A jewellery product page
Presentation

Handmade goods deserve better presentation

Large imagery, structured specifications, and reviews with verified-buyer matching, so a handmade product is as easy to trust online as it is in person.

Reviews matched to real orders

The About Us page telling the brand story
Brand

A shop with a story attached

Editable rich-text pages let the brand explain how things are made and who makes them, which is what separates a handmade shop from a marketplace listing.

Merchant-editable content pages

The FAQ page answering delivery and payment questions
Objections

Answer the questions that stall a sale

Delivery times, cash on delivery, personalisation, care and returns answered in public. In this market the cash-on-delivery question is the one that decides whether a first-time buyer orders at all.

Objections handled before checkout

The contact page with a custom-order enquiry form
Enquiries

Custom orders without losing the thread

A contact form that stores enquiries in the admin with new, read, replied and archived states, alongside the WhatsApp and Facebook routes the shop already uses.

Enquiries tracked inside the admin

A blog article about resin care
Content

Content that reduces returns

A full blog with cover images, tags, scheduling and related posts. Care guides answer questions after purchase, which cuts support messages and return requests.

Scheduled publishing built in

The shipping policy page with delivery zones
Delivery

Delivery promises the system enforces

Inside Dhaka, outside Dhaka and personalised-item timelines are published, and the same zone logic drives shipping rates and delivery dates at checkout. The promise and the system agree.

Zone-based rates, dates and slots

The home decor collection
Merchandising

Every category earns a page

Home and decor gets the same structure as every other range, so the catalog can grow into new categories without a redesign or a developer.

Collections the merchant creates

A handmade scrapbook product page
Product depth

Made-to-order handled properly

Personalisation, lead times and made-to-order expectations are set on the product page, which is where returns are prevented rather than processed.

Expectations set before checkout

The refund policy page
Policy

Policies that reduce disputes

Refund, shipping and care policies published plainly. In a cash-on-delivery market, clear terms are part of the operations system, not legal filler.

Written to be read, not to hide

The client.

Mystic Shop BD sells handmade and imported goods across Bangladesh, where demand arrives from Facebook, most orders are cash on delivery, and margin is won or lost on courier performance.

5Payment methods
2Courier integrations
$0Monthly platform cost
At a glance

The engagement, on paper.

Client
Mystic Shop BD, a direct-to-consumer retailer selling across Bangladesh.
Industry
E-commerce, with demand driven largely by Facebook advertising.
Starting point
Needing a serious store without a growing stack of subscriptions and apps to make local workflows possible.
Scope
A full commerce platform: storefront, cart, checkout, payments, orders, inventory, returns, delivery, admin, email, and analytics.
Stack
Cloudflare Workers and D1, Hono, Drizzle ORM, TypeScript, and a React admin console.
Ownership
Full source code, database schema, and deployment configuration held by the business.
Platform cost
$0 a month while usage stays within Cloudflare's free allowances.
The challenge

Global platforms, local reality.

Hosted commerce platforms are built around a Western card-payment model. Selling in Bangladesh means solving a different set of problems.

Cards are not the default

Most orders arrive as cash on delivery or through mobile wallets, which foreign platforms treat as an edge case to be bolted on.

Subscriptions compound

A monthly platform fee is only the start once reviews, wishlists, returns, page building, email, and analytics each need their own paid app.

Couriers need real integration

Booking parcels by hand and copying tracking numbers does not scale, and it hides the delivery data that protects margin.

Cash on delivery is a margin risk

Fake orders and failed deliveries cost real money on every parcel that ships and comes back.

Facebook drives the demand

That only works if Pixel and server-side events agree with the product catalog, and most setups quietly disagree.

Rented platforms have ceilings

A new checkout rule or report can mean a higher plan, another app, or simply being told it is not possible.

Project goals

7 goals, in order.

Each goal made the next one possible.

01

Own the whole stack

Source code, data model, and deployment held by the business rather than rented from a vendor.

02

Make cash on delivery first-class

Design the checkout around how customers actually pay, not around a card form with COD attached.

03

Connect local payments

bKash, SSLCommerz, and manual wallet methods handled natively, with an incentive to pay in advance.

04

Automate the courier loop

Book parcels from the order, then bring delivery status back into fulfilment automatically.

05

Measure profit, not revenue

Join cost snapshots to orders so reporting shows margin instead of a flattering top line.

06

Defend the margin

Risk scoring, phone and IP blocking, and order verification before an expensive parcel ships.

07

Run it for nothing

Architect it so the platform bill stays at zero while the business is small, and scales deliberately.

Our strategy

The decisions behind the platform.

Six calls that shaped the build, and the reasoning we apply to custom commerce work.

Start from the local reality, not a template

Most platforms begin with card payments and add Bangladesh through apps and manual work. We began with taka, cash on delivery, wallets, and couriers, so the awkward parts are native instead of patched.

Own the checkout so incentives can change

Checkout is where margin is decided. Owning it means an advance-payment discount, a delivery slot, or a verification rule can ship the same week it is needed.

Make ad IDs and feed IDs the same IDs

Pixel, server-side events, and the product catalog all use the same variant identifiers. Without that, retargeting quietly misfires and reporting never reconciles.

Send courier results back to the order

Booking a parcel is the easy half. Returning delivery status to fulfilment is what turns courier choice into a measurable decision rather than a habit.

Report profit, not revenue

Cost is captured on the order line at the time of sale, so historical margin stays accurate even after prices and products change.

One codebase instead of a plugin chain

When reviews, returns, email, couriers and analytics share a source tree and a schema, an update cannot silently break the checkout.

Built for Bangladesh

The parts a global platform treats as edge cases.

Taka and phone handling

Currency formatting and Bangladesh phone normalization built into the core, so orders and customer records stay clean.

Cash on delivery as a first-class path

The dominant payment method in the market is designed for, not tolerated, from checkout through to delivery reporting.

Local payment rails

bKash tokenized checkout, SSLCommerz hosted payment, manual Nagad, plus card and wallet options where they are useful.

Pathao and Steadfast

Parcels are booked from the order, consignment IDs stored, and courier status mapped back onto fulfilment automatically.

Cash-on-delivery defence

Risk scoring, a phone and IP blocklist, and an order-verification step before an expensive parcel is dispatched.

Meta measurement done properly

Pixel plus Conversions API with event deduplication, and a product feed whose variant IDs match the tracking IDs exactly.

The conversion loop

1 connected loop, not 8 disconnected apps.

Every stage writes back to the order, so the shop can see which advert produced a delivered, profitable sale.

01

Advert

Campaign, source, and medium captured from the first click and carried through the session.

02

Product view

Browser and server events fire together, deduplicated, using the same variant IDs as the catalog feed.

03

Cart

A server-backed cart with early email capture, so an abandoned basket can still be recovered.

04

Checkout & payment

Local methods, an advance-payment incentive, and risk checks before anything is dispatched.

05

Courier

The parcel is booked from the order and tracked without anyone retyping a consignment number.

06

Delivery

Courier status returns to fulfilment, turning delivery performance into data the shop can act on.

07

Review & repeat

A review request goes out after delivery, and the customer enters segmentation for retention.

The economics

Owned platform versus rented.

Shopify is an excellent product for merchants who want a standard hosted platform. For this shop, owning the code won on both cost and control.

Shopify BasicMystic
Platform subscription$29 a month billed annually, or $39 month to month$0 a month within Cloudflare's free allowances
Platform cost over 3 years$1,044 to $1,404 before apps$0 in platform hosting
Platform transaction feeThird-party fees can apply with external gatewaysNone added by the platform, gateway fees still apply
Bangladesh operationsOften needs apps or custom integrationTaka, cash on delivery, bKash, SSLCommerz, Pathao and Steadfast built in
Checkout controlBounded by platform rules and plan levelSource-level control over fields, incentives, and risk logic
Core featuresAdvanced workflows may need paid appsReviews, returns, email, analytics and couriers in 1 codebase
OwnershipRuns on a proprietary platformSource code and database schema owned outright
MaintenanceHandled by the platform, which is genuinely easierThe shop's own responsibility, traded for control

Shopify list pricing checked in August 2026 and subject to change. Payment-gateway fees apply to both. The $0 figure covers platform hosting within Cloudflare's free tier and excludes domain, advertising, gateway, SMS, and email costs.

The outcome

An owned asset, not a subscription.

What the shop runs on today, and what it is no longer paying for.

$0Monthly platform cost
$1,044+Avoided over 3 years
5Payment methods
2Courier integrations
Business impact

What owning it actually changes.

Budget moves to the business

Money that would go to a platform subscription and a stack of apps goes into products, delivery, and advertising instead.

Margin is defended, not hoped for

Risk scoring and verification stop a share of the failed cash-on-delivery parcels before they ever ship.

Advertising can be trusted

Deduplicated events and matching catalog IDs mean the numbers in Meta reconcile with the orders in the database.

Demand becomes visible

Failed searches, wishlists, and views on sold-out items show what customers wanted and could not buy.

Courier choice becomes a decision

Delivery performance by courier, payment type, and risk level turns a habit into something measurable.

No ceiling on what comes next

A new rule, report, or integration is a code change, not a plan upgrade or a search for the right app.

Questions

The short version.

Is the platform really free to run?

The platform hosting is, with a clear boundary worth stating:

  • What is $0: the Cloudflare Workers and D1 usage that serve the storefront, admin, and database, while usage stays inside the free allowances.
  • What is not: domain renewal, advertising spend, payment-gateway fees, SMS, email above a provider's free tier, and courier charges.
  • What happens at scale: passing the free tier means a deliberate paid upgrade, which is a growth event rather than a failure.
Why build custom instead of using Shopify?

Shopify is the right answer for many merchants. It was not the right answer here:

  • Local workflow: cash on delivery, bKash, SSLCommerz, Pathao, and Steadfast are native rather than assembled from apps.
  • Checkout control: advance-payment incentives, delivery slots, and verification rules need source-level access.
  • Cost shape: no monthly platform fee and no app stack growing alongside the catalog.
  • Honest trade: Shopify handles maintenance and brings a huge ecosystem. Owning the code means owning the upkeep too.
How does the Meta tracking differ from a standard setup?

Most setups fire a Pixel and stop. This one closes the loop:

  • Two signals, one event: browser Pixel and server-side Conversions API with shared event IDs, so nothing is double counted.
  • Matching identity: the variant IDs in the product feed are the same IDs sent with commerce events, which is what makes dynamic retargeting work.
  • Attribution stored: campaign, source, and medium are frozen onto the order, so revenue can be traced to a campaign later.
  • Consent aware: tags and server events respect the visitor's consent state.
What stops fake cash-on-delivery orders?

Several layers, because no single check is reliable on its own:

  • Risk scoring: orders are flagged for elevated risk before dispatch rather than after a parcel is lost.
  • Blocklist: phone numbers and IP addresses linked to abuse can be blocked directly from a suspicious order.
  • Verification step: flagged orders wait for confirmation before a courier is booked.
  • Feedback loop: delivery outcomes by risk level and payment type show whether the rules are actually working.
Can Rizer build something like this for my business?

Custom is the right call when your workflow is the thing that makes you money:

  • Good fit: local payment or delivery models that hosted platforms treat as edge cases, or app bills growing faster than the business.
  • Poor fit: a standard catalogue with standard payments and no appetite for maintenance. Hosted platforms win there, and we will say so.
  • Next step: book a free call and we will tell you honestly which one you need.
Keep exploring

More case studies.

View all
Your turn

Outgrowing your platform? Own the next one.

If your workflow is the thing that makes you money, it should not be limited by what an app marketplace happens to offer.