Showcase

Showcase

Design System

2020

Product Designer

Web Data Extraction

There's a particular kind of chaos that grows quietly inside fast-moving product teams. It doesn't announce itself. It just shows up one day when you open a Figma file and realize there are eleven slightly different versions of the same button and nobody knows which one is right. That was the reality at Zyte. A product growing fast, a distributed team, and a UI built piece by piece with no shared foundation. I built their first design system in Figma. One place for components, patterns, and templates so the whole team could stop repeating themselves and start shipping things that actually felt like they belonged together.

Design System

2020

Product Designer

Web Data Extraction

There's a particular kind of chaos that grows quietly inside fast-moving product teams. It doesn't announce itself. It just shows up one day when you open a Figma file and realize there are eleven slightly different versions of the same button and nobody knows which one is right. That was the reality at Zyte. A product growing fast, a distributed team, and a UI built piece by piece with no shared foundation. I built their first design system in Figma. One place for components, patterns, and templates so the whole team could stop repeating themselves and start shipping things that actually felt like they belonged together.

Design System

2020

Product Designer

Web Data Extraction

There's a particular kind of chaos that grows quietly inside fast-moving product teams. It doesn't announce itself. It just shows up one day when you open a Figma file and realize there are eleven slightly different versions of the same button and nobody knows which one is right. That was the reality at Zyte. A product growing fast, a distributed team, and a UI built piece by piece with no shared foundation. I built their first design system in Figma. One place for components, patterns, and templates so the whole team could stop repeating themselves and start shipping things that actually felt like they belonged together.

70%

Faster setup

1st

Zyte Design System

Figma

Primary tool

2020

Year

70%

Faster setup

1st

Zyte Design System

Figma

Primary tool

2020

Year

70%

Faster setup

1st

Zyte Design System

Figma

Primary tool

2020

Year

CHALLENGE

Scaling Design for a Growing Product

Designers were solving the same problems every sprint. Developers were interpreting specs differently. New team members had no single place to learn how the product was supposed to look and behave. The result was a product that felt pieced together because it kind of was. The fix wasn't just a component library. It was a living system everyone could trust.

CHALLENGE

Scaling Design for a Growing Product

Designers were solving the same problems every sprint. Developers were interpreting specs differently. New team members had no single place to learn how the product was supposed to look and behave. The result was a product that felt pieced together because it kind of was. The fix wasn't just a component library. It was a living system everyone could trust.

CHALLENGE

Scaling Design for a Growing Product

Designers were solving the same problems every sprint. Developers were interpreting specs differently. New team members had no single place to learn how the product was supposed to look and behave. The result was a product that felt pieced together because it kind of was. The fix wasn't just a component library. It was a living system everyone could trust.

Duplicate components, inconsistent spacing, interactive states that behaved differently depending on who built them.

DESIGN PROCESS

How I Approached This Project

01

Audit existing UI

Catalogued every component, pattern, and style in use.

02

Talk to developers

Listened to where handoff broke down and what they wished existed.

03

Reference Material Design

Adapted Google Material best practices to Zyte's context.

04

Build and iterate

Listened to where handoff broke down and what they wished existed.

RESEARCH

Talking to Developers First

A design system lives or dies by whether developers actually use it. So before I designed a single component, I had conversations with the dev team. Not to show them anything, but to listen. What slowed them down during handoff? Where did they have to make their own calls because the spec wasn't clear enough? What did they wish existed? Those conversations shaped everything that came after. The system wasn't designed for designers. It was designed for the whole team.

Specs weren't precise enough

Developers were making their own calls on interactive states and spacing.

Setup took too long

Every new feature started from scratch. No shared foundation to build on.

No single source of truth

Multiple versions of the same component lived in different files.

Naming was inconsistent

Design names didn't match code names. Translation was a source of error.

RESEARCH

Talking to Developers First

