Bin and zone management
A hierarchy of facility, zone, aisle and bin, each with capacity rules and a printable location label.
One connected system for a warehouse that ran on paper.
A mobile-first ERP for warehouse and e-waste operations that replaced a decade of spreadsheets, paper travellers and radio calls with a single connected system that works on the floor.
01 — The problem
The client processed thousands of end-of-life IT assets a month across three facilities. Every movement — goods-in, triage, teardown, resale, destruction — was written on a paper traveller, then keyed into a shared spreadsheet by an admin team the following morning.
The result was a permanent 24-hour blind spot. Stock counts drifted, certificates of destruction were reconstructed from memory, and nobody could answer the question auditors always asked: where is serial number X right now, and who touched it?
02 — What we did
We started on the floor, not in Figma. Two weeks of shadowing goods-in, teardown and dispatch produced a movement model with six verbs — receive, move, process, hold, ship, destroy — that every physical action maps onto. Everything else in the product is a projection of that ledger.
The mobile app was designed for gloved hands, poor Wi-Fi and steel racking. Targets are large, the primary action is always the scanner, and every write is queued locally then reconciled server-side, so a dead zone in aisle C never stops a shift.
The warehouse stopped reporting yesterday and started reporting now.
Two of the screens that carry the most weight in daily use, rebuilt here from the production design system.
The floor screenCounts, scan action and reconciliation state are visible without scrolling, and legible through a scratched screen protector.
Exception-first consoleThe web console leads with what needs a decision — variances, holds, aging stock — rather than a wall of totals nobody reads.
Grouped by the job each set of capabilities exists to do, rather than by which team built it.
A hierarchy of facility, zone, aisle and bin, each with capacity rules and a printable location label.
Camera and hardware-scanner input share one pipeline, so a rugged sled and a phone camera behave identically.
The app suggests a destination bin from item class, current fill and pick frequency, and explains why it chose it.
Rolling counts scheduled per zone, with variance raised for approval instead of silently overwritten.
Every asset gets an identity at goods-in with photos, condition grade and the customer it belongs to.
Parent assets break into child components with weights and commodity classes carried through to resale.
Generated from the movement ledger rather than typed by hand, with operator, timestamp and method attached.
A full audit trail per serial, exportable as a document an auditor will accept.
Balances update as scans land, with a visible reconciliation state for anything still queued offline.
Lots grouped by customer, contract or commodity, with per-batch margin once resale prices land.
Thresholds per commodity class, plus an aging report for stock that has sat too long to be worth holding.
Outbound consignments with carrier, manifest and proof-of-delivery capture.
Layer by layer, with the reason each one exists — because the reason is usually the interesting part.
React Native app with a local SQLite mirror. The UI reads only from local state, so it never blocks on the network.
An append-only outbox of movement events with idempotency keys, replayed on reconnect and resolved server-side by timestamp and operator precedence.
A movement ledger that is the system of record. Balances and reports are derived views, never edited directly.
Web console for supervisors: approvals, exceptions, batch pricing and export.
Containerised deployment with per-facility tenancy, nightly backup and audit-log retention.
Technology
Measured against how the operation ran before, not against a benchmark chosen after the fact.
Reporting lag went from 24 hours to real time. Supervisors stopped starting the day by reconciling yesterday.
Certificates of destruction became a by-product. They are generated from the ledger, so they always match what actually happened.
Offline was designed for, not patched in. A full shift can run with no connectivity and reconcile cleanly at the end.
Three facilities on one model. New sites are a configuration exercise, not a fork.
How it ran
Shadowed three shifts across goods-in, teardown and dispatch. Mapped every paper artefact in use.
Reduced the domain to six verbs and validated them against a year of historical paper records.
Scanning, put-away and the offline outbox, tested on real devices in the aisles from week seven.
Supervisor console, approvals, batch pricing and the audit export.
Facility-by-facility migration with a two-week parallel run against paper at each site.
Market data, sentiment and research in one investment workspace.
An AI investment-intelligence platform that pulls market data, news sentiment and analyst research into a single workspace, so an investment team can go from a question to a defensible answer without leaving the screen..
Where candidates move, and where they stall.
A recruitment analytics platform that turns an applicant tracking system's raw event log into a picture of where a hiring funnel actually leaks, with the bottleneck named rather than left to be inferred..
Clinical translation where a wrong word has consequences.
A translation platform built specifically for clinical settings, where general-purpose translation is not safe enough and a verified medical dictionary sits between the model and the patient..
Tell us what you run. We will reply within two business days with what we would build for your situation — and, just as usefully, what we would leave out.