Skip to content

Client engagement Platform

SuperLovek

An online shop for a Ghanaian phone and appliance retailer: website, Android and iOS apps and a back-office on one backend, with prices and stock read from the retailer's ECOUNT ERP and payments through Hubtel.

Products published on the website, 21 October 2026
316
ECOUNT items kept in sync from the appliance account
528
Automated tests in the mobile app, 21 October 2026
831

Each figure has its source on record.

The SuperLovek app's Categories screen: department filters for TVs, fridges and washing machines above a grid of Samsung products with prices in cedis and stock labels.
A product page in the SuperLovek app: a Samsung 4K TV with its price, a choice of 50, 55 or 65 inch screen sizes, and Add to Basket and Buy Now buttons.
The SuperLovek app's Find a branch screen: a search box, a Use my location link and Kumasi branches with their GhanaPost GPS addresses and Directions buttons.

How it fits together

People reach it through

  • Web
  • Android app
  • iOS app

Ruby on Rails · PostgreSQL

  • Hubtel
  • OpenStreetMap

Connected to

Context

SuperLovek sells phones and home appliances from more than 50 branches in Ghana. Its prices, stock and sales already live in ECOUNT, the ERP its shops use every day. The retailer wanted customers to browse, buy and pay online, on the web or in an app, and then collect from a nearby branch or have the order delivered, without staff keeping a second set of prices or stock by hand. Mfidie Solutions is building the whole system as a client engagement, with a full launch planned for mid-November 2026.

The problem

Selling online from many shops is harder than putting a catalogue on a website. Stock sits in different branches and changes all day as people buy in store, so a number from an hour ago is not proof that an item can be sold. ECOUNT holds the authoritative prices and quantities but no photos or descriptions, and its item names were written for stock-keeping, in capitals and with typos. Its API also has strict limits: about ten failed logins from one address lock out both the API and the shops' own ERP access.

Payments add their own risk. A customer can pay by mobile money, a payment confirmation can arrive late or twice, and a single order may contain items from two branches. Each branch then needs its own pickup or delivery, while the customer still sees one order and makes one payment. Sales made online must reach ECOUNT exactly once, or the retailer's books and stock go wrong.

Our contribution

Mfidie Solutions wrote the specification and is building every part of the system: the Rails backend and JSON API, the customer website, the staff back-office, and the Android and iOS apps from one Flutter codebase. The work includes the ECOUNT and Hubtel integrations, SMS sign-in, push notifications, delivery pricing, and the release and store submissions. The retailer supplies its ECOUNT data, branch details, product information and business rules, and approves each policy decision.

Approach

The backend is a Rails 8 modular monolith on PostgreSQL. The website and back-office use Hotwire and Tailwind, and the apps read the same versioned JSON API, so a basket, wishlist or order follows the customer across channels.

ECOUNT stays the source of truth. A job syncs items, prices and branch stock every hour, at minute 17, with one run per window and the last good data kept if a run fails. When a customer checks out, each item is read fresh from ECOUNT and the stock already held for other customers is subtracted. Each ECOUNT operation is marked verified or untested in code, and no untested write can be switched on. A paid sale is posted to ECOUNT once, at handover, through an outbox.

Online payments hold stock for 15 minutes. The Hubtel status check, not the callback, decides whether a payment succeeded. An order is split into one fulfilment per branch, each with its own pickup code and QR code or delivery record.

The catalogue is built with AI assistance: ECOUNT's stock-keeping entries become draft product pages, and staff review every draft and photo before it is published.

Challenges

  • An ERP that locks out its own users. Too many failed logins block the retailer's shops as well as the API. Logins are never retried automatically, a circuit breaker stops after three failures, and every call is paced to the limits ECOUNT allows.
  • Stock that is never quite current. An hourly snapshot cannot prove an item is still on the shelf. Checkout reads each item live. If ECOUNT cannot be reached, it uses a snapshot under 90 minutes old and flags the order for a stock check, and otherwise it refuses to take payment.
  • A catalogue with no content. Hundreds of items had stock-keeping names and no photos or descriptions. AI-assisted cataloguing, with staff approval before anything goes live, turned them into product pages without inventing details.

Outcomes

The public website is serving SuperLovek's real catalogue, with prices and branch stock taken from ECOUNT. The Android and iOS apps are built and their store listings are being prepared for review. Checkout with mobile money, branch pickup, delivery and cash on delivery is built and covered by automated tests, with live payment checks to follow before the full launch planned for mid-November 2026.

Technology

  • Ruby on Rails
  • PostgreSQL
  • Hotwire
  • Tailwind CSS
  • Solid Queue
  • Flutter
  • Android
  • iOS
  • ECOUNT ERP API
  • Hubtel
  • Firebase Cloud Messaging
  • OpenStreetMap

Links

Services involved

Industries

Have something similar in mind?

Book a Free Consultation