Branch • Self-Serve Growth

Branch

From design drift to design discipline.

I built a versioned design system that keeps shipping fast while holding a unified, measurable brand.

Attribution Deep Linking Analytics Design Systems
Branch - Design system and product
Role
Product Designer
Timeline
2 Years
Key Outcome
-50% QA Time & -22% Churn Drop

Value-led onboarding, deep linking, and a unified design system.

Self-serve Branch that markets & devs both grok

I rebuilt Branch’s funnel so you land on the finished experience first—deep link templates, outcome dashboards, and journeys feel coherent before a sales call.

  • Value-led onboarding with previews, smart templates, and shareable snippets that cut demo dependence.
  • Branch Design Language codified tokens, icons, and QA gates so we shipped faster and reduced drift by half.
Context

Why this work mattered

Branch was already trusted by major apps-but self-serve adoption lagged. Teams relied on demos and integrations that took days. We wanted to make Branch feel as simple to start as copying a link, yet still enterprise-grade under the hood.

User experience at the core

Core problem: "Developers loved Branch. Marketers felt lost."

I joined to bridge that gap-making complex infra understandable, usable, and monetizable for non-technical users.

What users told us

I need to set up deep linking for our campaign, but I don't even know where to start. Do I need a developer for this?

J
Jennifer Park
Marketing Manager

The platform is powerful, but my marketing team won't touch it because they're scared they'll break something.

A
Alex Chen
Growth Lead

I love the flexibility, but every time I try to help our marketer, I end up building a custom dashboard for them.

M
Marcus Rodriguez
Engineering Lead
Three themes

Enable self-serve growth

1) Attribution simplified

  • Re-designed onboarding around desired outcome ("I want to measure campaigns" → guided setup).
  • Visualized key metrics in one dashboard for immediate feedback.
  • Shifted tone from API first to value first - "See which channel drives installs."
Outcome-driven setup flow
Impact: More users completed full setup within the first session; fewer dropped after SDK steps.

2) Deep linking made approachable

  • Turned a developer-heavy flow into a 3-step builder.
  • Reusable QR & Smart Link templates with pre-filled behaviors.
  • Clear guidance ("Choose where this link should open") + live preview/snippets.
QR code and smart link generator
Impact: Setup time dropped from hours to minutes; more cross-team collaboration.

3) Cross-platform Journeys

  • Designed a visual journey builder for if-this-then-that paths.
  • Integrated events across web, app, and email to complete funnels.
  • Reduced visual clutter with modular cards and templates.
Cross-platform journey builder
Impact: Increased repeat session rate and first automation adoption within a week.
Monetize self-serve in-product

Introduced non-collapsible billing nudges and time-based reminders on the dashboard so free-tier customers add payment details before usage spikes. This keeps value in sync with revenue and sustains continued investment in self-serve.

Trigger PQL upgrades

Tuned paywalls and contextual prompts around advanced deep links, plus surfaced pricing and upgrade paths wherever adoption data signalled success. The result: more product-qualified leads without sales intervention.

Safeguard with locks & usage visibility

Created a paywall lockout flow with clear screenshots of paused features, alongside MAU/MEU usage graphs and overage alerts. Users see when they are near limits, understand why access pauses, and can upgrade or pay instantly.

Trust

Make complex tech feel safe

  • Added visual confirmation (“tracking active,” “data flowing”) instead of JSON logs.
  • Built copy-and-verify steps to prevent SDK misconfigurations.
  • Used plain-English error states (“We couldn’t find your app package”).
  • In-product tooltips and docs preview-no tab switching.
Outcomes

Prove value, guard reliability

Platform summary and outcomes
Focus What changed Outcome (approx.)
Onboarding Replaced SDK wall with value-led intro Noticeably higher setup completion
Attribution Unified reporting widgets Reduced confusion, fewer support pings
Deep linking Live preview + shareable templates Faster campaign launch
Journeys Templates surfaced earlier More automations created per user
For teams

Build for teams, not just users

  • Introduced team spaces - clear roles for marketer vs developer.
  • "Share project" replaced "invite via email" → less friction.
  • Added activity logs for transparency and trust.
Team collaboration cards
Impact: Smoother collaboration and fewer handoff gaps.
Feedback loop

Analytics that teach

  • Designed modular analytics components for install, retention, and funnels.
  • Created visual states: "learning," "stable," "trending."
  • Framed metrics as stories - "Your QR codes drove X% installs this week."
Analytics dashboard with modular components
Design System

Beyond features - Branch Design Library

  • Started BDL - unified tokens, icons, interactions.
  • Migrated key modules (cards, forms, tooltips) across teams.
  • Established usage guidelines to reduce dashboard inconsistencies.
Branch Design Library components
Impact: Faster shipping, shared language, accessible documentation.
Notes

Learnings and what’s next

Learnings

  • Design from user intent, not feature parity: Instead of asking "What does the API support?", we asked "What outcome does the marketer need?" This led to the 3-step link builder that hides SDK complexity behind outcome-based choices like "Where should this link open?"
  • Visibility builds trust: Adding live previews to the QR code generator and real-time link validation reduced setup anxiety. Users could see their links working before sharing them with their team, which dropped support tickets by 40%.
  • Developer empathy improves decisions for everyone: By working closely with engineering leads like Marcus, we learned that marketers breaking things wasn't the real risk—it was that devs had to constantly rebuild the same dashboards. Progressive disclosure solved both: marketers got confidence, devs got time back.
  • Systems work scales your time: Creating the versioned design system (Major.Minor.Patch) meant I stopped answering "Which button style?" questions. Instead, the system answered them. This freed up weeks to focus on Journeys builder research.

What I’d explore next

  1. Adaptive onboarding based on role detection (dev vs marketer).
  2. AI-assisted documentation within setup flow.
  3. Integrations playground for testing without live data.
Honesty

Risks I owned

  • Simplifying could hide flexibility → solved with progressive disclosure.
  • Parity between new UI and legacy API dashboards.
  • Ensuring design tokens synced across codebases.
Result

Product-led self-serve

Branch's self-serve platform became faster to adopt, clearer to use, and more trustworthy to scale. Our growth motion moved from sales-assisted to product-led.