Work

Two businesses took control.
Now the software changes
when they do.

Both were running a well-known industry package that dictated their process and charged by the seat. Every improvement meant a feature request, a vendor roadmap and a wait. Now each runs a platform shaped around how it actually trades — and when the business changes, the software changes with it. Not next quarter. This week.

Footwear, workwear & uniform supply

Stockwhip

A multi-tenant ERP that replaced a spreadsheet-shaped stack.

The problem
A multi-brand, multi-branch business running catalogue, stock, sales and accounts across an off-the-shelf inventory tool, a separate POS, and the spreadsheets that held the two together. Nobody could answer what the business had done today without opening twenty screens.
What we built
A single-binary Go platform covering the whole trading cycle: catalogue with size and colour matrices, multi-warehouse inventory with bins, pick/pack, scan receiving and serial traceability, sales with refunds and store credit, procurement with dropship, a browser POS, a B2B self-service portal, light manufacturing, multi-currency, and a double-entry general ledger with period close and bank reconciliation.
Where it landed
One system, one login, one deploy. The owner's phone app answers in a glance the question the console answered in twenty screens: what the business took today, against the same weekday and against plan, store by store — with every payment split by tender and card scheme, and the gap between what was sold and what actually arrived named rather than hidden.
  • Go
  • MySQL 8
  • html/template
  • htmx + Alpine
  • React Native
  • PWA
Open the case study

Plumbing, electrical & HVAC contracting

TradeStack

A trade management platform built to replace an off-the-shelf field service platform — with an AI assistant that only answers from the manual.

The problem
A contracting business paying for a legacy trade platform that dictated its process, priced per seat, and could not be extended. Quoting, scheduling, compliance forms and payroll each lived somewhere slightly different.
What we built
A modern trade platform: jobs and quoting with prebuilds and contract labour rates, a drag-and-drop scheduling board, rosters, site and asset registers, SWMS and dynamic forms, supplier catalogues, linked companies, and passkey sign-in. Server-rendered, no JavaScript framework, fast on a phone with two bars of signal.
Where it landed
The business runs on its own platform instead of renting one, with an import that brought the old platform's history across. Documentation is the source: the help pages and the AI assistant are both built from the same markdown, so the answer a technician gets is never out of date. Most of all, the software now conforms to the business rather than the business conforming to the software: it changes as the business changes, so a new way of working is a release next week, not a feature request to a vendor who may never build it. And they are not left holding it on their own: we keep the platform running, patched and backed up, and stay in the room for what changes next — so the roadmap belongs to the business, built by people who already know the codebase.
  • Go 1.25
  • chi
  • MySQL 8
  • html/template
  • Tailwind v4
  • Passkeys
Open the case study

Working with us

By appointment,
and by introduction.

Three Digital Llamas takes new work by referral only. If someone we have built for has pointed you here, ask them for the introduction and we will find a time — thirty minutes, no pitch deck.