01
BUILT · AWAITING RELEASE

Nobody could
use our ML engine.

A powerful ML engine. Low adoption. Twelve to fifteen clicks to train one model — data-flow canvases, cascading menus, a hidden play button. Business users couldn't touch it. I owned the redesign end to end. The explainability popup shipped in 9.2; the full workflow revamp is built and test-complete, awaiting release.

Senior Product Designer — end-to-endData Science & ML, WebFOCUSCloud Software Group · Jan 2023 – Nov 2025MIT-certified — Product Design for AI & ML

The liability I inherited.

12–15clicks to train one model
Lowadoption among business users
PowerfulML engine, largely unused
Legacy Train Model screen ending in a red no-result error
Twelve to fifteen clicks — ending in a red exclamation, “No result generated.”

The first thing I saw was that red exclamation — “No results generated. Click play to train the model.” The first thing I said: remove that.

The legacy workflow, on the public record.

ibi's own public demo of the old ML Functions UI — the twelve-to-fifteen-click workflow I set out to replace. This is the before, not my redesign.

A tiny request. I turned it into the ML Functions revamp.

Our Principal Data Scientist showed me a screenshot from another tool: “I want this in WebFOCUS.” A simple explainability popup. I could have designed the one component and handed it back.

Instead I dug into why the popup was needed — how model predictions work, what feature importances actually mean. He was glad I took the effort to understand, and that curiosity earned me the trust that grew into the ML Functions / DSML workflow revamp.

The side project that started it all.

Explainability of Attrition_Flag
XWIN Impact Plot
How much each feature shifts the model outcome — the impact of replacing its value with the mean over the training data.
Total Transactions
Total Count Change
Total Revolving Bal
Total Transaction Amt
Education
Marital Status
Credit Limit
Age
+1 raises churn 0 −1 lowers
Experiment with the values
Change a top feature and see how the model outcome changes.
Total Revolving Balance
Actual value 1,256 · Realistic range 100–5,000 · Mean 2,500
Modified value1,256
Recompute model outcome
0.38
Modified outcome
if you change the value
0.38
Actual outcome
the model's prediction

The side project that started it all — double-click a prediction to open Explainability: the XWIN impact plot shows why, and you can change a feature's value and recompute to watch the outcome move. It shipped in 9.2, and earned me the trust that grew into the ML Functions / DSML workflow revamp.

The legacy explainability screen, before the redesign
The legacy explainability — before the redesign.
Native explainability popup shipped in WebFOCUS 9.2
Native explainability — where it all started (shipped 9.2).
The other designers just gave designs. But you sat with us, talked to us, and actually understood. That's why I trust you.Marcus Horbach · Principal Data Scientist

The world it lived in.

Binary Classification · right-clicked
Configure
Rename
Remove from flow
Model options
Data options
Number of trees…
Max depth…
Min samples…
↻ repeat ×6 — once per algorithm

The old way: to touch one model's hyperparameters you right-clicked the pill and dug through three nested menus — then did it again for each of 4–6 algorithms. Getting to a trained model at all took 12–15 clicks across a data-flow canvas, a spawned browser tab, and a fake “no results” screen that just meant “click Play.”

The world it lived in — everything interconnected.

Legacy Run Model landing page with an always-on data-flow canvas
Run Models: a data-flow canvas on top, a side panel — everything wired to everything.

“Are you trying
to make this dumb?”

The principal data scientist's question. No. I wasn't removing sophistication — I was making it legible. One path for the novice and the expert. Not two modes.

I couldn't fake the domain. So I learned it.

To bridge the knowledge gap, I ran weekly deep-dives with the data scientist and took an MIT certification in Product Design for AI & ML as an accelerator — I paid for it myself. Together they let me have smarter, faster, highly technical conversations with engineering.

I validated my understanding constantly. I was afraid of making something look right that technically meant the wrong thing — a fake win.

The answer wasn't two experiences — a “simple” mode and an “advanced” one. It was one path with contextual education at every step: definitions, tooltips, explanations. Not a dumbed-down UI — an educated one. The sophistication was there; it just waited for you to ask for it.

One path. Dual purpose.

Business analyst

Zero ML background. Needs to get through it and trust the result.

Data scientist

Wants depth and control — and not to feel spoon-fed.

