Transforming mobile onboarding, extending self-service functionality, and aligning debt resolution tools with user expectations
Date Completed
November 2016
Overview
Freedom Financial partnered with Everest to expand its mobile experience beyond a limited onboarding and account-viewing tool into a full-featured financial management application. Previously, users could create accounts and speak with customer service to begin consolidating debt, and the mobile app offered basic access to view account status post-enrollment. However, it lacked key features such as making payments, adjusting plans, or completing verification steps within the app itself.
I collaborated with Everest’s design and engineering teams to design a complete mobile experience—spanning onboarding, plan selection, document upload, and account management—while ensuring visual consistency and clarity across the platform. We worked in high fidelity from the start, using competitive analysis to guide flow and interaction design, and refining the product based on behavioral insights gathered from real user sessions.
The resulting application offered a fully mobile path from inquiry to debt resolution, improving continuity, usability, and user trust in an experience now aligned with leading financial service apps.
While the application has continued to evolve since our initial redesign, you can view the current version on the App Store to see how it has matured over time.
Accomplishments and Key Improvements
- End-to-End Mobile Experience: Expanded the application from a limited onboarding tool into a complete mobile platform for account setup, management, and document verification.
- Streamlined Debt Entry Flow: Designed a step-by-step input system for debt details that reduced friction and helped users progress confidently through complex financial disclosures.
- Interactive Plan Selection: Introduced a dynamic savings estimator and payment selection UI that allowed users to visualize the impact of their plan choices in real time.
- Simplified Document Upload: Replaced static upload prompts with a structured, guided verification flow that improved completion and reduced drop-off at high-friction steps.
- Visual System Consistency: Applied a modular, component-based design system to ensure consistency across onboarding, dashboard, and support screens while aligning with evolving fintech patterns.
Comparative Analysis of Fintech UX Patterns
Before locking in the application’s flow and interaction model, we conducted a targeted comparative analysis of mobile-first fintech applications with similar user needs and business models. These included Mint, Credit Karma, and Chime—each offering different approaches to onboarding, account linking, goal setting, and dashboard structure.
Rather than focus on surface-level inspiration, this analysis evaluated how these products handled task prioritization, navigation hierarchy, visual framing, and the pacing of user decisions. The goal was to understand what worked (and didn’t) in practice, and to use those insights to avoid common UX pitfalls—particularly around dense, multi-step flows like credit assessment, savings configuration, and financial account management.
The resulting critiques not only informed the design of the Freedom Financial application, but also helped frame the structure and rhythm of key experiences in a way that felt more intentional, more focused, and more in tune with user goals.
Framing the Product Strategy Post-Comparative Analysis
After conducting comparative analysis of several leading fintech apps—including Mint, Credit Karma, and Chime—we began meeting as a team to clarify the true purpose and content structure of our own product. These discussions weren’t about visual direction yet; they were about aligning on what kind of tool we were building, what its primary action was, and how we wanted to guide users from first launch into meaningful engagement.
From both the competitive landscape and our client’s requirements, a clear picture began to emerge: this was not a general-purpose financial wellness app. It was, at its core, a conversion tool for a financial product—specifically, a credit card debt consolidation offering. That meant our primary goal was to introduce the user to the product’s value as early and clearly as possible, and to structure the entire application around that outcome.
We agreed that the landing screen needed to function less like a dashboard and more like a guided tool—anchored by a primary call to action that invites users to estimate their potential monthly payment. Supporting features like goal setting, savings management, or payment tools would still be available, but presented as secondary or tertiary tasks below the core estimator. This hierarchy was directly influenced by patterns we saw succeeding in apps like Chime, and by mistakes we observed in less structured interfaces elsewhere. From there, we were ready to begin shaping the application’s information architecture and defining key flows branching from the landing experience.

