Case Studies

Real problems, real solutions.

Here's a look at some of the work we've done recently. Client details are anonymised, but the problems, systems, and results are all real.

Unified Platform

Single platform replacing five disconnected systems

The Challenge

A UK distribution company was running operations across five separate systems — orders in one platform, accounting in another, stock levels in spreadsheets, purchasing decisions made on gut feel, and product data scattered across shared drives. Nobody had a single view of the business.

What We Built

We built a unified internal platform with 10+ modules covering stock management, sales analytics, purchasing, reorder workflows, product management, pricing, and CRM — all behind a single login. A proxy layer connects to multiple databases, while scheduled jobs sync data from the existing order management system every night.

Unified Platform mockup screenshot
Click to enlarge
0+
Modules built
0+
SKUs managed
0
Automated sync jobs

Results

10+ operational modules in one platform
10,000+ SKUs managed with live stock visibility
Nightly automated data sync replacing manual exports
Role-based access for sales, purchasing, and admin teams
Demand-Driven Reordering

Replacing Linnworks’ blind reorder with a demand-driven engine

The Challenge

Linnworks is a capable order and warehouse system, but as a re-order tool it leans on static, hand-typed min/max levels. For a 10,000-SKU battery distributor that meant overstock and stockouts at the same time — it reorders against on-hand (ignoring stock already on a live PO), treats one big trade order as steady demand, and never rounds to supplier minimums. Every suggestion a black box nobody could trust.

What We Built

We built a demand-driven reorder engine on top of the live Linnworks data. A two-formula model (just-in-time vs forecast-driven) counts stock already on order, sizes against per-supplier lead times and order cycles, and scores every line for confidence — so lumpy, spiky demand is flagged for a human instead of silently over-ordered. Cost and margin run off a best-available-cost priority chain, and the whole thing stays read-only: Linnworks remains the system of record.

Demand-Driven Reordering mockup screenshot
Click to enlarge
BeforeAfter

Linnworks reorder

Static, hand-typed min/max levels
Reorders against on-hand — double-orders stock already on a PO
Treats one big order as steady demand
Raw quantities, ignores MOQ and pack sizes
Black box: re-verify every line by hand
£0
Live stock value managed
0
SKUs flagged for review
0%
Stock value costed from a real PO

Results

Open-PO blindness fixed — stock on order counted before anything new is raised
1,051 of 2,224 active SKUs auto-flagged Low confidence for review
Every suggestion shows its working — confidence score plus derivation, not a black box
76% of stock value costed straight from a real purchase order
Customer Intelligence

From zero customer visibility to automated account health scoring

The Challenge

A distribution company's sales team had no way to see which accounts were growing, declining, or about to churn. Customer data was fragmented into thousands of duplicate records due to a name-matching bug that had been silently dropping every matched order for months.

What We Built

We built an account health engine computing rolling revenue windows (7/30/90/365 day), value tiers (A/B/C), churn risk scores, and channel mix. Fixed a critical data bug, cleaned thousands of duplicates, and added account manager assignment with automated reconciliation.

Customer Intelligence mockup screenshot
Click to enlarge
BeforeAfter

The old way

No visibility into account health or trends
Thousands of duplicate customer records
Orders silently failing to match (bug undiscovered for months)
No account ownership — leads fell through cracks
Revenue data only available via manual spreadsheet compilation
0
B2B accounts tracked
0
Duplicate records cleaned
0
Automated nightly jobs

Results

Critical silent data bug discovered and fixed
Thousands of duplicate records consolidated to clean 1:1 mapping
975 B2B accounts now tracked with automated health scoring
Nightly automated pipeline: sync, snapshot, cleanup, and reconciliation
Stock Reconciliation

Closing a £605K gap between two inventory systems

The Challenge

A distribution company discovered a £605,000 valuation gap between their accounting system and warehouse platform. Different costing methods, quantity mismatches on 629 SKUs, and truncation issues meant nobody could trust either number.

What We Built

We built an automated reconciliation engine with multi-tier SKU matching (exact, case-insensitive, prefix, whitespace-normalised) that handles the quirks of both systems. Outputs multi-tab workbooks with discrepancies ranked by value impact.

Stock Reconciliation mockup screenshot
Click to enlarge
£0K
Starting valuation gap
0%
Reduction in discrepancies
0
Remaining mismatches

Results

Quantity discrepancies: 629 → 24 (96% reduction)
Value at risk: £334,935 → £5,849 (98% reduction)
Multi-tier matching handles both systems' data quirks automatically
Reconciliation that took days now runs in minutes
Workflow Automation

Digital trade account applications replacing email chaos

The Challenge

New B2B customers applied for trade accounts via email — no tracking, no workflow, no audit trail. A silent bug in the original form meant submissions could show "success" to the customer while never reaching any backend.

What We Built

We built an end-to-end digital workflow: a multi-step application form generating signed PDFs client-side, posting to a database with email confirmations. An admin dashboard with role-based access tracks every application through a defined status pipeline with full audit logging.

Workflow Automation mockup screenshot
Click to enlarge
BeforeAfter

The old way

Applications submitted by email with no structure
No status tracking — "where's my application?" unanswerable
Submissions silently failing without anyone knowing
No audit trail or workflow stages
Manager assignment via informal handover
0
Workflow stages tracked
0
Applications lost since launch
0
Admin roles with enforced permissions

Results

Zero applications lost — triple-retry with explicit failure handling
Full audit trail from submission to approval
Role-based admin dashboard with manager assignment
Automated email notifications at every stage
Customer-Facing System

Warranty and returns system with customer self-service tracking

The Challenge

Warranty claims were handled entirely by email — no structured process, no SLA tracking, no way for customers to check claim status. The team was losing track of claims and missing deadlines.

What We Built

We built a complete warranty management system: separate trade and retail claim forms with photo uploads, a staff dashboard with editable email templates and SLA tracking, customer-facing tracking pages with direct URL links, and printable return labels.

Customer-Facing System mockup screenshot
Click to enlarge
0
Versions shipped
0
Photos per claim (max)
0
Data fields tracked per claim

Results

Customer self-service tracking via direct URL links
Separate trade (RMA-T) and retail (RMA-R) workflows
SLA tracking with automated status updates
Printable return labels generated per claim
Security & Data Protection

Enterprise-grade security built into every system

The Challenge

Every system we build handles sensitive business data — customer records, financial information, supplier pricing, and internal operations. SMEs often lack the resources to implement proper security, leaving API keys exposed, access controls missing, and no audit trails.

What We Built

Security is built into every project from day one, not bolted on afterwards. We implement role-based access control with row-level security at the database layer, encrypted API key management via environment variables and service accounts, JWT authentication with signed tokens, time-limited signed URLs for sensitive documents, full audit logging on every state change, and triple-retry submission patterns with explicit failure handling to prevent silent data loss.

0
Access roles enforced
0h
Signed URL expiry
0
Security incidents

Results

Row-level security enforced at the database — not just the UI
API keys stored as encrypted environment variables, never in code
JWT/RS256 service account authentication for third-party integrations
Time-limited signed URLs for sensitive documents (24h expiry)
Full audit trail on every status change and data modification
Role-based access: admin, manager, sales, purchasing — each sees only what they should

Got a similar problem? Let's talk about it.

Book a free discovery call