We didn't have two experiences. We had one path — clear enough for someone who'd never touched a model, but not so easy the data scientist felt spoon-fed. The sophistication was there; it just waited for you to ask.

Mapping the full workflow.

Before a single screen: every model type reconciled into one architecture, and the whole flow diagrammed end to end.

Flowchart mapping the entire ML workflow
Mapping the full workflow.
Architecture map of every ML model type
Every model type, one architecture.
ML workflow paths mapped by user persona
Workflow paths, mapped by persona.

It started as wireframes.

Structure worked out at low fidelity — before a single pixel of the real UI.

Early ML workflow wireframe
Early wireframe
Early ML workflow wireframe
Early wireframe
We had four chart colors that meant nothing. I told him: your goal is F1 scores — colors just make it harder. You want people to compare and pick the best one. I won that, because I'd finally understood what the chart showed.

The result — models you can actually compare.

Predict Data customer_churn_2024
Train ModelRun Model
Select from a list of supervised and unsupervised problem types to train a new model on historical data.
Train new model
Models trained on the dataset
Binary Classification
Extreme Gradient Boosting
Target: Attrition
0.6778
Average Precision
Predicting customer churn
Regression
Polynomials
Target: Sales
0.7479
RSME Score
Predicting the downward trend
Anomaly Detection
Isolation Forest
5.8%
Outliers
Anomalies in customer data

The Predict Data landing that didn't exist before — pick a dataset, switch between Train and Run, and read models as scannable tiles (score, algorithm, one-click run) instead of right-clicking a filename to open a properties panel. Learn one, you've learned all three.

“Why don't we have
a landing page here?”

There was no entry point to the system at all. I built the Predict Data hub from scratch — and put it where every WebFOCUS user already lived: the right-click menu.

The landing page that didn't exist — so I built it.

Predict Data customer_churn_2024
Train ModelRun Model
Select from a list of supervised and unsupervised problem types to train a new model on historical data.
Train new model
Models trained on the dataset
Binary Classification
Extreme Gradient Boosting
Target: Attrition
0.6778
Average Precision
Predicting customer churn
Regression
Polynomials
Target: Sales
0.7479
RSME Score
Predicting the downward trend
Anomaly Detection
Isolation Forest
5.8%
Outliers
Anomalies in customer data

The Predict Data landing that didn't exist before — pick a dataset, switch between Train and Run, and read models as scannable tiles (score, algorithm, one-click run) instead of right-clicking a filename to open a properties panel. Learn one, you've learned all three.

An entry point, a split, and a pattern that spread.

No Predict Data landing page existed — so I designed one from scratch. I first tried combining Train and Run on one display; engineering pushed back (too complex to maintain), so we split them into two tabs — a negotiation that balanced UX ambition with technical reality. Dense model tables made comparison impossible for non-experts, so I replaced them with scannable model cards.

The biggest adoption move was the smallest: in WebFOCUS, right-clicking is religion — everything is right-clickable. Putting “Predict Data” in the right-click menu capitalized on the most common behavior in the whole product. It worked so well the pattern was later extended to “Generate Insights” and “Ask a Question.”

And you reach it the way WebFOCUS users already work — right-click.

customer_churn_2024 · master file
Open
Rename
Copy path
Predict Data AI
Generate Insights
Ask a Question
Delete

Right-click any dataset → Predict Data. Right-click is religion in WebFOCUS, so the entry point rode the most common gesture in the product — 6 clicks down to 2. The same move later carried Generate Insights and Ask a Question.

The reach, before and after.

Before
  1. 1Click + → New
  2. 2Open Data Flow
  3. 3A new browser tab spawns (Reporting Server)
  4. 4Drag the dataset onto the canvas
  5. 5Switch to the Train Models tab
  6. 6Drag "Binary Classification" in
  7. 7Fake "No results generated" → hunt for Play in the top nav
  8. 8Right-click the pill → 3 nested menus for hyperparameters×6 · per algorithm
12–15 clicks to train one model
After
customer_churn_2024
Open
Rename
Predict Data AI
Generate Insights
Ask a Question
2 clicks · right-click → Predict Data

Reaching a trained model the old way was a gauntlet — a data-flow canvas, a spawned browser tab, a fake “no results” screen, cascading menus once per algorithm — 12–15 clicks in all. The new entry rides the gesture every WebFOCUS user already knew: right-click the dataset → Predict Data. Two clicks.

