The app sold plans but abandoned users after purchase.

The app could sell a plan in two taps but offered almost nothing afterwards. Managing a subscription, cancelling, reactivating, or activating a phone number all lived in different surfaces scattered across the app. Post-purchase was a dead zone.

Users who wanted to self-serve either gave up or wrote to support.

The app sold plans aggressively but abandoned them after purchase. Users had to navigate a fragmented app to find their subscription, manage it, or cancel. Phone activation was buried so deep most users didn't know it existed. The app was optimized for the first tap. Everything after purchase was an afterthought.

Unifying five lifecycle stages into one coherent dashboard

1. Mapped five lifecycle stages (buy, manage, cancel, reactivate, activate) into one coherent dashboard with consistent entry points.

2. Built a cancellation path that surfaced retention options without blocking users who had already decided to churn.

3. Promoted phone activation from a buried setting under "Advanced" to an in-context dashboard action.

4. Designed the plan comparison and upgrade flow with side-by-side pricing deltas so users see exactly what changes before committing.

Lifecycle journey map

From scattered screens to a single lifecycle view

Plan overview dashboard with usage bar and quick actions
Cancellation flow with retention hooks and transparent exit

From fragmented to unified lifecycle

All five lifecycle actions from one view. Usage, billing, and quick actions visible without drilling into sub-menus. The cancellation flow offered three intervention points: pause the plan, downgrade to a cheaper tier, or view remaining usage. None of these blocked the exit. If a user wanted to cancel, they could do it in three taps. The plan comparison showed current vs. new side by side with an explicit pricing delta.

Unified lifecycle dashboard: manage, cancel, upgrade flows

Cancellation tickets dropped 61%

Cancellation tickets dropped 61%. Phone activations tripled. Account settings stopped being a reason to contact support. Users who did churn reported higher satisfaction with the process itself. Reactivation rate for cancelled users actually increased because the flow made it clear what they were losing.

Retention is mostly a wayfinding problem

When users can finish their own admin task in the app, they rarely escalate and often renew. Making it easy to leave paradoxically makes users want to stay. Making cancellation easy didn't increase churn. It reduced the anxiety around staying.

What I chose not to build

1. I didn't design dark patterns to prevent cancellation. "Are you sure?" modals, hidden cancel buttons, and mandatory retention calls were proposed. They reduce short-term churn numbers but destroy long-term trust and increase support volume.

2. I didn't combine upgrade and cancellation into one flow. Users upgrading are in a growth mindset. Users cancelling are in a loss mindset. Mixing them creates confusion and reduces conversion on both.

3. I didn't design an automated win-back campaign. Re-engagement emails and push notifications were a CRM initiative, not a product design problem. The cancellation flow captured the reason for leaving; CRM used that data for targeted outreach.