Skip to content

Retirement fintech · Analytics-driven redesign

Making dense retirement decisions
easy to compare.

A rolling redesign of Start Right — BOK Financial’s retirement app — where I used Glassbox analytics and Maze testing to let real usage, not opinion, settle how complex financial choices get presented across web, iOS, and Android.

57 / 43
preferred the comparison table over the card layout (n = 21)
53.3s → 5.6s
time to decide, cards vs. table — about 10× faster
8.27%
top task’s click-through on the old Manage page (22 of 266 sessions)
Role·Lead UX/UI Designer & Researcher
Client·BOK Financial
Platform·Web · iOS · Android
Team·PM · ~6 Engineers · Design Manager
Timeline·2024 – Present
01 · CONTEXT

Retirement self-service is high-trust and high-complexity.

Start Right lets people manage retirement accounts — 401(k), 403(b), Roth — across web and native apps: balances, rate of return, contributions, distributions, and the educational content around them.

It’s a hard surface for one reason: it’s regulated, so the content has to be accurate and the terminology identical across web and native. A small drift — “distribution” one place, “withdrawal” another — reads as sloppy, or like two different products.

Two of these surfaces weren’t failing outright, but the data told a clear story. On distribution and termination content, people skimmed dense options without settling. On Manage My Investments, they arrived, hesitated, and left mid-task. My scope was to make those two decisions easier — inside the NGX-UI design system, a native shell on iOS and Android, and retirement-plan compliance rules.

Mood 01

A calm check-in

‘What’s my balance, what’s it doing.’ Most retirement-app moments are this one — orientation over depth.

Mood 02

A high-consequence decision

‘Should I change my contribution, take a distribution, rebalance.’ Needs enough context to act with confidence, and enough friction to avoid a costly mistake. Both surfaces below are this kind.

02 · ROLE & TEAM

What I owned, what was shared.

Ownership honesty

‘Lead’ is my functional role, not a formal HR title — where the work was shared, I’ve said so.
A

Ownership

Owned end to end

Heuristic review · Glassbox analysis · Design iterations · Maze test authoring · Visual design

B

Ownership

Shared

Design-system calls (with design manager + eng) · Direction sign-off (with PM) · Native adaptation (with iOS/Android eng)

C

Ownership

Handed off

Engineering implementation · QA · Release

D

Ownership

Not mine

Analytics instrumentation (Glassbox already existed)

03 · CONSTRAINTS

The real conditions that shaped every decision.

A

Constraint

NGX-UI first

The internal design system was the default. A new pattern had to earn its place.

B

Constraint

Parity of understanding, not pixels

The same information had to be equally legible on web, iOS, and Android — the interaction could adapt to each platform, the comprehension couldn’t drift.

C

Constraint

Regulated content

Financial and educational copy had to stay accurate, compliant, and terminologically consistent everywhere.

04 · THE WORK

The work — two decisions.

Not one big decision — a series of small ones, each tied to a specific signal. Two are worth showing in full: the signal, the fork, and the proof.

01

Distribution: the test I expected to lose

Maze · unmoderated test, 23 tested, 21 completed

The signal

Termination and distribution options are dense, comparison-heavy content — meant to be scanned side by side, not read line by line. There was no validated pattern for presenting them, and users skimmed the long-form version without landing on a choice.

The options I explored

Before committing, I laid out the full pattern space — accordion, carousel cards, exposed cards, comparison table, horizontal scroll — to weigh density against scannability.

The patterns I weighed before narrowing to two.

Explored pattern — a comparison table of the termination distribution options
Comparison table
Explored pattern — exposed cards, one distribution option per card with pros and cons
Exposed cards — pros/cons per option
Explored pattern — an accordion, one distribution option expanded at a time
Accordion
Explored pattern — a horizontal carousel of distribution option cards
Carousel / horizontal scroll

The fork

I narrowed to the two strongest and ran an unmoderated A/B test in Maze — 23 participants, 21 of whom completed the preference task — instead of settling it by opinion.

AA richer card layout — one option per card, more visual, warmer.[REJECTED]
BA plain comparison table — scan across and down to compare every option at once.[CHOSEN]

Why rejected

The cards looked better and read slower. One option per card meant holding the last one in memory to judge the next, which is exactly the work a comparison decision shouldn’t require.

Why chosen

The table put every option in one field of view, so comparison happened by eye instead of by memory.

Maze · unmoderated A/B

Start Right

23responses
6blocks

Verdict

I expected the cards to win. The table won — clearly.

Maze preference chart — 57% table, 43% cards
Preference split — 57% table, 43% cards (21 completed).

Preference was half of it. The decision time was the real story.

Maze task-1 time chart — 53.3 seconds on the card prototype, a branched path
Cards — 53.3s, a branched, hesitant path.
Maze task-2 time chart — 5.6 seconds on the table, a near-direct path
Table — 5.6s, a near-direct path. About 10× faster.

When asked why, participants pointed to the same two things every time: ease of comparison and clarity at a glance.

Coded themes and sentiment from the Maze test — clarity and simplicity, ease of comparison, visual appeal
Coded themes — clarity and simplicity, ease of comparison, visual appeal.

What I did with it

I kept the table and added back only the visual cues users had liked in the cards — status colour, illustration — without the density that made cards lose. Then the harder part: holding that pattern across platforms.

The shipped Distributions design across web, iOS light mode, and Android dark mode — the same comparison table on every platform
The shipped design — the winning comparison table held across web, iOS light, and Android dark. One decision, one model, three platforms.
02

Manage My Investments: make every option legible before the click

Glassbox · element, journey & funnel analysis

The signal