The hardest screen
in the revamp.

The confusion matrix. Two charts, a threshold slider, a 4×3 table. A wall of noise at first. Dozens of sessions with the data scientist — paper, pen, live sketching — until it was undeniable.

Four steps in — the guided wizard that leads to it.

Train Model
1Select Problem Type2Specify Problem3Select Predictors4Configure Hyperparameters
Select a problem type
Supervised and unsupervised — each card explains what it's for.
Binary ClassificationBinary classification models predict the value of a binary variable.
Anomaly DetectionAnomaly Detection identifies rows in the data set that differ from the majority of the rows.
Multi-class ClassificationMulti-class classification models predict the value of a categorical variable.
RegressionRegression models predict the value of a continuous numeric variable.
ClusteringClustering identifies groups of rows in the data set that differ from the other groups of rows.
Time-series ForecastingForecasting identifies patterns in the data that allow for making predictions of future data.

Four steps, no branching — Problem type → Target → Predictors → Hyperparameters. Every step carries plain-language help, and defaults are pre-set, so a business user goes from dataset to trained model without a data-science degree. The structure came straight from mapping the domain with the data scientist.

The redesigned workflow, in motion.

A blurred frame from the redesigned ML train-model walkthrough — awaiting release
Built · awaiting release
A full walkthrough of the revamped train-model flow — model comparison across five algorithms, the guided wizard, the confusion matrix. It's built and test-complete; it unlocks when the revamp ships.

Four steps in. One screen that finally made it obvious.

The four-step spine practically designed itself once I understood the domain: Problem Type → Target → Predictors → Hyperparameters. Four things you need to train a model — no branching, no hidden paths.

I tried full-screen views, side-step layouts, two columns. The popup wizard won — WebFOCUS engineers lived in modals, it left room for helper text and definitions, it let each step stand cleanly, and it was faster to build. The best design move is the one that solves the problem without asking the legacy product to become something it isn't.

The confusion matrix was the hard part: a wall of noise when I first saw it. After dozens of sessions I found the move — I aligned the threshold slider exactly 90° parallel, directly under the chart point that moves. Drag the slider, the dot on the line chart moves with it. No way to miss the relationship. Once I understood every technical interaction, I could finally explain it visually.

The real screens — full fidelity.

Beyond the recreations: the shipping product itself, still unreleased.

Compare trained models side-by-side
Unreleased · full-res on request
Compare models, side-by-side.
ROC and precision curves for binary classification
Unreleased · full-res on request
ROC & precision curves.

Comparing models — from a wall of numbers to cards.

Before
Logistic Regression
K-nearest neighbors
Random Forest
Extreme Gradient Boosting
Neural Networks
Just a list of model names — to see how any of them did, you opened it, one at a time.
After
Binary Classification
Extreme Gradient Boosting
Top score
0.9924
AUC Score
Best fit for churn
Binary Classification
Random Forest
0.9812
AUC Score
Strong runner-up
Binary Classification
Logistic Regression
0.9196
AUC Score
Baseline model

The old results were just a list of model names — no scores in sight, so to compare them you opened each one on its own. I replaced it with scannable model cards: problem type, algorithm, and one score you actually read. Compare at a glance, pick the best, hit run.

The confusion matrix — the slider at 90°.

“The best screen in the entire UX revamp,” the principal data scientist said — out loud, in front of everyone.

Train New Model — Binary ClassificationRandom Forest · AUC 0.981
Explanation
0.00 · Favors recallFavors precision · 1.00
Threshold 0.18
Classification-metrics per threshold
AccuracyPrecisionRecallF1
Confusion Matrix
Current threshold: 0.18
n = 2,000Predicted: NPredicted: P
Actual: NTN = 1,811FP = 35
Actual: PFN = 58TP = 96
F1-optimal threshold: 0.18
n = 2,000Predicted: NPredicted: P
Actual: NTN = 1,811FP = 35
Actual: PFN = 58TP = 96
Target: Attrition Flag · Positive = Attrited Customer · Negative = Existing · Test set 2,000 rows
Optimize Model popup with inline warnings
Unreleased · full-res on request
Optimize Model — with inline warnings.
The full ML UI structure
Unreleased · full-res on request
The full ML UI structure.