A design system lives or dies by whether developers actually use it. So before I designed a single component, I had conversations with the dev team. Not to show them anything, but to listen. What slowed them down during handoff? Where did they have to make their own calls because the spec wasn't clear enough? What did they wish existed? Those conversations shaped everything that came after. The system wasn't designed for designers. It was designed for the whole team.

RESEARCH

Talking to Developers First

A design system lives or dies by whether developers actually use it. So before I designed a single component, I had conversations with the dev team. Not to show them anything, but to listen. What slowed them down during handoff? Where did they have to make their own calls because the spec wasn't clear enough? What did they wish existed? Those conversations shaped everything that came after. The system wasn't designed for designers. It was designed for the whole team.

Design Solutions

UI and Component Strategy

The system had to live in two worlds: Zyte's marketing brand, established and not mine to change, and the product UI, which needed its own logic built around function, hierarchy, and accessibility. I referred to Google Material Design as a foundation for best practices including component behaviour, spacing systems, and interactive states, then adapted everything to fit Zyte's specific context and brand.

Architecture

Mapped the structure so anyone could navigate the library without a tutorial.

Visual Design

Icons and illustrations aligned with brand and interface patterns.

Button Hierarchy

Five button types, each with a clear role, so users always know what an action will do before they click it.

Design Solutions

UI and Component Strategy

The system had to live in two worlds: Zyte's marketing brand, established and not mine to change, and the product UI, which needed its own logic built around function, hierarchy, and accessibility. I referred to Google Material Design as a foundation for best practices including component behaviour, spacing systems, and interactive states, then adapted everything to fit Zyte's specific context and brand.

Design Solutions

UI and Component Strategy

The system had to live in two worlds: Zyte's marketing brand, established and not mine to change, and the product UI, which needed its own logic built around function, hierarchy, and accessibility. I referred to Google Material Design as a foundation for best practices including component behaviour, spacing systems, and interactive states, then adapted everything to fit Zyte's specific context and brand.

Figma Variants, Bridging Design and Code

Each variant was named to match the prop/value format developers were already using in their frontend frameworks. Open the file, read the spec, build it. No translation needed. Every component was annotated with behaviour notes, edge cases, and interaction states. The file was built to answer questions before anyone had to ask them.

Date Picker

Designed with clear spacing and consistent padding so users can scan and select a date without second-guessing what they're looking at, with a tooltip state that surfaces data like extraction counts directly on the calendar.

Extraction Log Panel

A scrollable list view that lets engineers filter and sort their extraction history by time and status, with colour coded indicators so the state of each entry is readable at a glance.

Date Picker Flow

Three interaction states in one component. A single date selection, a tooltip that surfaces extraction data on hover, and a dual calendar range picker with preset shortcuts like Today and Last 30 days. Each state was designed to give engineers exactly the context they need depending on how they want to query their data.

Figma Variants, Bridging Design and Code

Each variant was named to match the prop/value format developers were already using in their frontend frameworks. Open the file, read the spec, build it. No translation needed. Every component was annotated with behaviour notes, edge cases, and interaction states. The file was built to answer questions before anyone had to ask them.

Figma Variants, Bridging Design and Code

Each variant was named to match the prop/value format developers were already using in their frontend frameworks. Open the file, read the spec, build it. No translation needed. Every component was annotated with behaviour notes, edge cases, and interaction states. The file was built to answer questions before anyone had to ask them.

FIGMA VARIANTS

Figma variants mapped to front-end props with annotations for easy developer handoff.

Figma variants mapped to front-end props with annotations for easy developer handoff.

Figma variants mapped to front-end props with annotations for easy developer handoff.

BEFORE

AFTER

When atoms, molecules, and organisms are combined, templates and pages are formed to show unity and consistency in the user interface with real content in place.

When atoms, molecules, and organisms are combined, templates and pages are formed to show unity and consistency in the user interface with real content in place.

When atoms, molecules, and organisms are combined, templates and pages are formed to show unity and consistency in the user interface with real content in place.

Template combining components with real content for seamless design.

Template combining components with real content for seamless design.

Template combining components with real content for seamless design.