Achieve GOOD
Get Out Of Debt
Scope
Acquired native app originally built in Python for Nationwide Insurance by an agency without native expertise. Served two audiences: users qualifying for Achieve's core financial products as leads, and users managing debt independently through the free tool. The redesign ran parallel to a platform migration from Python to React Native.
Role
Staff Product Designer: Owned the acquisition funnel redesign across onboarding, offer surfacing, and account linking. Partnered with product, engineering, analytics, and research to run production experiments and ship measurable improvements while navigating a parallel platform migration.

Results at a Glance
- +200% enrollment growth
- +58% credit pull-through, +38% PII completion
- Lead rate doubled to 14% and App Store rating improved from 2.0 to 4.1
- 12% drop in onboarding abandonment and +12% increase in debt plan creation
Overview
Achieve GOOD was originally built for Nationwide Insurance by an agency without native mobile expertise, and the cracks were visible throughout. The app was dated, clunky, and failed to follow iOS and Android platform conventions. When Achieve acquired it, the design debt was substantial and the business impact was measurable. Conversion was suffering and the App Store rating sat at 2.0.
The app had two jobs. First, serve as an acquisition funnel, identifying users who qualified for Achieve's core financial products and converting them into leads. Second, provide genuine value to users who didn't qualify, giving them a free tool to understand and manage their debt on their own terms.
The problem was it wasn't doing either job well. Onboarding drop-off was high. Empty states were dead ends rather than moments of guidance. The debt visualization wasn't earning trust or pulling users forward. And the whole experience was running on Python, a platform that wasn't built for the native mobile experience Achieve needed it to be.
The opportunity was clear: redesign the experience from the inside out, move toward React Native, and build something that worked for users and the business at the same time, without losing the people who were already relying on it.
Destination
Create a trusted, low-friction experience for underserved members that increased lead quality without sacrificing user confidence or clarity. Modernize the product onto a React Native foundation that could scale and be maintained consistently across iOS and Android. Serving both audiences with equal care: the user on a path to an Achieve product and the user who simply needed help getting out of debt.
Why These Focus Areas
The audit was clear about where the biggest opportunities were. Onboarding drop-off was the single largest lever for both enrollment and lead quality — if users didn't get through it, nothing else mattered. Empty states were everywhere in the experience and every one of them was a missed moment to guide users toward a meaningful next step. And the debt visualization, the core of what made GOOD valuable to users who weren't converting to Achieve products, wasn't doing its job. Users weren't connecting with their progress and that disconnect was killing retention and plan creation.
These weren't aesthetic problems. They were structural ones, and fixing them required rethinking how the experience was sequenced, what it communicated, and when.
Key Decisions
1. Simplify onboarding without losing trust
Onboarding was the biggest drop-off point and the most sensitive one. Users were being asked for credit and personal information early in an experience that hadn't yet earned their confidence. Simply removing steps wasn't the answer. We needed to resequence the flow so that value came before ask, and so that each input felt purposeful rather than extractive.
We reduced the number of steps, improved sequencing and copy, and used progressive disclosure to introduce sensitive inputs at moments where users had enough context to feel comfortable providing them. The result was an onboarding flow that felt shorter and more respectful, even when collecting the same information.
2. Make debt progress feel real and actionable
The debt visualization was the emotional core of the app for users who weren't converting to Achieve products. If they couldn't connect with their progress, they had no reason to return. We tested line versus bar chart formats in production and found that bar charts performed significantly better for comprehension and engagement. We shipped the bar-first pattern and animated the transition into the next step, using motion to carry momentum forward rather than letting the experience stall after a data moment.
What we tested

