Zach Louden
Case Study · 2018–2019

Richmond

A design system built for complex, information-dense applications.

Role
Design Lead
Year
2018–2019
Richmond design system overview

Overview

Richmond is a fork of the Ant component library built for Angular, reskinned and extended to serve the specific needs of StreamSets. When I joined StreamSets there were no established branding guidelines — a logo existed, but the website and existing products were built with a patchwork of Bootstrap and Materialize components. That fragmentation was an opportunity: rather than patch, we built something unified and customizable.

Richmond title slide

Strategic Decision

We chose to reskin Ant instead of building from scratch. Ant gave us a robust, well-tested component foundation, which freed the team to focus on the custom components the product actually needed — pipeline canvases, dense data tables, complex filter bars, and specialized visualizations.

Richmond component overview
Richmond component overview

Icons

The product needed a comprehensive icon set — general UI icons plus specialized pipeline stage icons for dozens of data sources and destinations. I assembled the library from a mix of custom work, contracted illustration, and reconstructions of legacy PDF assets. Every icon was drawn as a scalable vector and aligned to the core color palette.

Richmond icon set
Icon grid
Pipeline stage icons

Tables & Filtering

User research surfaced a specific pain point: experienced users wanted rich, bookmarkable filters and the ability to slice tables in complex ways, while newer users got overwhelmed by the same interfaces. The table system balances both by exposing simple filter chips by default while tucking advanced query building behind a progressive disclosure.

Table filtering interaction
Advanced filter UI
Table states
Table with confirmations

Pipeline Designer

The canvas-based pipeline designer is the heart of StreamSets. The hardest design problem was maximizing usable screen space while still surfacing the contextual information users needed — error states, runtime metrics, and configuration — without overwhelming them.

Pipeline designer canvas
Pipeline canvas interaction

Challenges

  • A hard timeline while keeping the design and engineering teams aligned
  • Earning buy-in from engineers already deep in the existing codebase
  • Keeping pace with a rapidly expanding engineering team
Next project

FedEx TRAC & Route