Skip to content
← Work index

09Case study

InvenCell

Inventory and finance platform for phone retailers

Year
2023-24
Role
Founder and engineer
Status
Archived

Mobile-phone retail runs on two things generic inventory software gets wrong: every unit is individually identifiable, and half the trade happens on credit. InvenCell was built by sitting with shopkeepers and modelling how they actually keep books.

Founder
Product and engineering
AWS
EC2 · S3 · RDS
DayBook
Daily financial close

The constraint

What made it hard

Off-the-shelf inventory tools model stock as a quantity. A phone shop models stock as a set of specific handsets, each with a cost, a customer, and often an outstanding balance. The ledger and the stock list are the same document viewed two ways.

Approach

  1. 01

    Unit-level stock, not counts

    Each handset is tracked individually through purchase, price change and sale, so margin is known per unit rather than averaged across a model line.

  2. 02

    Credit as a first-class concept

    Credit purchases and outstanding balances live in the same ledger as cash movements, because that is how the shop’s own books work.

  3. 03

    DayBook as the daily close

    A single dashboard reconciles the day: sales, expenses, receipts and outstanding credit in one view that maps to the paper ledger it replaced.

  4. 04

    Shipped, then reshaped by users

    Deployed to real shops early and iterated on live feedback - several of the sharper features exist because a retailer described a workaround they had invented.

Architecture

InvenCell shared transaction boundarySale / purchaseshop floor eventone transaction boundaryStock movementunit-level, with cost basisLedger entrycash or creditStockper unitLedgerbalancesDayBookdaily closestock and bookscannot disagree -they are written together
Stock movements and ledger entries are written from the same transaction boundary.

Specification

Stack
MongoDB · Express · React · Node.js
Hosting
AWS EC2, S3 for media, RDS
Stock model
Unit-level tracking with per-unit cost basis
Finance
Ledger, expenses, credit purchases, DayBook close

Stack

  • MongoDB
  • Express
  • React
  • Node.js
  • AWS EC2
  • AWS S3
  • AWS RDS

Where it landed

  • 01

    Live retail deployments with iteration driven by shop-floor feedback.

  • 02

    Per-unit margin visibility that averaged stock counts cannot express.

  • 03

    Financial close reduced to a single reconciled dashboard.

Next case study

01

OrbitSKU

Real-time multi-channel inventory sync

Read →

Something that has towork in production?

I take on contract engineering and full-time roles. Most useful first message: what you are building, what is currently in the way, and when you need it live.