Applying Behavioral Design to Define the Product Structure
In many product design processes, information architecture is treated as a neutral output—a sitemap or flow diagram that merely lists what screens belong where. But for a tool like Achieve, which asks users to commit to debt relief through consistent engagement and behavioral follow-through, architecture is not neutral. It’s strategic.
At this point in the process, our goal was not to produce a system map for its own sake, but to define a behavioral structure—one that would shape how users interact with the product from their very first screen. Drawing on BJ Fogg’s Behavior Model, we began framing the interface not as a collection of features, but as a series of intentional triggers: each one placed to support a specific behavior at a moment of readiness. This strategic foundation would go on to inform every design decision from layout and copy to prioritization and pacing.
Designing for Behavior, Not Just Layout
As we translated the system map into an interface-level design strategy, we looked to behavioral science to guide the structure and interaction patterns used across the dashboard. One of the models that influenced our approach was BJ Fogg’s Behavior Model, which states that behavior occurs when motivation, ability, and a well-timed trigger converge.
We treated each dashboard tile as a designed behavioral moment—structured not only to inform but to provoke a manageable action. Whether the user is being nudged to finish setup, check their spending, or review a financial insight, each tile aligns with a type of behavior we wanted to support: new action, ongoing habit, or one-time engagement.
Too often, dashboards in applications like this fall into the pattern of becoming an editorial or brochure-like experience. They present a dense mix of feature promotion, educational content, and passive recaps of what’s available elsewhere in the app—often duplicating what users could find via the primary navigation. This introduces unnecessary friction by forcing users to interpret the interface rather than act on it.
Our goal was to avoid that. This dashboard is not an article. It’s not a marketing touchpoint. It’s a tool—and its landing view should function accordingly. Every tile is intentional, each CTA represents a concrete next step, and the screen itself becomes a behavioral surface that maps the app’s capabilities directly to user intent.

When the Interface Becomes a Billboard
The Walgreens app serves a very different user and purpose than the financial product we were designing, but its landing screen reflects a pattern we actively wanted to avoid: the promotional feed layout.
As soon as the app opens, users are presented with a cascade of content that mixes unrelated intentions: retail promotions, editorial health messaging, seasonal ads, and calls to explore Walgreens’ services. These modules aren’t organized by user behavior or primary task—they’re organized around what the business wants to say.
While every element might serve a purpose on its own, their collective effect is a landing screen that behaves more like a homepage or content feed than a tool interface. There’s no prioritization of likely user goals. There’s no clear starting point. And there’s no real sense of what the app can help the user do right now.
This kind of mixed-intent UX is particularly problematic in task-oriented apps like debt consolidation tools. When users arrive, they’re not browsing—they’re looking to act. Every second of visual ambiguity delays that. And every tile that markets instead of enabling creates friction.
While the Walgreens example reflects a pattern of visual clutter and mixed intent, our goal was to go in the opposite direction. We weren’t designing a homepage. We were designing a behavioral interface—one that immediately supports the user’s goals without requiring them to interpret, prioritize, or hunt for what matters. That meant reducing cognitive overhead by minimizing variation, eliminating marketing noise, and aligning the structure of the screen to the structure of user intent.
Instead of dozens of competing modules, we built the experience around just two core tile types—each with a specific behavioral function. The components below demonstrate how this minimalist system works. Together, they form a UI language built for action, not exploration.
Designing for Commitment, Clarity, and Behavior
This next section breaks down five critical moments in the experience where design decisions had real weight — where the interface needed to do more than just look clean or feel modern. These are the points where users commit, interpret, hesitate, or move forward — and we treated each one with care.
Rather than starting with loose wireframes or divergent concept rounds, we worked directly in high fidelity, refining the interface one section at a time. We debated tone, trust, and interaction structure as we went. Much of the real design happened in language, alignment, and hierarchy — not color or motion.
Each of the following boards focuses on a single section of the experience. These aren’t explorations — they’re outcomes of focused, behavioral problem-solving. Together, they form the core of the application’s UX strategy: helping users understand their options, act with clarity, and commit to a real plan.
What the First Tile Needs to Do
This was the most consequential action in the entire experience — the point at which the user commits to the debt resolution program and exits exploratory mode. There was no room for ambiguity here. The copy, layout, and visual framing all had to make it clear that this wasn’t just the next step in a signup flow — this was the decision to move forward with a legally structured debt reduction plan.
We explored several ways to frame the CTA, but many were either too soft (“Start Saving Now”) or too indirect (“Customize My Plan”). What we needed was clarity without pressure — a label that respected the weight of the decision but didn’t intimidate. We landed on “Resolve My Debt” — direct, behaviorally honest, and supported by carefully structured context around it.
Reducing Signup Friction with One-Tap Confirmation
Account creation and login might look simple, but it’s one of the most decisive moments in the entire user experience. If this step is slow, confusing, or frustrating, most users don’t just drop out of the flow—they delete the app. Surveys show that 87% of users have abandoned a signup process due to login friction, and 67% leave when forms are frustrating. These aren’t edge cases—this is how people behave. And from personal experience, I’ve deleted app after app just to find one that doesn’t punish me for trying to use it. When designing this experience, we focused on reducing friction at every level—not just visually, but architecturally.
That means specifying how fields should be coded for platform autofill, supporting SMS-based code autofill directly above the keyboard, and avoiding any steps that force users to recall or manage passwords unnecessarily. These aren’t implementation details—they’re core UX decisions. It’s my role to know what iOS and Android are capable of, and to define flows that expect those capabilities to work on the user’s behalf. What you see on this board is the result of that thinking: the minimum amount of interaction required to authenticate securely and keep moving forward.
Designing Notification Enrollment

