Skip to main content
01 / 16

Case Study Presentation

Customers Were Leaving. I Rebuilt the System.

Anuja Harsha — Senior Product Designer

Flagship Case Study @ Cloud Software Group

Case Study 001

CustomersWereLeaving.40YearsWithoutUpdates.

Volunteered one week in. Mapped 5 undocumented subsystems from scratch. Navigated 2 rejected architectures. Delivered a brand-new integrated system — not a UI refresh.

Role & Expertise

UX Owner

Timeline

Sept 2022 – Nov 2023

SHIPPED APRIL 2024

Company

Cloud Software Group — WebFOCUS

Act I

Week 1. A Product That Had Never Been Touched by Design.

Customers were leaving after 40+ years without updates. One week in, I volunteered for the project no one else would take. No documentation, no roadmap, no prior designer.

One week in, my design director mentioned a legacy scheduling tool — old, massive, untouched for decades. No designer had taken it. No PM had a roadmap.
I said, "I'll do it." He gave it to me the same day.
40+ years old. Millions of automated jobs. Zero documentation. I had a sandbox. That was it.

50-year-old black box. Zero documentation.

I had to reverse-engineer the entire system logic by interviewing 12 engineers and reading 5,000 lines of legacy code.

FILE: LEGACY_SCHEDULER.EXE[FRAGMENTED]
Legacy Schedule Dialog Properties
Tap to view

// UX_FAILURE: 5 distinct interfaces required for 1 workflow.

FILE: DISTRIBUTION_MODULE.DLL[UNDOCUMENTED]
Legacy Distribution List
Tap to view

// UX_FAILURE: Separate screen for a sub-task of scheduling.

FILE: ACCESS_CONTROL.SYS[HIDDEN]
Legacy Access List
Tap to view

// UX_FAILURE: Critical security settings buried in separate app.

FILE: RC_EXPLORER.EXE[SCATTERED]
Legacy RC Explorer
Tap to view

// UX_FAILURE: Disconnected asset browser with no hub integration.

FILE: RC_ADMIN.SYS[ISOLATED]
Legacy RC Admin Status
Tap to view

// UX_FAILURE: Admin functions siloed in completely separate tool.

~/logs/discovery.log
> DISCOVERY_INSIGHT:
>

I realized ReportCaster wasn't one product — it was five disparate subsystems masquerading as one. Unifying them required not just a UI refresh, but a complete architectural convergence.

Act II

No Users. No Docs. So I Built My Own Research Network.

No user access. No documentation. I embedded with the Gold Support lead and the original RC engineer — they became my sources of truth.

No user access. No interviews. No usability tests. Enterprise security blocked all of it.
So I built my own research network. Two people became my sources of truth — and between them, I reconstructed decades of tribal knowledge that had never been written down.
What I discovered changed the scope entirely: ReportCaster wasn't a feature. It was a product inside a product.

Navigating Enterprise Research Constraints

How I reconstructed an undocumented 50-year-old system when direct user research wasn't possible.

CONSTRAINT: NO_DIRECT_USER_ACCESS

Enterprise security policy blocked direct access to end users. No interviews, no usability tests, no direct feedback loops.

// BLOCKED_METHODS
×Direct user interviews
×On-site observation sessions
×Usage analytics access
STRATEGY: THE_PROXY_NETWORK

Leveraged Support Agents and Customer Reps as high-fidelity proxies for user pain points. Built ecosystem understanding through indirect channels.

// PROXY_SOURCES
+Gold Support team meetings
+Original RC engineer sessions
+Support ticket pattern analysis
+Customer rep feedback
SO I BUILT MY OWN NETWORK

Chris Kaplan

Gold Support Lead

// REVEALED_INSIGHTS
Which issues take longest to resolve
What users hack around daily
Real-world pain points from support tickets
Method: Embedded in team meetings

Yingchun Chen

Original RC Engineer

