Android Component Library

Android Component Library

Android Component Library

A scalable design system built to modernize Zello’s Android app and reduce redundancy in design and engineering.

Project Overview

While Zello had previously defined an Android style guide that included color, typography, spacing, and layout grids, it lacked a true component system. Each time we designed new screens, components had to be copied from outdated files or rebuilt from scratch.

While Zello had previously defined an Android style guide that included color, typography, spacing, and layout grids, it lacked a true component system. Each time we designed new screens, components had to be copied from outdated files or rebuilt from scratch.

Timeline

3 weeks (Feb 2024)

3 weeks (Feb 2024)

3 weeks (Feb 2024)

Team

1 Product Designer

1 Product Designer

1 Product Designer

2 Engineers

2 Engineers

2 Engineers

1 Design Manager

1 Design Manager

1 Design Manager

Role

Product Designer

Product Designer

Product Designer

Platform

Android

Android

Android

Problem context

The original Android style guide functioned as a static reference rather than a reusable toolkit.

The original Android style guide functioned as a static reference rather than a reusable toolkit.

The original Android style guide functioned as a static reference rather than a reusable toolkit.

Designers & engineers relied on scattered files, and components weren’t modular or structured to scale. Colors used in production weren’t documented, there was no central inventory of components, and the lack of standardization led to design drift and inefficiencies.

Above: Screenshot of previous design style guideline

Above: Screenshot of previous design style guideline

Above: Screenshot of previous design style guideline

Style-Only Guide

Covered colors, spacing, and grids — but lacked modular components for reuse.

Covered colors, spacing, and grids — but lacked modular components for reuse.

No Reusable Logic

Components weren’t built with variants, sizes, or states, making updates time-consuming.

Components weren’t built with variants, sizes, or states, making updates time-consuming.

Poor Scalability

Designs had to be rebuilt or copied manually, slowing down workflows and causing inconsistency.

Designs had to be rebuilt or copied manually, slowing down workflows and causing inconsistency.

Solution: New Scalable Component Library

A scalable component library built for speed, consistency, and collaboration.

A scalable component library built for speed, consistency, and collaboration.

A scalable component library built for speed, consistency, and collaboration.

Rebuilt from the ground up in Sketch, the new system replaced scattered styles with modular, reusable components—enabling the team to design faster and build with confidence.

Rebuilt from the ground up in Sketch, the new system replaced scattered styles with modular, reusable components—enabling the team to design faster and build with confidence.

Rebuilt from the ground up in Sketch, the new system replaced scattered styles with modular, reusable components—enabling the team to design faster and build with confidence.

Utilizing the Atomic Design Principles

I followed Atomic Design to structure my component system—from basic atoms like buttons and inputs, to molecules and complex organisms. This method ensured visual consistency, improved reusability, and made it easier to scale and maintain the product.

Button Component: A Foundational Atom

As one of the most reused and customizable elements, the button set the standard for spacing, typography, and interaction states across the entire system—making it a key reference point for consistency and scalability.

Designing a Net-New Text Input Component

This component wasn’t just a visual update—it was built entirely from scratch. I defined every interaction state, aligned with Material Guidelines v2, and created detailed documentation for all permutations across light and dark themes. This work highlighted my ability to not just maintain, but architect and scale new components from the ground up with strong design system thinking.

Impact

The new Android component library brought measurable improvements to design speed, consistency, and cross-functional collaboration:

The new Android component library brought measurable improvements to design speed, consistency, and cross-functional collaboration:

The new Android component library brought measurable improvements to design speed, consistency, and cross-functional collaboration:

48%

Faster screen creation using modular components from the shared library.

30%

Reduction in handoff errors thanks to standardized variants.

100%

Adoption rate by the design team within the first month of rollout.

92%

Positive feedback from engineers on the clarity of the component system.
Reflection

Key learnings

Key learnings

Key learnings

Systems thinking saves time

Creating scalable components upfront reduced design debt and sped up the team’s workflow for future projects.

Creating scalable components upfront reduced design debt and sped up the team’s workflow for future projects.

Documentation is just as important as design

Clear naming, structured files, and usage guidelines made the system easier to adopt and reduced onboarding time for other designers.

Clear naming, structured files, and usage guidelines made the system easier to adopt and reduced onboarding time for other designers.

Design-engineering alignment is everything

Regular check-ins with engineers ensured the components reflected what was feasible to build, helping avoid major rework later.

Regular check-ins with engineers ensured the components reflected what was feasible to build, helping avoid major rework later.

Small inconsistencies add up

Even minor visual differences—misaligned padding, inconsistent icon sizes—can erode user trust and slow teams down. Centralizing design standards solved this at the root.

Even minor visual differences—misaligned padding, inconsistent icon sizes—can erode user trust and slow teams down. Centralizing design standards solved this at the root.