← All solutionsOperations platform · Medical manufacturing

Operations platforms where every order is one of one

Made-to-order production has no catalogue and no reorder button. Every item is built for one person from measurements a computer takes off a scan, and the system has to hold that thread from the first appointment through manufacturing, delivery, and the remake eighteen months later.

The problem

Mass production has a part number. Made-to-order has a person, a set of measurements taken on a particular day, and a promise that what arrives will fit them specifically. That difference breaks the software everyone reaches for first. An ordinary ERP assumes the thing being made already exists as a specification. Here the specification is created during a client appointment, by a member of staff who may be standing in a room with poor signal, and it stays attached to that one client for years — because when they come back, the question is not what did we sell them, it is what did we measure, what did we make from it, and what has changed since.

What is hard about it

The record has to be a photograph, not a mirror

A questionnaire filled in during an appointment pre-fills from what is already known about the client, and on save it writes some of those answers back — the client record should reflect the latest measurements. But the questionnaire itself is stored as a snapshot bound to that one appointment, and it must never change afterwards. If a client is measured again a year later, last year's record has to still say what it said at the time, otherwise you cannot compare the two, defend a remake, or explain to anyone what you were working from. Getting snapshot and live data to coexist in the same form is a lot of the design work in this class of product.

Work does not stop because the network did

Appointments happen in rooms with thick walls. The platform is offline-first: clients, appointments, questionnaires, captured images and orders are all written to local tables and an operation queue, then replayed to the server when the connection returns, with a visible way to retry whatever failed. That last part matters more than it sounds — a sync that silently drops one operation is worse than no sync, because nobody finds out until the item is made wrong.

Access is not a role, it is a scope

Who may see and change what is decided across several dimensions at once — brand, branch, city, legal entity — with read and read-write as separate grants. On top of that, personal data has its own flag: a user without it sees a client's phone number masked rather than hidden, because they still need to recognise the record. Roles alone cannot express this, and retrofitting scopes onto a system built around roles is close to a rewrite.

Two people, one workstation, one shift

A workstation on the floor is used by whoever is on shift. So the platform lets a second user sign in alongside the first and switch between them without either losing their place. It is a small feature to describe and a wide one to build, because every screen, every draft in progress and every queued offline operation has to know which of the signed-in users it belongs to.

The order is not finished when it ships

Made-to-order means a proportion of items come back. Complaints, remakes and corrections are first-class objects, each traceable to the original appointment and the measurements it produced. The interesting question is not how to record a remake — it is what a remake inherits, what it deliberately does not, and who is allowed to decide that. Answering it late means reconciling history by hand.

Computer vision takes the measurements; the operator only checks them

The platform segments the subject from the background, finds each contour, places the control points itself, and derives the measurements from them — lengths, widths, an axis and a joint deviation angle — before a human has touched anything. The operator does not place points from scratch; they glance at what the system proposed and nudge a point if it is off. The reason this matters commercially is not the seconds it saves. It is that two operators in two cities now produce the same number for the same person, which is the difference between measurements you can compare across visits and measurements that only mean something to whoever took them.

A millimetre has to survive the trip from glass to machine

Capture happens on TWAIN flatbed scanners — Plustek A320L among them, with different branches running different models — and also on webcams and phone cameras. All three produce pixels; only one of them has any idea what a pixel is worth. Since the output is manufactured and printed at one to one, the scale is not a rendering detail, it is the product. So every image carries its own calibration: millimetres per pixel, the method it was established by, and a confidence value. The scanner path auto-crops against a black background without losing dimensions; the camera paths correct perspective and calibrate off markers on a mat.

The metadata lies, and you have to know that in advance

Reference output from the equipment reported 72 DPI in its own headers while the true effective resolution was around 114 — the real scale lived in the page layout, not in the file. If a system trusts the number written in the image, it produces items that are confidently the wrong size, and nobody notices until they are physically made. Carrying scale explicitly, as a value the platform computed and stored rather than one it read, is the difference between a measurement system and an expensive photo album.

Equipment, couriers and the finance system all speak differently

On one side there is measurement hardware; on the other a courier for shipping labels and tracking, a messaging gateway for sending documents to clients, and the accounting system for orders and reference data. Equipment is deliberately an adapter over a configurable device type rather than a hard dependency, because branches do not all buy the same scanner in the same year, and a platform welded to one model turns every hardware refresh into a software project.

8 months
and still building — the largest system we run
13
flow families, from intake to remake
Automatic
measurement, with the operator only checking
ReactTypeScriptPostgreSQLOffline-first syncComputer visionTWAIN scanners (Plustek A320L and others)Scope-based accessCourier and accounting integrations
Operations platforms where every order is one of one | SwiftandScale