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.

My Role

Design Systems Lead

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.

Disciplines

Information Architecture Interaction Design Design Systems Design Ops

Key Partners

Platform Principal Designer, Head of Design Ops, 2 Senior Design Directors, 2 Principals, 1 Staff Designer, 6 Staff+ Engineers

Scope

Page headers, data grids, serial processes, navigation, takeovers, drawers, panels, modals, tabs, filters, breakpoints, margins, UI shell

Foundation

Built on the Trinity Design System token architecture and component library

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.

Components ≠ Experiences

A design system gives you buttons and inputs. It doesn't tell you how to structure a settings page, architect a data-heavy workflow, or guide a user through a multi-step payment process.

Inconsistent Assembly

Designers across three products were interpreting the same components into wildly different page structures, navigation patterns, and information hierarchies — undermining the consistency the design system was built to create.

Scale Across Products

Templates needed to work for BILL, Divvy, and Invoice2Go — each with different workflow densities, user mental models, and technical constraints — while remaining cohesive enough to feel like one platform.

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

Experience 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.

Reflections

Infrastructure compounds. Artifacts don't.

What worked

The workshop-driven approach was essential. By involving the entire design org in inventorying flows and grading the experience, the template library was grounded in collective organizational knowledge rather than my own assumptions. The grading rubric gave us a shared language for evaluating quality, and the dogfooding sessions surfaced friction I never would have found in a design file.

Partnering with 6 staff+ engineers to build code counterparts for each template ensured that adoption wasn't just a design aspiration — there were real, usable implementations waiting for every team.

The compounding effect

The template library encoded organizational knowledge into reusable architecture — decisions about information hierarchy, workflow patterns, and responsive behavior that were made once and inherited by every new feature. That's the kind of work that compounds: every team that adopts a template benefits from the collective research of the entire design org.

When the Modernization initiative kicked off, these templates became the blueprints for the platform rebuild. The taxonomy, the sub-component architecture, the responsive shell — all of it carried forward. The template library didn't just improve the current platform; it pre-architected the next one.