Home
[ HERO — Dale UI component overview · full-bleed 2880×1400 ]

Building components for an open-source, Korean-first design system

Visit Dale UI ↗
Role
Product Designer
1 of 2 designers
DaleStudy
Timeline
Sept 2025 – Present
Ongoing
Status
Live
published on npm
v1.0.0
Skills
Component API design
Design systems
Design-dev handoff
Documentation
Impact

As a designer, I built new components from start to finish, including the API, dev handoff, and QA. I also led the system's documentation and its v2 roadmap.

★ 47
GitHub stars
v1.0.0
published on npm
20+
contributors
1,700+
commits
Highlights

Predictable, composable component APIs, a Figma kit mapped 1:1 to code, and a prioritized v2 roadmap.

View UI Kit ↗
Context

Why another design system?

Dale Study's community services looked inconsistent. And most open-source systems are built English-first.

One mission: a Korean-optimized, accessible, open-source system
Korean readability baked into the type tokens
Note

The Korean-first foundation (type tokens, accessible color, test infrastructure) was a team effort. My work was the layer on top: the components and how they're used.

[ inconsistent branding → unified ]
Contribution 01

Adding components

I built new components from start to finish. I designed their props and API, agreed the shape with dev, and scoped each one so Figma and code shipped together.

Button Icon Button Select + more in the kit
[ Components I built — Button · Icon Button · Select · … ]
Selected decisions

Two calls I made along the way that shaped how the components are built.

01 / Simplicity vs. extensibility.
Option A
primary / secondary / tertiary
[ primary/secondary fixed ]
+Simple, fewer choices
Fixed, can't compose
Option BChosen
tone × variant matrix
[ tone × variant matrix ]
+Independent axes that scale
Slightly more to learn

Option A would've been simpler, but as an open-source system others build on, I chose independent tone × variant axes, scalable yet trimmed to only the variants and axes that earn their place.

02 / A separate Icon Button?
Regular Button
[ uneven padding with a lone icon ]
Icon ButtonOwn component
[ equal padding, all sides ]

Icon Button didn't exist yet. Dev pushed back: just detect a single icon and shrink padding evenly. But that wasn't buildable in Figma, and it broke our rule of keeping design and code APIs aligned. So it shipped as its own component.

Contribution 02

Documentation that scales

To keep contributions consistent as the team grows, I built reusable doc templates. Each one sets a single structure for anatomy, props, usage, and accessibility, so every component is documented the same way.

The template
[ doc template — anatomy · props · usage · a11y ]
A filled example
[ Button docs, written from the template ]
Contribution 03

Setting the v2 roadmap

We had limited capacity and too many components to build. I drove the prioritization. Claude helped with research and the grunt work, but the framework and the calls were mine.

Research the gaps
Audited missing components against peer systems with Claude.
Prioritize (MoSCoW)
Sorted candidates into Must / Should / Nice-to-have.
Align in a meeting
Brought the recommendation to the team and locked the scope.
Automate the tickets
Scripted Claude to open the GitHub issues from the final list.
[ GitHub issues, auto-created from the prioritized backlog ]
What's next

Where Dale UI goes from here

Roll out to Dale's products
Adopt the system across Dale Study's community sites for one consistent look.
Build out the v2 components
Ship the must-have list, starting with the web documentation site.
Make it AI-friendly
Structure tokens, docs, and usage rules so AI tools can read and build with the system reliably.
Reflection

What I'd carry forward

A shared principle turns conflict into discussion
A principle the team owns turns disagreements into "does it fit?" instead of a clash of opinions.
Define the extremes first
Define a component's extreme label states before its happy path.
Improve the process, not just the product
A Discord RSVP bot pushed confirmations from about half to over 90%. Small process fixes add up.