This screen marks the point in the experience where we ask the user for notification permissions—but unlike many apps, we don’t ask at launch. We deliberately defer the system-level prompt until after the user has taken a meaningful step: in this case, reviewing their savings estimate and beginning to configure a plan.
Most users today are trained to reject early prompts. Notifications, location access, app reviews—they all come too soon, before the user has any reason to say yes. As someone who instinctively dismisses these prompts when apps throw them at me in the first few seconds, I’ve designed against that behavior here.
By waiting until the user is already invested—already acting—we reposition the ask. The system notification arrives just as we confirm that we’ve updated their plan, and it’s framed as a way to continue doing work on their behalf. That context makes “yes” feel like a natural next step, not an interruption.
Designing notification enrollment isn’t about styling the banner. It’s about timing the ask so it respects the user’s attention and builds on their momentum.
Applying the Behavioral Framework
This section presents the high-fidelity version of the application, designed and structured around the behavioral principles established earlier in the case study. Every part of the interface is built to support a clear user action—never to explain the product, but to enable the user to move forward. From first launch to task completion, the app is composed of self-contained modules that serve as behavioral triggers, guiding users through decision points with minimal friction and maximal clarity.
Each screen uses a small set of repeatable components to maintain consistency, reduce cognitive load, and make the interface feel calm—even when the subject matter is high-stakes. Primary actions are surfaced through full-width CTAs, while supporting actions are available via lighter-weight links. This keeps the hierarchy of intent visible at all times. The screens below demonstrate this system in context, and the full interactive prototype is available at the end of the section.
What the First Tile Needs to Do
The dashboard is structured not as a homepage or content feed, but as a behavioral interface. Each module is designed to represent a specific action the user can take—nothing more, nothing less. The goal was not to explain everything the app can do, but to create a rhythm of decision-making: orient, understand, act. This approach minimizes friction and keeps the focus on progress, not exploration.
Every tile exists to trigger behavior. Primary tasks are surfaced using a full-width CTA button, visually distinct and structurally consistent throughout the interface. Secondary actions are presented with lighter-weight inline links, giving users a sense of availability without distraction. This dual-CTA model reinforces hierarchy without cluttering the screen with equal-weight options.
The layout isn’t just visual—it’s psychological. By sequencing tiles from highest to lowest priority, we guide the user’s attention toward what matters most, while still offering optional pathways for those who want to explore further. The copy is short and supportive—each tile contains just enough context to help the user act without forcing them to interpret the product.
The structure of the dashboard remains consistent across all user states—before login, after login, and once a plan is in progress. Rather than reconfiguring the layout or introducing new sections, we allow the messaging within each tile to shift. Designing it this way ensures that the interface feels stable, even as the relationship between the user and the product deepens.
What makes this dashboard effective isn’t its visual style—it’s its restraint. There are no promotional banners, no marketing copy, no redundant navigation. Every element has a job, and the screen works because it stays out of the way.

Determining When to Change Context

