Redesigned and expanded the platform's rate management system — introducing custom rate indexes, a structured apply/ignore workflow, and irreversibility safeguards that give clients full control over how rates are applied across their loan portfolios.
My Role
Lead Product Designer
Team
Annie Wang
Product Manager
Responsibilities
End-to-end UX design, Workflow design, Interaction design, Stakeholder collaboration
Project Timeline
3 Months

Context
Mortgage Automator's existing rate module supported only system prime rates — RBC, TD, CIBC for Canadian clients and WSJ Prime for US clients. There was no way for clients to add custom rate indexes, and no way to selectively skip a rate update. As the platform grew and clients needed to peg loans to indexes the system didn't natively support (like SOFR or BMO), the module needed a fundamental rethink.
I was the sole designer on this project, working with the PM and engineering team over roughly 3 months from kickoff to launch.
The Design Challenge
This wasn't a typical "make it easier" problem. Rate changes are retroactively applied to every in-progress and funded loan tied to an index — and once applied, they cannot be reverted. So the core challenge was: how do you give users more flexibility and control while making sure they fully understand the consequences of every action they take?
What I Designed
A rebuilt rate management system with three interconnected parts: a settings dashboard for managing rate indexes, a rate history workflow for applying or ignoring individual rate updates, and an in-loan notification system that surfaces pending rate changes at the right moment.
The apply/ignore workflow
When new system rates become available, they appear in chronological order. Users must address them sequentially — starting from the oldest unapplied rate and working forward. I designed a color-coded status system to make this sequence instantly scannable: green for Applied, yellow for Ignored, blue for the current Action Required, and grey for queued future rates that unlock one at a time as the user works through the list.
This was a deliberate constraint. Allowing users to cherry-pick rates out of order would create inconsistencies across loan portfolios. The sequential flow enforces data integrity while the color system makes the constraint feel intuitive rather than restrictive.
Irreversibility safeguards
Since rate applications can't be undone, I needed the confirmation step to carry real weight. Earlier iterations had a simple "are you sure?" dialog — but that doesn't match the severity of an action that will retroactively change rates across potentially hundreds of loans.
I redesigned the confirmation dialog to surface every single rate and its effective date in a scrollable list, so the user can review exactly what's about to happen before committing. The warning text explicitly states that the action is irreversible. The goal was full transparency at the point of no return — not friction for friction's sake, but genuine informed consent.
Custom rate indexes
For clients who needed to track rates outside the system defaults, I designed a custom index flow. Admins name their index, then add rates in chronological order. The system enforces date-blocking — if you've added a rate with an effective date of March 1st, the date picker blocks all dates before March 2nd. This prevents sequencing errors without requiring the user to remember what they've already entered.
Custom indexes use the same apply/confirm workflow as system rates, so there's no new interaction pattern to learn.
In-loan notifications
Rate changes are easy to miss if you're working inside individual loan files rather than in settings. I designed two notification types calibrated to different urgency levels.
For in-progress loans, a blocking warning appears when the user attempts to fund — prompting them to apply the new rates first, with a direct link to the rate settings. This only triggers when there are genuinely unapplied rates, not dismissed ones.
For funded loans, an advisory alert appears each time the user opens the loan file. They can snooze it (it reappears next time) or dismiss it permanently. Notifications are per-user, so one person dismissing doesn't affect their colleagues. They persist until the rate is actually addressed at the module level — not just acknowledged in the loan.
System Prime Rate Walkthrough
Custom Rate Index Walkthrough
Impact
The redesigned Variable Rate Module shipped in full and is used by more than half the client base today.
For the Business
Contributed to upselling Pro-Servicing and Fund Module plan subscriptions — VRM is a gated feature that gives clients a reason to upgrade. Adopted by more than half the client base.
For Users & Operations
Introduced custom rate indexes where none existed, giving clients the flexibility to manage rates the platform didn't natively support. A purpose-built notification system catches unapplied rates before loans are funded — preventing irreversible errors and reducing support tickets related to rate updates post-launch.
Reflection
This project reinforced that designing a workflow isn't just about the happy path. The real design work was in the edges — what happens when rates are skipped, what happens when someone tries to fund a loan with outdated rates, what happens when a colleague dismisses a notification but you haven't. Designing for those moments is what makes a system trustworthy
