Skip to content

Building Seedly's First Design System, One source of truth for a startup that never had one

Seedly design system Figma library overview
19+ → 1

button variants consolidated into a single documented system

2 → 6

team grew through the system without breaking consistency

Seedly had grown for three years with no standardised system, leaving 19+ button types, inconsistent dropdowns and undocumented patterns scattered across the product. As the sole designer in a team of three, I used the Sketch-to-Figma migration as the moment to build Seedly's first design system: a visual audit, research into mature systems, a Figma component and pattern library, and full documentation in ZeroHeight that became the single source of truth for both design and engineering. It still anchored the product two years later, as the team doubled.

Role

Sole designer in 2020, later one of two product designers as the team grew.

Team

1 designer and 2 frontend engineers in 2020, later 2 product designers and 4 frontend engineers.

Project Year

2020 → 2022

Background

Seedly is the largest personal-finance community platform in Singapore. In 2020 it was still an early-stage startup, and three years of fast building had left it with no standardised system: a Sketch design kit, disconnected React components across web and app, and patterns documented nowhere.

Inconsistent button variants across the product

The design problem. How might a tiny team build a design system that pays for itself, cutting the time we spend aligning components so we can spend it on the roadmap, without over-engineering for our stage?

Research & Constraints

Before touching the surface, I did the unglamorous work of understanding who would use the system, what we had to work with today, and what a three-person team could realistically maintain.

References from Material, Carbon, Polaris, Garden, Pajamas and VK

References, sized to our stage.

Each reference did a different job. Material informed interactions, Carbon informed patterns, Polaris informed content design, and Garden's lightweight docs suited a three-person team far better than a giant system would.

Accessibility as a baseline, not a phase.

Accessibility was a pillar from the start. The baseline covered minimum readable font sizes, colour contrast, and clear hover and focus states, small initiatives that compound over time.

I studied how mature teams build and organise systems: GitLab's Pajamas, VK, Google's Material, IBM's Carbon, Shopify's Polaris and Zendesk's Garden. We chose four as close references and kept some of Seedly's own interactions where familiarity served users better.

Our Approach

I followed Brad Frost's Atomic Design as the organising method, picked for how cleanly it lets a small team find and reason about components by complexity. From there, the work split into five threads that ran in parallel with the roadmap rather than blocking it.

Visual audit of existing UI components

Auditing

Started by pulling every live UI element into one canvas: 19+ button variants, 7 dropdown styles, undocumented modals and inputs. Seeing the sprawl in one place made the case for the system without needing a deck, and gave engineering a shared reference point for what we were collapsing.

Engineering collaboration on naming and structure

Getting the team involved

Pulled the two frontend engineers in early on naming and structure, so the Figma library and the React components stayed in lockstep rather than drifting. They owned the code-side decisions, I owned the design-side, and we met in the middle on tokens and component APIs.

Colour and type tokens checked for contrast

Getting accessibility checked

Baked accessibility into the tokens themselves, not into a later QA pass. Minimum font sizes, WCAG-AA contrast on every colour pairing, and clear hover and focus states were all defined at the foundation layer, so every component that used them inherited the baseline by default.

ZeroHeight documentation as the source of truth

Documentation done

Used ZeroHeight as the single source of truth for both design and engineering, with usage rules, do-and-don't examples, and code snippets in one place. Kept the structure lightweight, in the spirit of Zendesk Garden, so writing and updating docs stayed a side-of-desk effort rather than a second job.

Expanding to molecules and organisms

Once the atoms were stable, started composing them upward into molecules and organisms tied to real product patterns, so the system grew alongside the roadmap. Each new feature contributed back into the library, which kept the system load-bearing instead of decorative.

Project Afterthoughts

A design system is never finished. It should keep developing rather than end as a one-off project, and I wanted it to grow into a dedicated product serving all four of Seedly's products. For a small team, lightweight beats comprehensive. Garden-style simple documentation fit us far better than copying a giant system wholesale.

I have also worked before on an MNC design system and shared my thoughts here