The principles it ran on.

Explainability first

If I can explain it visually, anyone can understand it — so I didn't design a screen until I understood every interaction on it.

One path, dual purpose

Not two experiences. One flow, legible to a novice and useful to a data scientist at the same time.

Contextual education

Definitions and tooltips at every step. An educated UI, not a dumbed-down one.

Evidence over instinct

“I designed this because I felt like it” means nothing. Every decision was backed by research, existing behavior, or documentation.

From 12–15 clicks
to as few as 6.

Reaching training alone dropped from six clicks to two — right-click a dataset → Predict Data. A full trained model went from 12–15 clicks to as few as six, depending on how much you configure. The always-on data-flow canvas became a guided four-step wizard, and the fake “no results” screen disappeared entirely.

The step-4 breakthrough — every algorithm, one screen.

Before
Configure: Logistic Regression×
Configure: XGBoost×
Configure: Random Forest×
A separate popup for every algorithm — opened and closed one at a time.
After
Train Model · Step 4 — Configure Hyperparameters
Logistic RegressionXGBoostRandom Forest
L2 regularization (grid)0.1, 1.0, 10.0
Feature importancesYes
Learning curveYes
Cross-validation folds4
Apply and Train Models →

The old way meant a separate popup for every algorithm, one at a time. My redesign puts a horizontal tab per algorithm into step 4 of the wizard — tune them all in one screen, then one click to Apply and Train Models.

I defended it with data,
not opinions.

The data scientist wanted the old Data Flow canvas back in the UI. I didn't argue from taste. I brought user research and session recordings, and we kept the new direction.

The whole platform, in my head — and the evidence to defend it.

Nobody handed me the map. I built a mental model of WebFOCUS as one end-to-end ecosystem — get data, prepare it, train ML, visualize, distribute — by touching every corner of the product.

I was the only designer on ML — and on IQ, and on the Reporting Server — running all of them alongside ReportCaster. After the layoffs, it was several systems at once.

So when the data scientist tried to bring the Data Flow canvas back into the UI, I didn't argue from taste. In a room with two engineering directors and the principal data scientist, I used user research and session recordings to show why reverting would break the workflow. We kept the new direction.

In testing, they just
blazed through it.

In usability testing, one instruction — “It starts from the dataset” — was enough: four SMEs right-clicked, hit Predict Data, and blazed through the four-step wizard with no help. My design director, zero ML background, trained a model. I taught him machine learning through the UI. (This is validation of the built redesign, ahead of release — not production adoption.)

“The best screen in the entire UX revamp.”

the principal data scientist — out loud, in front of everyone
Train New Model — Binary ClassificationRandom Forest · AUC 0.981
Explanation
0.00 · Favors recallFavors precision · 1.00
Threshold 0.18
Classification-metrics per threshold
AccuracyPrecisionRecallF1
Confusion Matrix
Current threshold: 0.18
n = 2,000Predicted: NPredicted: P
Actual: NTN = 1,811FP = 35
Actual: PFN = 58TP = 96
F1-optimal threshold: 0.18
n = 2,000Predicted: NPredicted: P
Actual: NTN = 1,811FP = 35
Actual: PFN = 58TP = 96
Target: Attrition Flag · Positive = Attrited Customer · Negative = Existing · Test set 2,000 rows

The confusion matrix — the screen he was talking about.

4/4SMEs finished with zero help — in usability testing
3AI features adopted my right-click entry pattern
1design director learned ML from the UI

Validated by the people who'd know.

“The clarity of her designs, in spite of the underlying data science and machine learning complexity, is impressive and has greatly contributed to the success of our products.”

Marcus Horbach · Principal Data Scientist

“Her design was clean, intuitive, and clearly addressed the needs of users across different skill levels.”

Anita George · Principal Account Technology Strategist
What I'd push harder forLive sessions from week one

Sketching together inside my design tool on video calls — paper, pen, live — was the breakthrough workflow. Starting it at week one instead of halfway through would have saved sprint cycles.

What I'd do nextSimplify even further

Gray out incompatible models before users try them, simplify the results screen further, and let users enter run-model mode straight from training — no context switching.

What a mind-bending
project.

ML taught me product partnership — my PM and I co-owned it. Somewhere in there, I stopped decorating a feature. I was shaping the whole product experience.