Delaware Life’s DOT: Delaware Operations Tracker

Designing an End-to-End Annuity Application Lifecycle Platform

Product Design | Research | Workflows | Post Launch Analytics

Designing an end-to-end annuity application lifecycle platform that replaced fragmented, multi-system workflows with a single source of truth for 10k+ users.

My Role

Lead Product Designer

Team

1 Designer · 1 FE Dev · 1 BE Dev

Timeline

Q1 2025 — Launched Mar 2025

Requirement

Research · Workflow Design · Interaction Design · Cross Functional Alignment

A complex product sold through a fragmented process

Delaware Life sells annuity products across the United States through a network of independent agents and agencies. The company operates in a B2B2C model, where agents sell financial products to clients while internal teams manage application processing, document verification, payments, policy activation, and commissions.

The application lifecycle involved multiple operational steps and departments. However, these processes were fragmented across different systems and tools, making it difficult for agents and internal teams to track application progress.

This project focused on designing a centralized operations platform that would provide visibility into the entire application lifecycle and improve collaboration between external agents and internal teams.

The real problem wasn’t visibility — it was ownership

“Every stage had a different team responsible, but no unified system to track status, blockers, or next actions. The result was delays, repeated follow-ups, and missed SLAs — not because people weren’t working, but because no one could see the full picture.”

Agents had no reliable way to know where their application stood. Internal teams couldn’t quickly identify which applications were stuck or why. Communication happened through email, phone calls, and spreadsheets — creating an informal layer of coordination that was slow, error-prone, and invisible to everyone else.

Key pain points from user research

  • Application data was scattered across multiple internal systems with no consolidated view
  • Agents filed support tickets just to find out basic status information
  • Missing documents or payment issues caused silent delays — no one knew until it was too late
  • Internal teams duplicated effort coordinating across departments with no shared workspace
  • No SLA visibility, so neither agents nor ops knew if an application was on track

One platform. Clear ownership at every stage.

The strategic bet was that solving for ownership — not just transparency — would unlock the real efficiency gains. Status dashboards had been attempted before in piecemeal ways. What was missing was a system that told each person, at any moment: here’s what you’re responsible for, and here’s what’s blocking you.

This shaped core strategic principles that guided every design decision:

Replace status-reporting with action-prompting

The platform shouldn’t just show where an application is — it should surface what needs to happen next and who needs to do it. Passive visibility wasn’t enough.

Design for two audiences in one system

Agents (external) and operations teams (internal) needed the same data but different views and actions. The platform had to serve both without compromising either experience.

Reduce to the decisions that matter

With six potential lifecycle stages, there was a risk of creating complexity that mirrored the old system. The design needed to simplify, not just digitize — surfacing only what required action.

Build for adoption, not just capability

A platform only delivers value if people use it. Simple, familiar patterns were prioritized over feature completeness — especially for the MVP.

What we chose not to build (and why)

Early designs mapped all six operational stages: Can Sell, Application, Payment, Policy Activation, Commissions, and Post Activation. After reviewing with operations, marketing, and management, I advocated for cutting commissions from the MVP. The data showed agents didn’t make decisions based on commission status during the application lifecycle — it was relevant post-activation, not during. Including it would add cognitive load without driving action.

Similarly, agent eligibility verification (background checks) ran in parallel with application verification. Rather than give it a separate tile, we merged it into the Application stage. Two tiles that moved in sync created confusion; one tile with combined status was clearer and more honest about how the work actually flowed.

From complex flow to three meaningful tiles

The design went through three distinct phases — each one driven by a specific problem that only became visible once we put something in front of stakeholders and users.

Before any wireframes, I worked with operations and product to map every stage an annuity application passed through. This produced stages: Application, Payment and funds, Policy Activation, Commissions, and Post Activation. Each had its own sub-processes, responsible teams, and potential blockers.

The critical insight from this exercise was that the lifecycle wasn’t linear. Applications could reach Policy Activation before all payments were received. Commissions could be processed in advance. Any design that implied a clean sequential flow would misrepresent how the work actually moved — and give agents false confidence about where things stood.

The full lifecycle. Mapping this was the foundation — it surfaced the parallelism that a simple tracker couldn’t handle, and gave us the scope of what the platform needed to represent.

The first design translated all six stages directly into tiles — one per stage — with a top-level SLA progress bar showing estimated vs. actual processing time. The logic was straightforward: give every stage equal visibility, and let agents and ops drill into whichever was relevant.

Stakeholder reviews revealed two problems with this approach. First, the six tiles created cognitive overload — agents didn’t need to act on all six stages simultaneously, so showing them all at once created noise. Second, the Commissions tile wasn’t relevant during the active application lifecycle; it only mattered post-activation, so it was drawing attention at the wrong moment. The dashboard was complete, but it wasn’t useful.

