Liminal Custody, 2025–now
Liminal Enterprise Design System
When I joined Liminal Custody there was no shared design process and no shared foundation. Four platforms were drifting apart. LEDS is the system I'm building to pull them back together, and to keep them together as the company grows.
- Role
- Design system lead
- Timeline
- 2025–now
- Platforms
- Web, Android, iOS, Admin, White-label
- Worked with
- Product, engineering (Angular today, React next), CPO, CTO; two product designers
- Design tokens
- Multi-theme architecture
- Storybook
- Figma MCP
Illustration. Product screens are covered by NDA.
Business context
Liminal Custody provides digital asset custody and wallet infrastructure for enterprises: secure wallets, treasury and transaction management for companies operating in Web3.
Its products span Liminal Vaults on web, Android and iOS, an Admin Panel for internal operations, and white-label deployments customized with each enterprise client's brand.
Problem
Each surface had grown on its own. Components were rebuilt per platform, spacing and type varied between products, and every white-label client risked becoming a fork.
In custody software, inconsistency costs trust. A treasury operator who sees two versions of the same approval control starts wondering which one is right.
Constraints
- Four platforms — Vaults web, Vaults mobile (iOS and Android), the Admin Panel and white-label — with different densities and patterns.
- Brand themes per enterprise client, without duplicating components.
- Angular with Tailwind CSS in production today and a React migration ahead, both consuming the same design decisions.
- No existing design process to build on: the system and the workflow had to start together.
Approach
I started with process before pixels: how design work is requested, reviewed, documented and handed off. Without that, any library would decay.
Then the foundations: naming conventions, a spacing system, a typography scale and a color system, defined once and expressed as variables so themes can swap values without touching components.
System architecture
Brand values sit in a theme layer. Components only reference shared decisions, so a white-label theme changes the look without changing the parts.
- Theme values per brand
- Shared foundations: type, spacing, color
- Components reference foundations only
Illustrative. Not a product screenshot.
Design to code
The same component definitions travel from design into both engineering stacks.
Figma
Variables and components
Storybook
Documented, reviewable parts
Figma Code Connect
Components mapped to code
Angular (Tailwind CSS)
Shipped today; React next
My contribution
- Defined the design process from zero (0→1) and initiated LEDS.
- Designed the component structure, naming conventions, spacing, type scale and color system.
- Built the multi-theme UI kit for web, mobile, Admin Panel and white-label.
- Worked with engineering to align design components with code components.
- Wrote design documentation and UI guidelines; guiding two product designers on using the system.