Friction
- ↗Each integration had a bespoke onboarding flow, creating inconsistency for customers and toil for engineering.
- ↗New integrations required designing and building onboarding from scratch every time.
My Role
- ↗Defined the unified onboarding pattern and information architecture.
- ↗Collaborated across product, engineering, and integration owners to pressure-test the system against real edge cases.
Outcome
- ↗One shared onboarding pattern that works across 100+ integrations.
- ↗Reduced engineering overhead per new integration.
- ↗A more consistent, professional experience for customers setting up any integration.
Summary
Red Canary has over 100 integrations, each with its own onboarding flow. I replaced the pile of one-offs with a single adaptable pattern that survives contact with every vendor while cutting the design and engineering cost of every integration that comes after.
The Problem
Every time a new integration was added, onboarding was designed from scratch. The result was a product that felt inconsistent and an engineering process that couldn't scale.
The technical debt was obvious, but the bigger problem was that customers experienced meaningfully different flows depending on which integration they were setting up, and none of them were as good as they should have been.
The Solution
I mapped the full range of existing onboarding patterns to understand what varied across integrations and what the actual common structure was beneath the noise.
The reusable skeleton handles the common steps: auth, configuration, and validation, while leaving structured room for vendor-specific variations.
The pattern was pressure-tested against the ugliest integrations first so we knew it could hold up before it became the standard.
The Process
Exploration
Low-fidelity wireframes mapped the core layout and key interactions before any visual decisions were locked in.
Map the existing landscape
I catalogued the full range of integration onboarding flows to find what was truly shared versus what was genuinely integration-specific.
Define the shared structure
The common steps became the pattern. The edge cases got explicit slots in the system so they would stop becoming one-offs.
Validate with the hardest cases
The messiest integrations were the test. If the pattern worked for those, it would work for everything else.
Shipped
The final experience, tested with customers and validated through iteration.
Red Canary