Tokens, name for name
Colours, type, spacing and layout values are copied from the design team's package with every name and value unchanged, so the next update is a clean comparison.
Case study · Magnolia FieldSense
Magnolia FieldSense shows coaches and families what happens at practice, where a wrong number is worse than none. We brought the design team's tokens and components into the app exactly as delivered, and gave every screen a fixed set of honest states to show when a value is not there.
IRIS (Integrated Reasoning & Intelligence Steward) is our planning assistant. The scoping page saves your answers to your own computer as a file, then offers a link to email them to us.
The problem
A design package is usually copied into an app once and then edited by hand, until the next update from the designers no longer applies cleanly and nobody can say which differences were deliberate.
The second is worse in a product that coaches and families read. A screen with no value to show tends to show a zero, and a zero reads as a measurement. A parent or coach cannot tell "nothing recorded" from "recorded as nothing".
What we built
Colours, type, spacing and layout values are copied from the design team's package with every name and value unchanged, so the next update is a clean comparison.
The component styles come from the same package, without a second copy of the tokens, so the tokens have one home.
A screen may show only one of ten named states in place of a value it does not hold, such as loading, blocked, not connected or no record. None of them is a zero.
Who may reach the coach's screens is decided by the host's own route rules, and a test reads those rules so that a change opening them to others fails.
How we built it
The design package lives outside our repository, so a test pins a dated copy of every token and fails if the app or the copy changes without the other.
The ten states are written in a decision record, and a gate compares the app's list with it on every change.
Two problems that once failed silently, a duplicated token block and a font import the build dropped, each have a test of their own.
The result
Measured 6 October 2026, from our main engineering repository as it stood that day.
Describe your systems, your reports and where the time goes on the IRIS scoping page. You keep a copy, and an engineer reads it before we talk.