Manage My Investments is the hub for nine investment actions. Glassbox showed it busy but not working: 266 sessions, 761 clicks, 214 recorded struggles, 27 seconds average on page. The strongest task link — Transfer, fund to fund — topped out at 8.27% (22 clicks); every other action drew less. The most-clicked element on the page wasn’t a task at all — it was the navigation toggle, at 46.99% (125 clicks). The page’s own chrome was out-clicking its purpose.

Glassbox · Manage My Investments · interaction map, past week

266sessions
484pageviews
761clicks
214struggles
27.12savg on page
Glassbox interaction map of Manage My Investments — click heatmap on the page and the ranked elements table, showing the navigation toggle at 46.99% and Transfer fund to fund at 8.27%
One Glassbox interaction map — the click heatmap on the page, the ranked elements table beside it.
46.99%
Navigation toggle
125 clicks — the page’s own chrome, out-clicking every task on it.
8.27%
Transfer, fund to fund
22 clicks — the strongest task link, and the ceiling for the page.

The reframe — the problem was in two places, not one

People weren’t abandoning the page — drop-off was low (~8%). They were landing and leaking out through many different exits without a clear path. The journey map reads as a crossroads between related tasks, marked by back-and-forth navigation and dead clicks.

But the friction didn’t stop at the entry. When I funnelled the second-most-clicked action — Change both my future contributions and current investments — exactly one person completed the whole flow during the analyzed week (March 7–14), stalling on incomplete forms and dead clicks.

Glassbox funnel for Change both my future contributions and current investments — a single completion, with incomplete-form and dead-click struggles
One completed run of the flow in the analyzed week, stalling on incomplete forms and dead clicks.

So it wasn’t just “the links aren’t prominent.” It was also “even people who commit hit friction and expectations they weren’t set up for.”

The fork

I compared three ways to present the nine actions rather than jumping to a layout.

01Full-width list — clear reading order, but long, with few options in view.[REJECTED]
02Three-column card grid — prominent, but heavy repeated chrome slows scanning.[REJECTED]
03Denser two-column cards — more options in the first viewport, each carrying its own state.[CHOSEN]

Why rejected

Iteration 1 read cleanly but pushed most of the nine actions below the fold. Iteration 2 fixed prominence and broke scanning — three columns of repeated chrome made every card look like every other card.

Why chosen

Iteration 3. More options in the first viewport, each distinct by illustration and colour, one clear action — and, the part that fixes the in-flow friction, availability and pending states surfaced on the card itself.

Iteration 1 — full-width list of the nine investment actions
Iteration 1 — full-width list. Clear reading order, few options in view.
Iteration 2 — three-column card grid of the nine investment actions
Iteration 2 — three-column grid. Prominent, but repeated chrome slows scanning.

Verdict

Keep every option on one page, but make each one scannable, self-explanatory, and honest about whether it’s available — so the decision, and any dead end, happens before the click, not three form-steps in.

Iteration 3, shipped — two-column card grid with one clear action per card
Iteration 3, shipped — denser two-column cards, each distinct by illustration and colour.

Because a request can be blocked by a pending action or a plan restriction, each card carries its own state instead of failing after the user commits.

Card active states on Manage My Investments — default, hover, focus
Default, hover, focus.
Card unavailable and pending states on Manage My Investments, each with a reason
Unavailable and pending, each with a reason — shown up front.

The same card system collapses cleanly to one column on native.

Manage My Investments on mobile — one column, same card system and states
Mobile — one column, same logic and same states.
05 · IMPACT

What can be honestly claimed.

What I can honestly claim: on the distribution content, testing showed a clear, reasoned preference — the table let people decide about ten times faster (53.3s → 5.6s), and participants could say why, which makes it a defensible decision rather than a taste call. On Manage, the redesign was driven directly by the funnel evidence: each option is now more distinct, better explained, and upfront about its state.

What I’m not claiming: no conversion lift, adoption percentage, or business metric — that data is proprietary to BOK. These are my usability-test and analytics findings, not company KPIs. Where post-launch numbers exist, I can walk through them privately in an interview.

What I would measure next

This is a forward-looking measurement plan, not measured outcomes.

Read this as ‘what I’d measure next,’ never ‘what improved.’

  • Time-to-decision on distribution options

    Faster average time; higher self-reported confidence

  • Comprehension check on the distribution content

    60%+ correct as a directional benchmark

  • Funnel completion on the top two Manage actions

    Against today’s near-zero baseline — one completion in the analyzed week

The evidence

The numbers that hold the most weight.

My own usability-test and analytics findings — not BOK business metrics.

57 / 43

Table vs. cards preference (n = 21)

53.3s → 5.6s

Decision time, cards to table

8.27%

Baseline CTR on the old Manage page (22 of 266 sessions)

Business-impact numbers (conversion, adoption) are a forward-looking measurement plan, not a result.

06 · REFLECTION

What I’d do differently, what I’d fix next.

Run a small moderated round (n ≈ 6–8) alongside every unmoderated Maze test. Clicks show preference; conversation shows understanding — and in a retirement app, understanding is what you’re actually selling. I’d also agree a measurement plan with the PM at kickoff for each surface, so outcomes get tracked automatically instead of reconstructed afterward.

A design system is a constraint that pays back with interest — as long as you know when to break it. The point of every heuristic review, Glassbox session, and Maze test here wasn’t to produce artifacts. It was to build one chain — signal → interpretation → decision → observable behavior — that a design manager, an engineer, or a compliance reviewer could follow and either agree with or push back on.

The parts I’m proudest of

The decisions I’m proudest of are the ones where that chain held under real pressure.

Tightened before handoff, not after

A

Observation

The comparison table needs a non-colour cue for the recommended option, not highlight alone.

B

Observation

The distribution content needs a logical reading order and screen-reader-navigable headings.

C

Observation

Any long-press or hover reveal on native needs a discoverable alternative for motor-impaired and screen-reader users.