Getting started
Justin is Davidhorn's shared design system: one token vocabulary — color, spacing, typography, radius — and a component library for each platform that consumes it. Both libraries ship light and dark themes, the Lucide icon set, and components that are accessible out of the box.
Pick the platform you're building on. Each guide takes you from zero to a rendered component.
Before you install
Both packages are published to a private Azure DevOps Artifacts feed, so you need feed access and a Personal Access Token before either guide's install step works. Credentials and access requests are documented on the internal Justin Package Feeds page.
One vocabulary, two platforms
The token set is identical on both platforms — a color role, spacing step, or type style you use
in Svelte exists under the same name in Kotlin. Component APIs follow each platform's idioms but
share naming (Dh prefix) and behavior, so a screen built in one codebase reads like a screen
built in the other.
- Foundations — the full token vocabulary.
- Design philosophy — the rules components are built against.
- Component references: Justin for Svelte and Justin for KMP — every component, its props, and live examples.