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.