Tested line vs bar for debt clarity and engagement.
Bar charts performed better, so we shipped the bar-first pattern and animated it into the next step.
What we chose
3. Treat empty states as conversion surfaces
Empty states were dead ends throughout the app. A new user with no connected accounts or no debt plan had nowhere to go and nothing to do. We redesigned every empty and partial-data state to guide users toward a clear next action: connecting an account, starting a debt plan, or understanding what the app could do for them. These weren't placeholders. They became the primary conversion moments for new users entering the funnel.
Each decision was tested in production and iterated based on funnel performance and usability findings.
New User
Empty states became guided next steps.
Replaced dead ends with clear actions that increased pull-through.
Research & Testing
We had no dedicated research budget, which meant building a testing approach that could keep pace with delivery without sacrificing rigor. I worked closely with a researcher and writer early in the project to align on the 15 use cases we needed to address, and from there we developed a two-track validation model.
For speed and scale, we tested in production. A/B tests ran every few weeks, sometimes monthly, giving us real behavioral data on real users without the overhead of lab recruitment or moderated sessions. This was our primary signal for decisions like the bar versus line chart visualization, where production data confirmed what we suspected and gave us the confidence to ship and animate the winning pattern.
For qualitative depth, I used UserTesting.com unmoderated studies to get ahead of the experience holistically. While production tests told us what was happening, UserTesting helped us understand why, surfacing friction, confusion, and missed moments that metrics alone wouldn't catch. This let me pressure-test flows before they went into the A/B pipeline, reducing the number of cycles needed to get to a confident direction.
The combination of unmoderated studies and production experimentation meant we could move fast, validate continuously, and make decisions grounded in evidence rather than assumption, even without a formal research function or dedicated budget.
Visual Design & UX
The visual design work centered on the front-end experience where conversion was won or lost: onboarding, personalized offer surfacing, account linking, and account detail views.
Personalized Offer Surfacing
One of the more impactful design decisions was treating the offer surface as a personalized moment rather than a generic prompt. Using eligibility data, the app could surface the right Achieve product to the right user at the right point in their journey. This required designing a flexible system of offer landing pages that could adapt to different product types and user contexts while maintaining a consistent, trustworthy visual language. The goal was for an offer to feel relevant and timely, not interruptive.
Account Linking as a Value Exchange
Account linking was the critical conversion moment for users who weren't immediately eligible for an Achieve product. Rather than treating it as a form to fill out, we designed it as a value exchange. Connect your account and unlock better insights about your debt. CTAs were framed around what users would gain, not what we needed from them. Once connected, the account detail view surfaced tracking data and compiled insights that gave users a tangible reason to return.
Returning User Dashboard
Empty States as Entry Points
Every empty and partial-data state was redesigned as a guided entry point rather than a dead end. For new users with no connected accounts or debt plan, these moments became the primary conversion surface, directing users toward account connection or offer exploration with clear, low-friction next steps.
Debt Visualization
The bar chart format, validated through production A/B testing, became the foundation for the debt progress visualization. We animated the transition into the next step, using motion to carry momentum forward and make debt progress feel tangible rather than abstract.
Outcomes & Results
The impact was measurable across every lever we pulled.
Onboarding changes drove a 200% increase in enrollment growth, a 58% improvement in credit pull-through, and a 38% increase in PII completion. Lead rate doubled from 7% to 14%. Onboarding abandonment dropped 12% and debt plan creation increased 12%.
Perhaps most tellingly, the App Store rating climbed from 2.0 to 4.1. That shift signaled the experience wasn't just converting better. It was actually serving users better.
All of this was achieved within the front-end scope of the redesign. Onboarding, offer surfacing, and account linking were the only areas that shipped. Debt plan setup and servicing remained on the roadmap, representing the next significant opportunity to deepen user value beyond conversion.
Retrospective
GOOD had real potential that never fully got realized, and that still sits with me.
The front-end work moved the numbers. But the experience I really wanted to build was further in: the debt plan setup, the progress monitoring, the ways we could visualize goals and make users feel genuinely in control of their financial situation. I had done extensive iteration on those areas. Flows, visualizations, approaches I believed in. I wanted to test them, evangelize them, get them on the backlog. That work never got its moment.
Part of what made this hard was a tension that ran through the entire project. Leadership was focused on lead generation. That was the business case for the app and I understood it. But GOOD was also a free tool for people who had limited financial options and genuinely needed help. Those two audiences deserved to be served with equal care, and I believed that serving the user better would ultimately serve the business better too. A more complete, trustworthy experience would have built brand loyalty in a way that a hard conversion funnel never could.
The lead generation mechanics were aggressive in ways that worked against user trust. Most drop-off on phone number collection wasn't about the product. It was about not wanting to be called relentlessly. That friction was a design problem with a business owner. I wanted to advocate for a softer approach: collect contact information but give users more control over how it was used. I didn't win that one.
The technical migration added another layer of complexity. Developers were learning React Native while we were redesigning, which meant breaking down stories differently, adjusting priorities, and building in more runway than a pure redesign would have needed. It slowed things down but it also built a foundation that could scale.
If I could go back, I would have done more guerrilla testing on the servicing and plan setup flows, even informally, so I had evidence to bring to the table when making the case for prioritizing them. Data moves backlogs. Enthusiasm alone doesn't.