// REVEALED_INSIGHTS
Decades of undocumented logic
Why legacy decisions were made
What code can and cannot change
Method: Deep technical sessions
No onboarding. No spec. No design file. Just: "Here's the sandbox. Figure it out."
I pieced together the system from fragments — hundreds of screenshots, support tickets, and one engineer who knew it end-to-end.

Act III

5 Systems. 2 Rejections. 1 Breakthrough.

V1 stung. V2 was my favorite. V3 was the breakthrough — born from asking how the platform itself wanted workflows to behave.

The Raw Sketchbook

Before pixels, there was paper. 100+ pages of notes, logic maps, and questions that built this system.

Sketches · 14 pages
Making notes on legacy system

Deconstructing the fragmentation of the 5 connected subsystems.

Mapping user journeys

Tracing the complex paths users had to navigate.

Identifying friction points

Documenting the friction and dead-ends in the legacy workflow.

Brainstorming architecture

How the scheduling modal could live in the + menu.

Simplifying complexity

Sketches on how we could simplify complex rules.

Unifying workflows

Exploring how scattered lists could be unified with the main flow.

Visualizing the new interface

Early sketches of what the new unified version could look like.

Process sketch page 8
Process sketch page 9
Process sketch page 10
Process sketch page 11
Process sketch page 12
Process sketch page 13
Process sketch page 14
Architecture Diagrams
ReportCaster System Workflow Map

Complete workflow map showing how all 5 ReportCaster subsystems connect — scheduling, distribution, access lists, explorer, and admin.

5 Fragmented Subsystems → 1 Unified Hub

The legacy system wasn't a feature — it was a product inside a product. I mapped every workflow, entry point, and hidden rule across five disconnected tools, then unified them into predictable platform entry points.

Before: Fragmented
SchedulingSeparate menu

4 clicks to create

Distribution ListsHidden submenu

Hacked by users

Access ListsAdmin panel

Undocumented rules

ExplorerSeparate view

2 clicks + new tab

Admin / StatusLegacy console

Separate browser tab

5+ browser tabs4 clicks to startZero documentation
Redesign
After: Unified Hub
+ Menu → Create Schedule
+ Menu → Create Distribution List
+ Menu → Create Access List
Home → Filtered Explorer View
Management Center → RC Admin
0 extra tabs2 clicks to startFully documented
Expand Map
RC mental-model map: Complete system diagram

Workflows & Navigation

  • Every scheduling workflow

    From schedule creation to distribution to monitoring

  • Every entry point

    Where users could access RC features (inconsistent across product)

  • Every dialog and branching path

    Understanding when users saw what, and why

System Capabilities

  • Every admin capability

    System configuration, permissions, settings

  • Every explorer interaction

    How users viewed and filtered existing schedules

  • Every job-health pattern

    How users monitored scheduled jobs, failure states

Reliability & Logic

  • Every failure & recovery rule

    Critical for enterprise reliability

  • Burst, retention, blackout logic

    Undocumented rules users relied on

  • Invisible UI behaviors

    Rules in code that were never surfaced

Three Architectures. Two Rejections. One Shipped.

Each rejection narrowed the constraint space until the right solution emerged.

V1Rejected

Independent Product

Standalone RC environment — dedicated scheduling, explorer, and admin

Rationale

Matched existing platform patterns (Designer, Data Flows) and industry standards.

Constraint

Leadership mandated all workflows centralized in the Hub.

Pivot: Leadership mandated Hub integration

I designed V1 as a standalone product matching existing platform patterns — dedicated scheduling, explorer, and admin in one place.

Rejected: "Leadership wants all workflows centralized in the hub." Fair constraint. I moved on.

RC Independent V1 - Home
Validation

2025 Update: V1 Is Being Built

Customers specifically requested an independent RC environment. Leadership approved. My "rejected" V1 is now in active development — design instincts validated by customer data.

V2Rejected

Hub Plugin

RC as a plugin with integrated navigation and consolidated subsystems

Rationale

Brought RC into the Hub to meet leadership requirements.

Constraint

Engineering estimated 6+ months — too much effort for the timeline.

Pivot: Engineering constraints forced simplification

I built a hub-friendly plugin with integrated navigation and consolidated subsystems. This was my favorite version.

