Chase's most strategically valuable redemption feature was about to change its rules. I redesigned the experience before users felt the confusion.

client

JPMorgan Chase

year

2025-2026

timeframe

Ongoing

role

Lead UX Designer

outcome

d

B2C

FINTECH

RESEARCH

Desktop
Mobile
chase.com
Before
Now
Future
10B
UR points redeemed
every month
45%
mobile completion rate
The volume was there. The experience wasn't keeping up.
37.1M Rewards users · 424K monthly visits · Hyatt 35% United 24% Southwest 15%

Transfer Points is the second most-used redemption across Chase's premium card portfolio — Sapphire, Ink, and JPMorgan cards. The feature was working. But working isn't the same as working well.

THE CHALLENGE

Three failure points. All happening before users could complete a transfer.

01 — Wrong input increment
The field accepted any number. Only 1,000 increments would work.
No constraint, no hint, no prevention — just a silent failure after submission. Flagged consistently in customer complaints and VOC aggregation.
+Error state — input field
02 — Insufficient balance
Users didn't find out until the confirmation step.
By then, they'd already gone through the entire flow. Identified through backend error log analysis.
+Error state — balance check
03 — Identity mismatch
A backend limitation that looked like user error.
Cardholder name and loyalty program credentials didn't always match — causing the transfer to fail at the final step. Top complaint theme across social listening and support ticket data.
+Error state — credential mismatch
45%Mobile
52%Web
Completion rate across platforms — monitored in production via internal analytics dashboard.
HOW I WORKED

I didn't start with solutions. I started with signal.

+AI research process
AI-assisted research
Equipped before exploration
Used AI to surface current redemption flow trends across mobile and web, and to aggregate raw VOC into themes — so I entered exploration with signal, not assumptions.
+Cross-functional collaboration
Cross-functional alignment
Alignment as a continuous practice
Worked with PM, content strategy, UX research, and tech throughout. As lead designer for the full book of work, alignment wasn't a phase — it ran the length of the project.
+Analytics dashboard
Production analytics
Every problem has a number
Pulled completion rates, drop-off points, and error frequencies directly from backend data. Every failure in the previous section has a metric behind it.
PHASE 1 — WHAT I SHIPPED

Three decisions. Each one targeting a specific failure point.

01 — Points Calculator
Transparency before commitment
Added a pre-transfer calculator to the entry point. Users could see estimated redemption value before entering the flow — removing the discovery-too-late pattern that caused drop-off after commitment.
Design rationale
Informed decisions require visible consequences. Surface the outcome before asking for the action.
+Points Calculator — before / after
02 — Input constraint
Error prevention at the field level
Introduced a visual ",000" suffix that made the 1,000-increment constraint visible within the input itself. No error message needed — the format communicated the rule before the mistake could happen.
Design rationale
The best error message is one that never has to appear. Encode constraints in the UI, not in the feedback loop.
+Input field — with ,000 suffix
03 — Credential clarity
Reducing identity mismatch at the final step
Redesigned the credential entry step to surface inline guidance: which name to use, where it comes from, and why it matters. Turned a silent backend constraint into an informed user action.
Design rationale
Backend limitations aren't user problems — unless we make them one. Own the explanation.
+Credential entry — with guidance
BEYOND THE SCREEN

Three fixes. One pattern that scales.

The immediate problem was three error states. The underlying opportunity was a design principle that applies across every transfer surface in Chase's redemption ecosystem — and eventually, across the full points portfolio.

Error prevention
Encode constraints in the UI — not the error message
The ',000' suffix pattern isn't limited to Transfer Points. Any numeric input tied to a business rule — minimum amounts, batch sizes, denomination steps — benefits from the same approach. One pattern, scalable across the full product surface.
Transparency
Surface outcomes before asking for commitment
The calculator pattern removes a class of drop-off that occurs when users discover consequences too late. Applied upstream — at product entry, at feature discovery, at onboarding — this principle reduces abandonment across the redemption journey.
Identity clarity
Own the explanation when backend has limitations
Credential mismatch is a systemic risk wherever loyalty accounts interface with payment infrastructure. Inline guidance at the point of mismatch — not after failure — is a reusable pattern across partner integrations.
Design system

All three patterns were contributed to the shared component library and documented for use across the broader Rewards design team.

RESULTS

The errors went down. The completions went up.

Measured in production. Data collected over 60 days post-launch across mobile and web platforms.

Mobile completion rate
45%61%
↑ 16pp lift on mobile — largest single-release improvement in the transfer flow's history.
Web completion rate
52%67%
↑ 15pp lift on web. Parity with mobile closing for the first time.
Error 01 — Wrong input
↓ 91%
Input-related errors effectively eliminated after the ',000' suffix shipped.
Error 03 — Identity mismatch
↓ 64%
Credential clarity guidance reduced mismatch failures at final submission.
+Post-launch analytics dashboard

Error 02 (insufficient balance) reduction tracked separately via backend error logs. Full dataset pending Q3 reporting cycle.

WHAT'S NEXT

Phase 1 fixed the failures. Phase 2 makes the product intelligent.

With the error baseline addressed, the next opportunity is proactive — using signals we already have to reduce friction before users encounter it.

AI recommendation engine
In discovery
Personalized transfer suggestions at the point of entry
Using redemption history, partner affinity, and current point balance to surface the most relevant transfer partner — before the user has to choose.
Proactive balance alerts
Backlog
Know you're eligible before you open the flow
Push notification or in-app alert when a user's balance crosses a meaningful threshold for their most-used partner. Remove the need to check manually.
Smart input defaults
Backlog
Pre-fill the amount based on redemption history
If a user transfers 10,000 points to Hyatt every time, the field should say 10,000. The constraint is already known — the default should reflect it.

These are early-stage directions, not confirmed roadmap items. The design work exists as concept specs shared with PM and presented in the Phase 1 retrospective.

Open to Senior & Principal IC UX roles
Let's make
Franky Wang · 2026