BILL

The Trinity Template Library

Systemizing page-level architecture, interaction patterns, and layouts across BILL's platform — the infrastructure layer between components and full product experiences.

Overview

Components don't make
experiences. Templates do.

The Trinity Design System gave BILL a unified component library — buttons, inputs, tokens, and primitives that worked across three products. But a shared component library doesn't tell designers how to structure a settings page, lay out a data-heavy workflow, or guide a user through a multi-step process. Teams were still assembling pages inconsistently, interpreting the same components into wildly different information architectures.

The Trinity Template Library was the next layer: reusable, page-level templates that prescribed information architecture, interaction patterns, navigation structures, and responsive behavior. Serial processes, data grids, drawers, panels, modals, page headers, tabs, filters, breakpoints, margins, and the UI shell itself — all codified into adoptable templates with configurable sub-components and properties.

I partnered with our Platform Principal Designer to define the template taxonomy and architecture, then worked with 6 staff+ engineers to build code counterparts for each template — enabling teams to adopt complete page structures rather than assembling them from scratch.

The problem

No unified toolkit to align global UX patterns at BILL.

My Role

Design Lead

Collaborators

Principal Designer

The Challenge

A design system without page-level guidance is a box of parts without assembly instructions.

Unified components solved the consistency problem at the element level. But the experience layer — how pages are structured, how workflows flow, how information is organized — remained a free-for-all.

Research & Discovery

Four workshops with the entire design org to map the experience landscape.

Rather than designing templates in isolation, I partnered with the Head of Design Ops, 2 Senior Design Directors, 2 Principals, and a Staff Designer to run a series of org-wide workshops that inventoried every core flow across the ecosystem — grounding the template library in real organizational knowledge.

01

Flow Inventory

Mapped every core workflow across BILL, Divvy, and Invoice2Go — payments, approvals, onboarding, reporting, settings — to create a comprehensive ecosystem view.

02

Grading Rubric

Evaluated each workflow against consistency, usability, and architectural criteria — surfacing where the experience broke down and where patterns repeated.

03

Rigorous Dogfooding

The design org walked through the full cross-product experience end-to-end, documenting friction, inconsistencies, and navigation breakdowns in real time.

04

Requirements Synthesis

Aggregated experience and architecture requirements across all workshops, distilling them into template specifications: functionality, sub-components, and properties.

Leveraged the full design org to capture 300+ unique product flows and thousands of screens.

Experience dogfooding — 300+ product flows captured across the design org

Key Decisions

Defining the architecture between components and products.

Three structural decisions shaped the template library's ability to scale across products while remaining flexible enough for each team's needs.

Decision 01

Template Taxonomy

Defined what qualifies as a "template" vs. a "pattern" vs. a "layout" — then identified the canonical set that covers the vast majority of product workflows.

Canonical templates

Serial Process
Data Grid
Detail View
Settings
Dashboard
Takeover / Modal
Decision 02

Sub-component Architecture

Each template composed of configurable sub-components with a property model that let teams customize behavior without breaking the architecture.

Sub-components

Page Header12 props
Tab Bar8 props
Filter Rail14 props
Drawer / Panel9 props
Modal7 props
Step Indicator6 props
Decision 03

Responsive Shell

A unified UI shell defining navigation, margins, breakpoints, and panel behavior that all templates inherit — the structural skeleton of every page.

Breakpoint system

Mobile< 768px
Tablet768–1024px
Desktop1024–1440px
Wide> 1440px

Template Library

Explore the templates.

Each template defines page-level structure, navigation patterns, and interaction behavior. Browse the library below — these are interactive wireframes demonstrating core template functionality.

Page Template
Data Grid Template
Serial Process Template
Drawer / Panel Template
Modal Template

Page Template

The foundational layout for all primary product views. Defines the relationship between the UI shell, page header, and canvas content area.

  • Top nav + left sidebar shell structure
  • Breadcrumb hierarchy and page titling
  • Banner and tab group slots
  • Action button placement patterns

Data Grid

Data grid is the cornerstone of the BILL product experience. Structures dense tabular data with inline actions, sorting, filtering, and pagination.

  • Sortable column headers with type indicators
  • Row-level actions and batch operations
  • Filter bar with saved view support
  • Pagination and density controls

Takeover

A popover container to serve single or multistep workflows that guide users through tasks like creating payments, onboarding, or completing approvals.

  • Step indicator with completion states
  • Progressive disclosure of form sections
  • Save and exit at any point
  • Review and confirm pattern

Drawer / Panel

Contextual overlays that slide in from the right to show detail views, edit forms, or secondary workflows without losing page context.

  • Right-anchored slide-in animation
  • Scrim overlay with click-to-dismiss
  • Scrollable body with sticky header/footer
  • Nested drawer support

Dialog

Focused interruption for confirmations, destructive actions, or compact task completion that demands user attention.

  • Centered dialog with scrim backdrop
  • Confirmation and destructive variants
  • Keyboard-accessible dismiss (Esc)
  • Responsive scaling at small viewports

Impact & Outcomes

From days of layout decisions to minutes of template configuration.

The template library fundamentally changed how designers approached new features. Instead of making page-level architecture decisions from scratch, teams selected the appropriate template, configured sub-components, and focused their energy on the unique aspects of their feature.

Cycle Time

Design execution on new features accelerated dramatically — page-level decisions that took days were reduced to template selection and configuration.

Consistency

Cross-product consistency improved at the experience level — not just at the component level. Pages across BILL, Divvy, and Invoice2Go began to feel structurally coherent.

Confidence

Designers — especially those newer to the platform — could execute with higher confidence, knowing their page architecture was grounded in validated patterns.

The most significant outcome wasn't measurable in a dashboard. It was the shift in how the organization thought about design infrastructure. The template library proved that the layer between components and products — the experience architecture layer — was where the highest-leverage design decisions lived. This insight became the foundation for the Modernization initiative that followed.