LPT Realty was scaling fast — new agents onboarding, new products launching, new teams working in parallel. The design system they had wasn’t built to scale with them. Components were inconsistent across products, documentation was either missing or out of date, and the development team was spending significant time recreating elements that should have already existed.
I was brought in to restructure the system from the ground up — establishing token foundations, rebuilding brittle components into cascading ones, creating contribution standards, and building documentation that the whole team could actually use.
As the product grew, teams faced increasing challenges:
Defined foundational elements such as:
Purpose:
Ensure consistency across all components and screens
Built reusable components including:
Each component included:
Purpose:
Enable rapid, consistent design and development
To ensure alignment between design and development:
Impact:
Defined patterns for:
Purpose:
Impact:
The previous system’s components were brittle because they were built on hardcoded values. Changing a brand color meant finding and updating it in dozens of places. Spacing adjustments broke layouts unpredictably.
I restructured the foundation using a three-tier token system. Primitive tokens held raw values — hex codes, spacing numbers, type sizes. Semantic tokens named those values by purpose: color/action/primary, color/feedback/error, spacing/component/padding. Component tokens referenced semantic tokens and never primitives directly.
This meant that when LPT Realty needed to update brand colors, the change cascaded automatically from one place rather than requiring manual updates across every component. It also made the system dramatically easier to extend — new components inherited the right values by default rather than requiring manual alignment.
In Figma, this was implemented as Variable Collections with aliases connecting the tiers, enabling the cascade and making future brand updates a configuration change rather than a rebuild.
The restructured system had measurable effects on how the team worked. Development cycles shortened because components no longer needed to be recreated from scratch for each new product feature. The contribution model reduced rogue component creation — designers had a clear path to get new patterns into the system rather than working around it.
The documentation prototype became the team’s primary reference during onboarding of new designers and during handoff to engineering. Previously those conversations happened in Slack threads and were lost. With the Figma documentation prototype, decisions were recorded, searchable, and version-controlled.
Initial focus was on building components rather than driving usage
Issue:
Teams were slow to adopt the system
Iteration:
Early versions didn’t cover all use cases
Issue:
Teams created custom solutions
Iteration:
No clear tracking of adoption or effectiveness
Iteration:
That lesson — that a design system’s value is measured by adoption, not by component count — has shaped every system I’ve built.
It reinforced that: