Pallote
React component library

I built Pallote to support my own projects and deepen my understanding of design systems. It started as a need for consistent, accessible components across client work—cards, buttons, inputs, navigation—without reinventing the wheel each time. The library evolved into two packages: a standalone CSS foundation and a React layer that wraps it. The result is a simple, stylish toolkit that I use in production and that others can adopt, with documentation, Storybook, and Figma resources to match.

Expertise
BuildExplore
Services
Design SystemsAccessibility
Technologies
ReactCSSTypeScript
Pallote — React component library

Pallote was born from a desire to build faster and learn deeper. By building a large scale component library, I can experiment and implement things that would be useful for client projects.

Pallote component library showcase

I structured Pallote around two layers. Pallote CSS provides the styling foundation: variables, utilities, and component classes that work in any context. Pallote React adds pre-built components—buttons, cards, inputs, sections, grids—that wrap the CSS with sensible defaults and accessibility built in. The goal was clarity over complexity. Each component exposes a small, predictable API. Typography, spacing, and colour are driven by design tokens, so customising the look means changing a few variables rather than fighting specificity.

Why Open Source

Pallote is a passion project. Building it taught me how design systems scale, how to think about component APIs, and how accessibility fits into the pipeline from the start. Sharing it on GitHub means others can use it, contribute, or learn from it—and the feedback loop keeps the library improving.

Pallote zoon on alert componentPallote zoon on alert component

Pallote zoon on breadcrumbs componentPallote zoon on breadcrumbs component

Pallote zoon on checkbox componentPallote zoon on checkbox component

Pallote zoon on link componentPallote zoon on link component

Pallote zoon on navbar componentPallote zoon on navbar component

Pallote zoon on navItem componentPallote zoon on navItem component

Pallote zoon on radio componentPallote zoon on radio component

Pallote zoon on radios componentPallote zoon on radios component

Pallote zoon on tab componentPallote zoon on tab component

Pallote zoon on select componentPallote zoon on select component

Pallote zoon on status componentPallote zoon on status component

Pallote zoon on switch componentPallote zoon on switch component