Skip to content
Portfolio

Work described by what it changed, not what it looked like

Each case study states the problem before, the system built, and the measured difference after. Client names appear where the engagement permits it.

01/Dental Clinics/2024

Six clinics on one clinical record

Multi-branch dental group

The problem

Patients treated at one branch were unknown at another, treatment plans lived in a word processor, and the group's revenue picture arrived six weeks late.

What changed

One patient identity across all branches, chair-aware scheduling that closed the gaps in the diary, and a consolidated revenue dashboard available daily.

React · Node.js · Express.js · PostgreSQL · AWS

−31%
Empty chair hours
+22%
Plan acceptance
6
Branches unified

02/Cosmetics/2024

1.2 million verifiable units

Cosmetics manufacturer

The problem

Counterfeit stock in two regional markets was driving one-star reviews and warranty claims on products the brand had never made.

What changed

Every unit carries a one-time code. Invalid-scan clustering identified the leaking distributor within the first quarter, and verification became a customer touchpoint rather than a cost.

WordPress · WooCommerce · PHP · MySQL

1.2M
Codes issued
38k
Weekly scans
1
Grey channel identified

03/Retail/2025

9,800 conversations, one team

Regional retail chain

The problem

Enquiries arrived faster than one person could answer, response times ran into hours, and no one could report on how many sales the channel produced.

What changed

AI resolves two thirds of conversations end to end. The rest route to a named agent with full context, and the channel now reports like a sales pipeline.

Next.js · Node.js · PostgreSQL · OpenAI

68%
AI resolved
8s
Median first response
3.1x
Volume handled

04/Education/2023

2,100 students, one platform

Private school network

The problem

Fee defaulters surfaced at term end, the front office spent its day answering parent calls, and payroll was reconstructed from attendance registers by hand.

What changed

Automated invoicing and reminders lifted on-time collection sharply, attendance alerts reach parents the same morning, and payroll generates from recorded attendance.

React · Node.js · Express.js · PostgreSQL · WhatsApp API

+27%
On-time fee collection
−60%
Front-office queries
3
Campuses consolidated

05/Wholesale Markets/2023

A market floor that closes daily

Wholesale produce market

The problem

Arrivals, auctions, deductions and payouts were recorded in notebooks and reconciled days later, so settlement disputes came down to memory.

What changed

Every lot, rate and deduction is a timestamped record. The day's ledger balances before the floor closes, and grower statements print on demand.

React · Node.js · Express.js · PostgreSQL · SQLite

1,204
Lots per day
−52%
Settlement disputes
Same day
Ledger close

06/Restaurants/2024

Four kitchens, one order queue

Restaurant chain

The problem

Four order channels produced four queues, prep times were unmeasured, and food cost was a monthly surprise.

What changed

One prioritised kitchen queue with prep timers, recipe-level inventory depletion, and branch comparison on the metrics that actually differ.

React · Node.js · PostgreSQL · SQLite

−4.2min
Avg ticket time
+19%
Direct delivery orders
4
Branches on one system

07/Hospitals/2025

One record across every department

Multi-speciality hospital

The problem

Lab results reached wards by hand, consumables went unbilled, and discharge summaries were assembled from three systems.

What changed

Orders and results flow through one EMR, chargeable events post as they happen, and discharge summaries and final bills generate from the same data.

React · Node.js · Express.js · PostgreSQL · Docker

−34%
Discharge turnaround
+11%
Billed-event capture
6
Departments integrated

08/Manufacturing/2025

Purchase orders that enter themselves

Industrial manufacturer

The problem

Two staff spent most of each day re-keying emailed and PDF purchase orders, with pricing errors surfacing at invoicing.

What changed

Orders are extracted, validated and posted automatically. Only genuine exceptions (price mismatches and unknown SKUs) reach a human.

Python · Next.js · PostgreSQL · OpenAI

612
Hours saved per month
94%
Orders fully automated
6.1%
Escalation rate

Figures are taken from client systems before and after deployment. Under NDA, client names are withheld and sector is given instead.

Your project

What would your case study say?

Tell us the number you would want to move. We will tell you whether software is the right lever, and roughly what moving it would cost.

Replies under 4 business hoursNDA on requestYou own the code