Rejected: "Too much engineering effort this year." Different constraint — resourcing, not strategy. Two rejections. Time to reframe from scratch.

RC Hub Integration V2.1 - Home
V3Shipped

Platform-Native

Modal-based workflows from the + menu

Rationale

Designed WITH platform patterns (+ menu, modals) — minimal engineering, maximum impact.

Reframed: "How does the platform WANT workflows to behave?" Every major workflow starts in the + menu. That's platform architecture, not just UI.

Aha moment: If RC is a creation workflow, why not initiate from + menu? Modals worked within legacy FOCUS code without a rewrite. Constraint became advantage.

Shipped Workflows

Initiating ReportCaster from + menu

Schedule Dialog: Initiating ReportCaster from + menu

Looking Forward

Designed for Platform-Wide Reuse

Decoupling the scheduler from any specific location means scheduling can surface from anywhere — Designer, Reporting Server, IQ Plugin, or any future product.

Schedule from WebFOCUS Designer
Schedule from Reporting Server
Schedule Insights from IQ Plugin
Any future platform surface

The Final System: Modal-Based Workflows

Schedule Dialog - Properties

Schedule Dialog — Core scheduling configuration

The Question That Changed Everything

After two rejections, I stopped asking 'Where should RC live?' and started asking something different.

Old question

"Where should ReportCaster live?"

reframe
New question

"How does the platform want workflows to behave?"

observe the pattern
+
The + Menu
Platform architecture, not just UI
Every major workflow starts here:
Create Visualization+ menu → action
Fetch Data+ menu → action
Explore Data+ menu → action
aha moment

If ReportCaster is fundamentally a creation workflow, why isn't it initiated from the + menu?

+
Create Schedule→ modal
+
Create Distribution List→ modal
+
Create Access List→ modal
Why it won
UX
Design wins

Modals from + menu match every other creation workflow in the platform

ENG
Engineering wins

Modal approach works within existing legacy code — no backend rewrite

"When both UX and engineering won, leadership was absolutely thrilled and said yes."

Act IV

What I Built: From Dialog to Ecosystem

Schedule Creation: 5+ Clicks vs 2 Clicks

The old path required 5+ clicks and a context-switching new tab. The new modal is accessible in 2 clicks directly from the Hub.

Fragmented
5+ clicks to dialog
1

Go into hub

+1
2

Navigate to workspaces

+1
3

Click plus content button

+1
4

Drill down in context menu

+1
5

Select create schedule

+1

Scheduler opens in new tab

Result: Context switching fatigue & high cognitive load

Unified
2 clicks total
1Action
2 clicks

+ Menu Create Schedule

2Context

Configure (task, distribution, recurrence) — happens in same context

Zero context switching required

Result: Streamlined flow & retained focus

60%Faster Entry
0New Tabs

One Detail I'm Proud Of

The best UX is often the simplest insight.

Legacy recurrence settings
Freq: WEEKLY
Interval: 1
BYDAY: MO,TU,WE,TH,FR
Time: 18:00:00

Users had to mentally decode what their schedule actually did.

The moment

I was configuring a recurrence pattern and tried to read the schedule out loud...

why not just show that?
Natural language summary

"Runs Monday to Friday at 6:00 PM, recurring every week."

Users read their schedule like a sentence, not a settings panel.

The response
PM

Product management gave instant approval.

ENG

Lead engineer said "YEAH" — and from that moment, became her biggest cheerleader on the RC team.

Legacy RC Workflow

Password Protected

Click to unlock

New Unified Workflow
Before
  • Five disconnected subsystems
  • 4 clicks to create schedule/lists
  • 2 clicks to access Explorer
  • Hidden functionality in legacy menus
After
  • Unified modal-based workflow
  • 2 clicks to create schedule/lists
  • 1 click to access Explorer
  • All functionality accessible from Hub

Side-by-Side Comparison

legacy_report.exe
modern_dashboard.tsx
After
Before
Legacy
Redesign

Design System Components

Shared design system used across all three case studies. A unified language for coherence.

