Proof, not promises.
Tubestone Sales Tool
Android, iOS and web from one codebase, wired straight into Acumatica. Natural-language tyre search trained on a 44,500-line WhatsApp corpus, customer-specific pricing, branded PDF quotes, warranty claims with AI photo analysis, and a rep–manager–director approval chain.
React Native + ExpoNestJSAcumatica ODataClaude visionOffline-first
~1,825 items cached on device · 8 warranty case classes · 44,500-line search corpus
Reps quote, order and claim from a phone — online or offline →
Warehouse Management System
Desktop back office plus a scanner PWA on any phone camera or Zebra device. Directed FEFO picking by DOT date, blind cycle counts, ZPL label printing, and an append-only ledger where on-hand is provably the sum of movements.
.NET 8EF Core + PostgreSQLSignalRReact 18Zebra ZPL
1,658 bins · 31 warehouses · 6,019 items · 60 automated tests
1,658 bins, 6,019 items, 60 automated tests →
GRIT — Tyre Operations
Multi-tenant platform for open-cast mining. Lifecycle ledger from fitment to scrap, TPMS alerting with ambient compensation, a TKPH engine per wheel position per haul cycle, and an offline field app for sites without signal.
FastifyPostGIS + TimescaleDBBullMQOffline PWAMulti-tenant
Row-level security · hash-chained audit log · on-premises capable
Every tyre costed per hour, kilometre and tonne →
Gather — Sundust
Built the Sundust site to their design system, then built Gather on top of it: one QR code, unlimited guest uploads, a live shared gallery, and the narrowest Google permission that exists — we can only see the album we created.
Next.jsGoogle Drive APIQR + share linksLive galleryPOPIA
Full site plus the product on top of it — live at sundust.co.za
Guest photos land in the host’s own Google Drive →
Replenishment Engine
Pulls live ERP data and produces a ranked buy-list workbook for purchasing — months-of-cover policy, empirical supplier lead times from receipt history, and inter-branch transfers considered before any new purchase. Backtested across 2,614 series.
PythonpandasopenpyxlAcumatica OData
2,614 series backtested · months-of-cover policy · transfers before purchases
~5,900 lost-sale units (R17.5m) folded into the demand signal →
Automated Monthly Update
Headline strip, six KPI cards with YTD sparklines, interactive charts and full detail by brand, rep, region and stock health — assembled automatically, with an inline editor for management commentary that re-exports as a single file.
Self-contained HTMLClient-side chartsInline editor
Six KPI cards · YTD sparklines · distributed monthly to management
The management pack builds itself every month →
BestDrive Nylstroom
Mobile-first tyre commerce with a margin-guarded pricing engine, 15-minute reservation holds, card / EFT / instalment payments and branch fitment slots — designed to extend into a partner network and breakdown membership.
Next.js 15 PWANestJSPrisma + PostGISYoco / PayFast / Payflex
15-minute stock holds · margin guardrails · fitment slot booking
Group stock pooled, sources masked, fitment booked →
FCG Logistics
A distribution business given a front door that matches the operation behind it.
WebOperations
Distribution business, front door rebuilt
“An absolutely amazing job” — Cliff Cass, CEO →
