Enterprise AI · Internal ML platform

MMP Lifecycle Manager

An internal platform for swapping a slow, costly outside AI model for a small in-house one. I designed it end to end so any engineer, not just a specialist, can translate the data, score candidates and train the replacement.

Role
Product designer, end to end
Users
ML engineers and their managers
Made
8 screens, a status system and a design system
Platform
Web, as a Figma Make prototype
The problem

Every request made two paid calls to an outside model, and replacing it took four steps only a specialist could run.

What I did

I ordered eight screens like the work, blocked runs until they can succeed, and gave the manager one screen to approve on.

The result

In the prototype’s projection: 98% cheaper, 23× faster, 24× the capacity. Projections, not measured results.

The replacement in under a minute: why it took a specialist, then the four steps any engineer can run. The figures are the prototype’s projections, not measured results. Film and soundtrack made in code from the product screens on this page, with an AI voice-over.

The problem

Getting there takes four dependent steps: translate the data, score candidates with a judge model, compare old and new, train the small model. The vocabulary is new and a manager must approve the switch, so it took a specialist.

Day one
Asks
“Where do I start?”
Gets
Three numbered steps, each one a link.
Day one hundred
Asks
“What’s done? What’s stuck?”
Gets
A badge on every job, a status bar and shortcuts.
The manager
Asks
“Why should I say yes?”
Gets
One screen: how it works first, then how much.

My part

I designed it end to end, from the information architecture to the status system, as a working Figma Make prototype. The models behind it aren’t mine.

How a model moves through it

Four stages in the order of the work. The sidebar follows it, so the product teaches the process.

Key decisions

The idea behind every decisionMake the wrong move impossible, not just discouraged, so any engineer can run what used to be a specialist’s job.

01 · Dataset Overview

The first screen says what to do next

A new engineer meets eight screens and unfamiliar terms. The first screen shows three numbered steps, each linking to its screen, with every dataset’s status below.

Instead of
A product tour to click through
Chose
Three numbered steps, each one a link
02 · Dataset Repository

Every job’s status in one look

Translation jobs run for hours and get checked all day. Every row shows its state as a badge with a word in it, readable at a glance and not by colour alone.

Instead of
Opening each job to see its state
Chose
A badge with a word on every row
03 · Scoring Arena

Start stays off until the run can work

The likeliest mistake is a run with no judge model, waiting for results that never come. So Start stays off while an amber banner names what’s missing.

Instead of
An error pop-up after the mistake
Chose
Start stays off until the run can work
04 · Leaderboard

A winner per skill, not one overall

A model can lead on text and trail on speech, so results rank per skill, with a trend on every row.

Instead of
One overall winner
Chose
A ranking per skill, a trend on every row
05 · DSv2 Comparison

How it works first, then speed and cost

The manager approves the switch here. Current setup on the left, new on the right, each explained before its speed, cost and capacity, with the change beside every figure.

Instead of
A table of numbers to work out
Chose
Old next to new, how it works before how much
06 · Optimization Lab

A long training run that never looks frozen

Training is the longest step. Start stays off until an embedding source is chosen, and the console names each stage, so a long job never looks stuck.

Instead of
A bare progress bar
Chose
Each training stage named as it runs
07 · Model Artifacts and Settings

The last two screens reuse what you know

No new patterns here. Artifacts keeps the old model downloadable, and automatic optimisation stays off, so a person makes the final switch.

Instead of
Switching models automatically
Chose
Same patterns, and a person makes the switch

Straight from Figma Make

One system, eight screens

Every screen uses the same five pieces: learn one and you can read all eight.

Why it’s cheaper

The old setup calls an outside model twice per request; the new one answers once, in-house. Speeds are the prototype’s projections.

Results

The prototype covers all eight screens in their real states. Its comparison projects cost from $4.50 to $0.08 per 1,000 requests, response from 2,840 ms to 124 ms and capacity from 350 to 8,500 a minute. Projections, not measured results.

How success would be measured

  • First runTime for a new engineer to complete the lifecycle without help.
  • Setup failuresRuns that fail because of missing setup. The guard should keep this at zero.
  • Decision timeTime from a finished comparison to the manager’s approval.

What I’d change

  1. Dataset Overview My colour rule broke on the first screen

    “Translated” is blue on the Overview and green in the Repository. The one screen everyone sees first breaks the rule the rest depend on.

    Fix

    One colour per state, set inside the badge component so a screen can’t override it.

  2. DSv2 Comparison The old model shouldn’t be red

    DSv1 still runs production today. Red says “broken”, and that’s unfair to the system the manager is being asked to replace.

    Fix

    Grey for today, green for new. Let the numbers make the case.

  3. Scoring Arena The button names the wrong step

    It says “Begin Optimization” on the scoring screen. Optimisation is the Lab’s job, two steps later.

    Fix

    “Start scoring”, so each button says what it starts.

Not mine: the models behind the product. The company isn’t named.

About the screens: rebuilt in HTML from the Figma Make prototype; names and numbers are examples. Speed, cost and capacity come from the product’s own screen, unaudited.