Color Palette
Color Palette
Typography
Buttons
Content Guidelines
Samples

Artifact 01 of 24

Act V

I Onboarded 20 People. Then I Let Go.

Onboarded a ~20-person team who had never seen RC. Managed three projects simultaneously. Remained the knowledge hub for 6 months after exit.

Direction approved. Next challenge: onboarding ~20 people who had never seen RC end-to-end.
Dozens of demos. Tribal knowledge translated to UX rationale. Single source of truth — docs, recordings, annotated files — organized by subsystem.
Borrowed one designer at month 9. A second at month 13. By then, schedules, distribution lists, and access lists were done. Architecture was set.
Remained point of contact 6 months after exit.

Team Onboarding

I created a comprehensive onboarding guide that reduced the ramp-up time for new designers from 3 weeks to 3 days.

Cross-Functional Reach
// ENGINEERING
Lead Architect
Lead Engineer
Engineering Squad
// PRODUCT_STRATEGY
New PM
Leadership
SMEs
// QUALITY_&_SUPPORT
QA Team
Documentation
Support
// PROCESS_FLOW

Onboarding Activities

1
Discovery
  • Dozens of demos (old vs new)
  • Legacy quirks walkthroughs
  • Failure logic explanations
2
Alignment
  • IA & structural decisions
  • Interactive prototypes
  • Workflow documentation
3
Execution
  • Mediate engineer conflicts
  • Edge case documentation
  • Team handoff
onboarding_result.log
> TRANSFORMATION_RESULT
>

Engineers who initially intimidated me became collaborators I respected — and who respected me.The documentation work gave me context to contribute meaningfully in cross-functional discussions.

Onboarded 2 Designers. Stayed the Knowledge Hub.

No PM for the first phase. I filled the gaps.

Alignment

Workflow diagrams as shared language · Phased modernization to reduce risk · Early IA to design leadership

Unblocking

Translated legacy into UX decisions · Managed trade-offs with engineering · Lo-fi prototypes for validation

Handoff

Onboarded 2 designers mid-project · Documentation, flows, and rationale · Remained knowledge hub after transition

"She impressed everyone with how quickly she grasped all aspects of a highly intricate system." — Yingchun Chen, Principal System Software Engineer

Act VI

Asked For a Makeover. Delivered a New Product.

Asked for: a UI makeover. Delivered: a brand-new integrated ReportCaster. Customers retained. Satisfaction validated.

Asked for: a UI makeover. Delivered: a brand-new integrated system.
Customers retained. Shipped April 2024.

From Visual Refresh to System Architecture

14 Months

End-to-end journey from initial visual refresh concepts to a fully implemented system architecture.

Live

Shipped April 2024. Available to all enterprise customers in the production environment.

20M+

Schedules processed weekly. The redesign maintained 100% reliability at massive enterprise scale.

System Spec

Replaced 50 years of tribal knowledge with a documented ecosystem. Architecture enabled extensibility.

System at Scale

0of end users
0of enterprise customers
0schedules / week
Powering 20M+ Schedules Weekly

Shipped as part of WebFOCUS 9.3 — actively impacting millions of users daily. Mission-critical system that couldn't afford to break.

Voice of the Team

She impressed everyone with how quickly she grasped all aspects of a highly intricate system and translated that understanding into a clear, modern, and user-centered design.

Yingchun ChenPrincipal System Software Engineer

Anuja brings energy and determination to tackling complex design challenges. She approaches her work with a fearless attitude and is never afraid to explore new ideas.

Dave PfeifferDirector of Design

Honest Reflection

What I'd Push Harder For

Embedded Explorer View: Embedding the RC Explorer view directly into Hub workspaces instead of a separate filtered view. This would have expanded the pattern to Designer, Reporting Server—everything. That's my biggest regret.

Where I'd Take It Next

Product-Wide Integration: Integrate ReportCaster product-wide—schedule from Designer, Reporting Server, IQ Plugin. Imagine generating an insight and immediately scheduling it. That's the vision.

Interested in working together?