In a mobile product like this, behavioral flow depends heavily on interface structure—specifically, when the user stays anchored to the current context and when they’re moved into something new. That’s the difference between a bottom sheet and a full screen.
We used bottom sheets for lightweight input moments, where the user hasn’t yet committed to anything significant. These screens are closer to a question: “Are you interested?” The visual framing keeps the user in the flow, just one layer above the dashboard. They can cancel at any point without friction, and the sheet gently disappears.
When we needed the user to commit—like when checking eligibility—we moved to a full screen. The input becomes more involved, the UI more structured, and the tone more formal. This isn’t a prompt—it’s a step. That shift in layout helps clarify that we’re moving forward in the process, not hovering around it.
Summarizing Value in Concrete Terms
The moment a user commits to a debt resolution plan is the moment they need clarity—not celebration, not complexity. This part of the experience is designed to reinforce that decision by showing the payoff in simple, concrete terms: how much time they’ll save, how much lower their payments will be, and how much less they’ll pay in total.
Each part of the message is visually distinct but restrained. A progress bar anchors the timeline; side-by-side values make monthly payments feel tangible; the interest savings summary is clean and direct. There’s no need for charts, expandable tooltips, or promotional language. Just enough detail to say, “Here’s what this means for you.”
Rather than summarizing with marketing copy, we’re closing the loop with facts. The design stays calm and matter-of-fact—because confidence doesn’t need to shout.

Designing Notification Enrollment

This screen marks the point in the experience where we ask the user for notification permissions—but unlike many apps, we don’t ask at launch. We deliberately defer the system-level prompt until after the user has taken a meaningful step: in this case, reviewing their savings estimate and beginning to configure a plan.
Most users today are trained to reject early prompts. Notifications, location access, app reviews—they all come too soon, before the user has any reason to say yes. As someone who instinctively dismisses these prompts when apps throw them at me in the first few seconds, I’ve designed against that behavior here.
By waiting until the user is already invested—already acting—we reposition the ask. The system notification arrives just as we confirm that we’ve updated their plan, and it’s framed as a way to continue doing work on their behalf. That context makes “yes” feel like a natural next step, not an interruption.
Designing notification enrollment isn’t about styling the banner. It’s about timing the ask so it respects the user’s attention and builds on their momentum.
Final Prototype: A System Designed for Clarity and Action
The final prototype brings together every element of the design strategy: a behavioral framework, a minimal UI system, and a product architecture shaped by user intention. Each screen is structured to reduce decision friction and increase clarity—both in visual hierarchy and in cognitive load. The goal was not just usability, but momentum.
Across the application, we kept the interface consistent. Tiles are structured as behavioral triggers, using just enough language to invite action and nothing more. The layout doesn’t change based on state; only the messaging does. This stability builds user confidence and keeps the experience grounded—even as users move from first contact to long-term engagement.
The result is a product that doesn’t explain itself. It doesn’t market itself. It helps. Whether someone is estimating their savings, tracking payments, or checking eligibility, the interface stays quiet, purposeful, and clear. This prototype represents a complete interaction model, fully wired and ready to test—and grounded in a UX philosophy that respects users’ attention.
Reflections & Takeaways
This project brought together behavioral strategy, design systems thinking, and real-world product constraints. The goal wasn’t to showcase screens—it was to structure an experience that users could actually navigate, trust, and act through. Every decision, from layout to copy to tile sequencing, was made to support clarity and reduce hesitation.
I focused on removing friction at the edges: simplifying login, enabling one-tap SMS verification, minimizing navigation churn, and designing triggers that would feel obvious without needing explanation. That meant advocating for platform-native patterns, lightweight architecture, and a tone of voice that guided action without pressure.
At times, the process meant negotiating compromises—supporting interactive elements like the savings slider in response to client requests while still preserving the core behavioral intent of the experience. The work required balance: protecting simplicity while meeting business needs, and delivering a structure that could support multiple user states without reinventing the UI at each step.
What I’m most proud of is the restraint. The interface isn’t trying to be clever. It’s trying to be helpful. It respects the user’s time and attention, and it works by staying quiet, not by demanding input. That’s what good UX looks like to me—and it’s what I aim to bring to every product I work on.