OphirDigital

Case study · Client — Delivered

FOTVIBES — a Nigerian fashion brand's Shopify alternative.

A ground-up e-commerce build for a ready-to-wear brand between Lagos and London. Naira as the ledger. Editorial page over template gallery. Three tiers of merchant surface — from first sale to next-year growth — shipped live and documented.

Stack

Next.js 16 · Prisma 7 · Neon Postgres · Paystack · Vercel

Base currency

NGN — USD & GBP derived on the fly

Live

fotvibes.vercel.app

Codebase status

Reference build for boutique-storefront-starter

The premise

Shopify with the local currency backwards, monthly rent for POS, and a theme that reads like everyone else's.

The brand ships handmade pieces at Naira prices, sells across pop-ups in Lagos and DHL orders to London, and lives in Instagram DMs. Shopify wants USD as the base currency, $89/month for POS Pro, and a theme-gallery aesthetic. So we didn't use Shopify. The result is on your screen at fotvibes.vercel.app.

What we shipped

Four tiers of merchant surface, live.

Every layer is deployed. Each was built to be turned on when the merchant needs it, not hidden behind a paywall for later.

00

Tier 0 — the shop

The store that shipped first. Everything a fashion brand needs to sell online at day one.

  • Products, categories, collections, cart, checkout
  • Paystack integration with idempotent markOrderPaid + signed webhook verification
  • OrderItem snapshot pattern — name, price, image denormalised so history survives edits
  • Currency selector, editorial homepage, Ken Burns hero, Instagram DM chat button

01

Tier 1 — retention

The layer past first purchase. Customers who come back, told they should come back.

  • Customer accounts + wishlists (guest-friendly, syncs on login)
  • Verified-buyer reviews with review-request cron 5 days post-fulfilment
  • Discount codes with usage caps + snapshot on the order
  • Abandoned-cart recovery — session-keyed persistence, daily cron
  • Site content editor for announcement bar + homepage story

02

Tier 2 — running the shop

Everything the merchant does after launch. Pain in this layer kills stores by neglect.

  • Point of Sale at /pos — mobile-first, cash + transfer + Paystack QR
  • Inventory ledger — StockMovement audit trail, low-stock alerts, in-transaction decrement
  • CSV bulk import / export — same format both ways, atomic commit, per-row preview
  • Analytics dashboard — revenue by range, top pieces, channel split, refund rate
  • Tracking numbers + refunds via Paystack refunds API
  • Shipping zones, product tags, per-product SEO overrides, dedicated About page

03

Tier 3 — growth surfaces

The next-year layer, shipped now so the merchant can activate as demand shows.

  • Gift cards with atomic redemption inside the checkout transaction
  • B2B wholesale pricing via Customer.tier + effectivePrice single source of truth
  • Subscription signal — badge on the PDP; Paystack Plans wired as a follow-on
  • Editorial /pages CMS — Care, Sizing, FAQ templates included
  • PWA install — home-screen app on Android + iOS Safari, no native build
  • Three-rung Chat with us panel — Instagram DMs, WhatsApp, in-page contact form

Doctrine

Every pattern from this build turns into a chapter in the runbook.

FOTVIBES is the reference build behind the Ophir e-commerce playbook and boutique-storefront-starter. Every feature that shipped here also became a retrofit chapter — so the next client wanting POS, gift cards, or wholesale pricing gets that pattern applied in a focused session, not rebuilt from scratch.

The build itself is documented for the merchant at fotvibes.vercel.app/story — a walkthrough written as a magazine feature, not a spec.

Building something in this shape?

Small brand, considered aesthetic, needs a real ledger and a real POS — not a configured template. That's the work.

Start a conversation