ProjectsContact
Back to Projects

Personal Design System

Web DesignMobile DesignUser Experience
Personal Design System

Having worked with established design systems throughout my career as both a designer and developer, I wanted to build my own system tailored to the needs of my personal projects. The goal was to streamline my prototyping process, ensure consistency across designs, and create a reusable foundation that could evolve over time. Having color palettes and text styles in variables has made it super easy and quick to switch out styles.

The challenge

While prototyping ideas for personal projects, I often needed repeatable UI components and consistent styles. Instead of starting from scratch each time, I decided to build a personal design system that could speed up my workflow while supporting visual consistency.

Key problems to solve

  • Cover common UI needs with modular, style-driven components
  • Ensure that system styles (color, text, spacing) are easily adjustable via tokens and variables

Research

To guide the structure and methodology of my system, I explored several established design systems, focusing especially on the Fluent Design System, which I’ve used extensively in previous work and Figma community resources. In particular the Pixelmatters Design Template, served as a solid starting point.

These references helped me define best practices for color usage, component states, and naming conventions.

Fluent design system showcase
Figma design system templates

Ideation phase

I began by customizing and expanding on the base template from Pixelmatters, gradually building a robust system as I iterated through various personal projects. Key features of the system include:

  • Component Library: A wide range of UI elements with full-state permutations (e.g., buttons with hover, focus, and disabled states)Buttons in the design system
  • File Variables: Set up using primitives for raw color values and semantic tokens for contextual use (e.g., primary button, text-on-background)
    Color palette in the design system
    Color tokens in the design system
  • Scalable Text Styles & Grids: Defined for both mobile and desktop layouts

This structure enables rapid theming—for example, updating the color palette globally takes just a few minutes thanks to the variable system.

Reflections and learning

Even on a small scale, building a design system proved incredibly valuable. It reinforced the importance of:

  • Design tokens and variables as a backbone for scalability
  • Consistency across projects, reducing repetitive design tasks
  • Modular thinking, which allows components to be reused and adapted across different interfaces

Having a centralized system gave me a clean foundation for experimentation while keeping visual and interaction patterns consistent.

Looking forward

As I continue developing new personal projects, I plan to:

  • Expand the component library, with dedicated elements for both mobile and web interfaces
  • Add prototyping components (e.g., low-fidelity placeholders, interaction states) to speed up early-stage concepting
  • Introduce dark mode support, which is currently limited by Figma's free plan and lack of mode switching
  • Consider splitting the system into platform-specific libraries for better scalability and clarity

This project has been an excellent hands-on exercise in system thinking and design operations. I see it as a living resource: constantly evolving and improving with each new use case.

Interested in working together on a similar project?

Let's Talk