First iteration. All six stages visible as tiles, with a top-level SLA bar tracking overall processing time. Stakeholder feedback revealed this mirrored the old system’s complexity rather than reducing it.

The key reframe was this: agents didn’t need to see every stage — they needed to know which stages required action from them. I advocated for collapsing to three tiles that mapped to the three points in the lifecycle where agents had something to do: Application, Premium, and Contract Activation. Commissions was removed from the MVP entirely.

The second structural change was moving tasks inside each tile rather than showing them separately. This meant agents could see at a glance whether a stage needed their attention, then expand to find the specific action required. The SLA bar was retained at the top but simplified to show stage-level estimates rather than an aggregate timeline.

“The shift from six tiles to three wasn’t about reducing information — it was about surfacing only the decisions that required action. Everything else was noise.”

01
Application

02
Premium

03
Contract Activation

Final three-tile model — each tile contains its own task list and status

Task states that create clarity, not noise

Each tile used five task states: Assigned, In Progress, Pending Review, Completed, and Cancelled. The key decision was making “Assigned” the trigger state — when a task lands in someone’s queue, the tile visually changes so neither agent nor ops team can miss it. This replaced the reliance on email notifications or manual check-ins.

Default state. All three tiles in their default In Progress state — no action required from the agent.
Assigned state. The Premium tile shifts when a task is assigned — an unmissable visual trigger for the agent that replaces a support call.

Communication built into context

Rather than routing conversations through email, I designed a messaging thread attached to each task. This kept communication contextual — anyone reviewing an application could see the full history of what was asked and resolved, without leaving the platform.

Task detail. Each task expands to show required actions, documents, and status — visible to both agent and ops team.

Assigned Tasks for each tile

Contextual messaging. Conversations are attached to individual tasks, replacing the email chains that previously made coordination invisible.

Communication and messaging.

SLA tracking as a trust signal

Estimated processing timelines (SLAs) were added to each stage. This served a dual purpose: internally, it gave ops teams a benchmark to measure against; externally, it gave agents a concrete answer to the question they were previously calling support to ask: “When will this be done?”

Stage-level SLA definitions. In collaboration with the operations team, we established estimated processing windows for each of the three tiles — something that hadn’t been formally documented before. This did two things: it gave ops a benchmark to identify when an application was running late, and it gave agents a concrete answer to the question they’d previously had to call support to get. Defining these numbers was as much a design decision as the UI that surfaced them.

The video below shows the dev environment stage of the project.

What the data revealed after shipping

We monitored the platform using FullStory session recordings and heatmaps in the weeks following launch. Two issues emerged early.

What the data revealed after shipping

Problem 1: Low task engagement despite high traffic

1,200 users were visiting DOT daily, but only ~300 were engaging with the task section. Session recordings revealed the issue: users weren’t connecting the status labels on the dashboard to the fact that they had action items waiting. The “Assigned” state wasn’t prominent enough at the entry point.

The fix was a contextual prompt on the dashboard landing page that surfaced assigned tasks directly — “You have X tasks assigned.” Within 30 days, task section visitors increased by 53.2% (from ~300 to 533 daily users).

Problem 2: Status chips were being clicked expecting interaction

Heatmap analysis showed status chips were the 3rd most-clicked element on the page — but they weren’t interactive. Rather than redesigning the chips (which would have delayed a fix), I added hover tooltips that explained each status stage. This gave users the information they were seeking and reduced frustration without a breaking change to the UI.

FullStory heatmap. Click density on the status chips (3rd most-clicked area on the page) revealed users expected them to be interactive filters. The fix — hover tooltips — resolved the frustration without a UI redesign.

Both fixes were small, but they illustrate how post-launch monitoring can uncover the gap between intended and actual user behavior — and how targeted interventions can move metrics without major rework.

Before vs After Metrics

MetricBeforeAfter
Processing Time8-10 weeks2.5 weeks
Application VisibilityFragmented across SystemsUnified dashboard for all stages
Doc issue resolutionWeeks of back-and-forth24–48 hour resolution time
Support dependencyHigh — agents called in for statusReduced call centre volume
Platform adoptionNo centralized tool10,867 users; ~500 daily active

What I’d do differently

1

Test the task discoverability earlier. The low initial engagement with the task section could have been caught in usability testing before launch. I’d build a specific test scenario around “find your assigned tasks” in future — it’s a critical path that’s easy to overlook when you’re close to the design.

2

Get commissions back in sooner. Dropping commissions from the MVP was the right call for launch, but I’d want a clearer roadmap commitment before cutting a feature agents care about. The MVP scope decision was made in a meeting — I’d push for that to be documented with a timeline so it doesn’t quietly stay out of scope.

3

Define SLA expectations with ops before design, not during. SLA data required several rounds of back-and-forth with the operations team mid-design. Earlier alignment on what SLAs existed and how they were calculated would have prevented design rework.