All projects
Live in productionPrivate codebaseE-commerce

Kira Scales: E-commerce & CMS

A full-stack online store and headless CMS for an industrial weighing company: Paystack checkout, proforma invoices, order tracking, a built-in CRM and newsletters, and SEO built to rank across Nigeria.

CMS collections
14
Pages, plus 26 API routes
38
Legacy URLs redirected
300+
Ways to buy: card, transfer, proforma
3
A loaded tipper truck on a newly installed Kira Scales weighbridge

Highlights

  • Prices are always re-calculated on the server; the browser is never trusted
  • Payment confirmation is race-safe, with exactly one confirmation email every time
  • A CRM and newsletter system built into the CMS, with consent handling
  • Marketing staff run content and campaigns without admin access
  • Migrated from the old domain without losing search rankings

The problem

Kira Scales Limited is our sister company in industrial weighing, with a head office in Ikeja and a branch in Idumota, Lagos. It supplies, installs and calibrates weighbridges and industrial scales across Nigeria. Its old website didn't rank, couldn't take payments, and every lead arrived as an unstructured phone call.

Industrial equipment is a high-value B2B purchase: buyers want a formal proforma invoice for approval, often pay by bank transfer, and need to know where their order is. The new platform had to support all of that, and let non-technical staff run the content and marketing.

What it does

  • Online store: a product catalogue with categories, a cart, and checkout by Paystack or direct bank transfer.
  • B2B purchasing: printable proforma invoices with per-product VAT, quote and service request forms, and order tracking.
  • Order lifecycle: status emails sent automatically as orders move from pending to paid to delivered; bank-transfer orders wait until staff confirm payment.
  • CRM: contacts are created and de-duplicated automatically from every quote, proforma, order and sign-up, each with an activity history.
  • Newsletters: campaigns targeted by source, tag or staff owner, test sends, and unsubscribes and bounces synced back automatically.
  • CMS: 14 collections with live preview, drafts, redirects, site search, a form builder, CSV import/export and a branded admin dashboard, with separate admin and marketing roles.
  • SEO: search-intent landing pages, city landing pages, structured data, a sitemap index and a Google Merchant Center product feed.

Architecture

System architecture
  1. Edge
    • Vercel edge proxy (legacy domain redirect)
  2. App
    • Next.js App Router (RSC + ISR)
    • API route handlers
    • Payload CMS admin
  3. Core
    • Payload local API
    • Pricing & checkout
    • Webhooks
    • Scheduled jobs
  4. Data & services
    • MongoDB
    • Blob storage
    • Paystack
    • Email
    • Newsletter provider
    • Merchant Center feed
Next.js and Payload CMS run as one app; content changes revalidate pages incrementally.

Engineering challenges

1

Trustworthy payments under a race condition

The customer's browser redirect and the payment provider's webhook can both arrive at the same moment. Prices are never taken from the client. Every cart line is re-priced on the server with the same rules as the storefront, and the amount actually paid is checked. The order moves to "paid" in a single conditional update on its current status, so exactly one caller wins and the confirmation email goes out exactly once.

2

Emails lost to serverless shutdown

Some confirmation emails never arrived because the serverless function finished before the send completed. Sends are now awaited on the verification path and also triggered from the webhook path, so either route delivers.

3

Changing domains without losing search rankings

The site moved from the old domain to a new one. A full map of 300+ legacy URLs was collapsed to single-hop permanent redirects at the edge, with paths preserved, plus canonical URLs, sitemap fixes and structured data so search engines could transfer existing rankings.

4

A consent-aware CRM inside the CMS

Contacts from many sources are merged into one record per email or phone. Consent is explicit, unsubscribes and hard bounces sync back through signed webhooks, and a contact is never re-subscribed automatically. Role-scoped access lets marketing staff work without full admin rights.

Results

The platform is live at kirascales.com, with integration tests covering pricing, checkout, proforma VAT and campaign audiences, and end-to-end tests of the purchase flows.

Gallery

A Kira Scales weighbridge being tested with calibration weights at Apapa port
Real installation photography is used throughout the site

Next project

Maldra Invoice & Quote Maker