Magma Management System is a logistics platform for Magma Trading, a UK delivery operator coordinating shipments domestically and internationally. I designed the dashboard, intake and analytics surfaces on top of a modular design system that lets the team add new features and pages with fewer engineering hours.
Magma Trading runs a UK delivery operation that hands parcels off to a roster of carriers, Hermes among them, and ships both locally and internationally. The business had outgrown the patchwork of spreadsheets, third-party portals and emailed manifests it had used to scale. Operators were tab-hopping to find a single tracking number.
The brief was wide. Build the cockpit that runs the day, the intake screens that create parcels and barcodes, and the analytics that prove a carrier is keeping its SLA. Underneath all of it, build a system the small product team can extend without re-litigating buttons and tables every sprint.
The dashboard was the visible piece. The investment was the underlying system, so the next ten screens could be assembled from components, not redesigned from scratch.
Operators live in tables. The system optimises for scanning hundreds of rows, with restraint around colour so status reads instantly without lighting up the whole screen.
A warehouse office runs long shifts. Dark UI is not a style choice here, it is the surface the team will actually sit in front of for ten hours.
Before Magma, a single shipment touched a customer CSV, a carrier portal, a barcode printer's desktop tool and an internal tracking sheet. None of them spoke to each other. The team was hiring its way around the workflow rather than fixing it.
The product had to do four things at once. Pull intake into one screen. Generate carrier-ready barcodes. Surface where every parcel was in the chain. Tell management which carriers were earning their margin.
Carrier portals each told a different story about the same parcel. Operators were calling Hermes to confirm what their own system already claimed to know.
Barcode generation lived in a desktop app, manually CSV-fed. A wrong column mapping silently mis-routed a batch and was caught at the loading bay.
No one could answer the question "which carrier is costing us in delays this month" without an analyst building a sheet from scratch.
"I want one screen I can leave open all day, not seven tabs I have to refresh."
Contract engagement, embedded with the founder and a two-person engineering team. I owned the design end to end, with a strong lean toward the system layer so the team could keep shipping after the contract ended.
The cadence was weekly: review the operations workflow with the team on Monday, prototype the next screen mid-week, hand off tokens and components to engineering by Friday. The Figma file grew as the product did, library first, screens second.
The work clustered into four threads, each one written against the same goal: get the operations team out of their spreadsheets and into a tool that scales with the business.
Most of the investment lives below the surface. A small set of tokens, a grid that holds together at high density, and a component library tuned to the one thing the product does most, show rows of shipments.
The payoff is the rate at which the team now adds new features. A new sender detail page is a recombination of existing components, not a fresh design pass. That is the line on the homepage, made literal: new pages with fewer software development resources.
One brand colour, applied surgically. Active tabs, primary actions, the status that needs attention. Everything else lives in greys so the coral never has to compete for the operator's eye.
The data table got more design hours than any single screen. Sticky headers, batch selection, column-level filters, row hover states tuned for dark UI. Most of the product is a table in different clothes.
Every component page in Figma carries its anatomy, do/don't and the engineer-facing spec. The system stays maintained because nobody has to leave the file to learn it.
The library is organised by a physics taxonomy rather than the usual atomic-design vocabulary. Bosons are the smallest forces, color and shadow. Atoms are typography and primitive properties. Molecules are the assembled components, buttons, inputs, nav items. Token names follow the same logic, so b-color-brand-accessible is a boson, a-text-heading-n1 is an atom and m-button-primary-m is a molecule.
The naming did real work. Every token in the file maps one-to-one to its name in the codebase, and the prefix tells you exactly where it lives before you open it.
| Before | → | After |
|---|---|---|
| Four disconnected tools per parcel | → | One cockpit, one source of truth |
| Barcodes generated in a desktop app, CSV-fed | → | Inline intake, carrier-ready barcodes in batch |
| Carrier performance lived in analyst spreadsheets | → | Performance dashboards by sender, carrier and lane |
| Every new page redesigned from scratch | → | Pages composed from a 120+ component system |
| Light UI built for a marketing demo | → | Dark UI tuned for 10-hour ops shifts |
| Status communicated through paragraphs of text | → | Pills, color and a single coral accent |
Investing in tokens and primitives in week one paid off every week after. By the time the team needed an analytics view, half of it already existed in the library.
Restricting coral to active states and primary actions was the single most useful constraint. It kept the UI calm at high density and made status legible from across the room.
Half a day in the warehouse beat a week of remote interviews. Watching someone tab between Hermes, an email and a CSV taught me more than any survey ever has.
I documented late. Earlier paired sessions on the token names would have saved a round of refactoring after the first three screens landed.
Tables looked clean in Figma at 12 rows. At 600, the column priorities shifted. I would prototype directly against production-scale data next time.
Dark was the right default for ops. Account managers asked for a light view six months in. The tokens supported it, the component states did not. Both should have been first class.
The dashboard is the visible piece. The system is the work.