One vocabulary, two platforms, every Davidhorn product.
Justin is the shared design system behind Davidhorn's web and mobile apps. Tokens, type, color and motion are derived from a single Figma source and generated for both Svelte and Compose Multiplatform — so a screen built in Capture KMP feels exactly like one built in Ark on the web.
Justin for Svelte
Svelte 5 component library used by Ark, Capture's web admin, and the Davidhorn marketing site. Plain CSS with Material 3 Expressive tokens, ITCSS layers, accessibility-first.
Justin for KMP
Compose Multiplatform component library for Davidhorn's mobile fleet, primarily Capture 2.0. Identical token vocabulary, same typography, same color roles.
Why Justin
Shared tokens
Colors, spacing, typography and radii live in one Figma file and are generated into both Svelte CSS variables and KMP Kotlin objects. Update once, both platforms follow.
HTML first
Native elements before custom widgets. CSS before JavaScript. Accessible by default — no retrofit.
Material 3 Expressive
Built on Material 3 Expressive's vocabulary, customised to Davidhorn's brand. Familiar to anyone who has used Material, distinctive enough to feel like Davidhorn.