Skip to content
Back
2024 – Present·Labelbox

Evals

Design Engineer · Product, frontend architecture & systems

I led a customer POC from raw evaluation results to a multi-tenant investigation product. It became a core Labelbox service—and produced a reusable system that now helps teams and agents build faster.

Team
Design Engineer lead + research engineer
Scope
Research · Product · Frontend · Systems
Outcome
Customer POC → core service

At a glance

Trajectory

One customer POC

Compare one unreleased model with frontier systems.

Core service

Used by Labelbox's top frontier AI customers.

The product also became the proving ground for a reusable frontend system.

Where it started

The first version proved the idea—and exposed the real problem.

Our early tables and histograms answered “what moved?” Customers still could not find where a regression lived, which failures repeated, or which example explained it. Meanwhile, FDEs repeatedly simplified raw data and delivered each run by hand.

What the POC exposed

Customer view

Shallow detail

Processed summaries showed the score, not the root cause.

FDE workflow

Manual repeat

Every run meant simplifying, checking, and delivering data again.

Frontend path

~1GB ceiling

The detailed JSON customers asked for broke the original load path.

The next version could not be another chart. It had to change the workflow.

The mandate

I had to preserve raw detail without making the product unusable.

The product needed granular results, responsive exploration, secure customer boundaries, and a human checkpoint before publishing. I led the complete application end to end while partnering with a research engineer on processing the raw evaluation data.

My mandate

Lead the product end to end.

Customer workflow, UX, frontend architecture, tenancy, authorization, delivery, and the system that followed.

Detail

Raw task-level results

Performance

Responsive exploration

Boundaries

Multi-tenancy + RBAC

Trust

Human verification

A research engineer partnered with me on raw-data processing.

The turning point

The 1GB JSON forced us to redesign the delivery path.

Raw runs land in GCS. A scheduled or manual scan discovers them; Cloud Run, caching, and large-data processing keep the application responsive. FDEs verify core metrics, then assign runs through RBAC-protected customer projects. Once model results exist, Evals can surface them in roughly an hour—even when the model run itself took days.

How the work evolved

01

Prove

Processed JSON made the comparison visible.

02

Break

~1GB of detail exposed the original load ceiling.

03

Rebuild

Raw discovery, verification, and assignment replaced repetition.

04

Scale

The POC became a core service and a reusable system.

Admin · Ingestion & assignment

Admin

Unassigned runs

3

Assigned

3

Raw volume

4.0 GB

Post-run delivery

~1 hour

GCS source of truth

Admin drops raw runs — no JSON preprocess

gs://evals-raw

1,284 objects · us-central1

wrote 2m ago

gs://evals-derived

402 objects · us-central1

wrote 18m ago

Cron / manual scan

Nightly at 02:00 · or trigger now to discover new prefixes under evals-raw.

Last automated run · Tonight 02:00 UTC

Discovered runs

Verify core metrics, then assign to a customer project

RunGCS pathDiscoveredSizeTasksStatusCustomerCategory
terminal-suite-2026-03-12gs://evals-raw/northstar/2026-03-12/run_8841/Tonight · 02:14842 MB120New——
voice-probe-batch-77gs://evals-raw/harbor/2026-03-12/voice_77/Tonight · 02:16318 MB64New——
tool-horizon-longgs://evals-raw/harbor/2026-03-12/tools_long/Tonight · 02:21980 MB180Ready——

2 selected

Designing the investigation

The interface followed the questions researchers asked.

Start broad, isolate the change, group the repeated failures, then inspect the raw example. Gestalt principles shaped the hierarchy; the customer workflow shaped the sequence.

One investigation, not four tools

Compare

Keep identity stable

Regress

Make change dominant

Cluster

Group repeated failures

Inspect

Open the raw example

Comparison had to stay calm while the dimensions multiplied.

Customer conversations showed that the overview still mattered—but only as the start of an investigation. Consistent color and marks preserve identity across views, while hierarchy keeps the initial ranking readable as dimensions change.

Bench · Terminal Suite

Model Eval

Release Date vs Score · Model Evaluation

Plotly · hover points · click legend to show/hide

Loading chart…

Leaderboard · 20 configs · 12 series

#ModelConfigAccuracyCost/TaskTotal CostTTLTTTFTOTPSTokensTasks
1◆F.Alphaxhigh
79.8%
$1.42$17048.2s0.82s62184.2k120
2◆F.Alphahigh
77.1%
$1.18$14241.0s0.71s58162.4k120
3●B.Opusxhigh
76.4%
$1.55$18652.1s0.91s49201.1k120
4●B.Opushigh
74.2%
$1.21$14544.6s0.78s52178.8k120
5◆F.Alphamid
74.0%
$0.92$11034.5s0.60s65138.0k120
6◆F.Betahigh
73.5%
$1.05$12639.2s0.69s60156.0k120
7●B.Sonnethigh
72.9%
$0.88$10636.4s0.64s71142.2k120
8▲C.Prohigh
71.6%
$0.74$8931.2s0.58s66131.0k120
9●B.Opusmid
71.0%
$0.95$11438.0s0.70s55149.0k120
10●B.Sonnetmid
70.1%
$0.61$7328.9s0.52s78118.4k120
11■NW3high
69.8%
$0.52$6227.5s0.49s74105.6k120
12●B.Haikuhigh
68.9%
$0.33$4020.6s0.36s9679.2k120
13▲C.Promid
68.5%
$0.49$5924.1s0.44s8098.0k120
14■NW3mid
67.0%
$0.38$4622.0s0.41s8588.4k120
15▲C.Flashhigh
66.2%
$0.28$3418.4s0.31s11072.0k120
16▲C.Prolow
64.8%
$0.31$3719.2s0.35s9268.0k120
17■NW3Fhigh
64.4%
$0.19$2314.8s0.28s12861.2k120
18⬡Harborstrict
63.2%
$0.41$4925.4s0.47s7091.0k120
19◇F.Litemid
61.8%
$0.14$1712.1s0.22s14048.6k120
20⬡Quarrylow
58.6%
$0.09$119.8s0.18s15538.4k120

Regressions mattered more than another absolute score.

Researchers were looking for what broke between runs. Figure–ground moves deltas and outliers forward; filters and dense tables preserve the context needed to decide where to investigate next.

Bench · Terminal Suite

Model Eval

Metrics Explorer

Select a metric to rank all configurations · surface regressions

1 data notice · synthetic cohort — values are illustrative
Loading chart…

Click to show/hide

Thousands of failures became a path to one example.

Instead of presenting unrelated failed rows, the UI groups recurring modes by proximity. A researcher can choose a cluster, inspect a task, and open the underlying failure, metrics, tokens, and runtime without losing context.

Bench · Terminal Suite

Model Eval

Outcome by config

Errors and outcomes · Plotly

Model errorResource exceededTest failureSuccess
Loading chart…
ModelConfigTask IDCategoryDifficultyResult
◆F.Alphahighadaptive-sampler-04scientific-computingmediumSchema / format miss
◆F.Betahighreport-normalize-11data-wranglingeasySchema / format miss
◆F.Betahighlong-horizon-07tool-usehardResource exceeded
◇F.Litehighconstraint-solve-02reasoninghardReasoning miss
●B.Opushighunit-suite-19codingmediumTest failure
●B.Opushighadaptive-sampler-20scientific-computingmediumSchema / format miss
●B.Sonnethighreport-normalize-21data-wranglingeasySchema / format miss
●B.Sonnethighlong-horizon-23tool-usehardResource exceeded
●B.Haikuhighconstraint-solve-26reasoninghardReasoning miss
▲C.Prohighunit-suite-29codingmediumTest failure
●B.Haikuhighadaptive-sampler-04-bscientific-computinghardSchema / format miss
▲C.Prohighlong-horizon-07-btool-usemediumResource exceeded
▲C.Flashhighconstraint-solve-02-breasoninghardReasoning miss
■NW3highunit-suite-19-bcodingmediumTest failure

14 tasks · click a row to inspect the underlying example

Systemizing the work

The patterns were too valuable to leave inside one product.

Teams were building more prototypes, but each one interpreted the brand differently. I turned the interaction and visualization patterns from Evals into reusable, accessible building blocks for prototypes and production products.

Components/Data table

Data table

Dense evaluation results with filtering, selection, and detail.

Ready to use
SeriesDatasetAccuracyDeltaStatus
Reasoning82.4%−4.8Regression
Tool use79.1%+1.6Passed
Coding76.8%−0.7Review
Long horizon72.5%+2.1Passed
Reasoning69.8%−1.2Review

Selected Frontier Alpha · keyboard focus and row selection included

Agents needed constraints in context—not another document.

Storybook remained the human contract. Skills and rules added an agent-readable layer: they explain which components to use, how to compose them, and where the system’s boundaries are. The same library now supports multiple products, including Labelbox Recursion.

The system evolved

Docs explain

Storybook gives people examples, states, and implementation guidance.

Skills constrain

Rules give agents brand decisions, restrictions, and limitations in context.

The same library now supports multiple prototypes and production products, including Labelbox Recursion.

What changed

We changed both the product and how the company builds.

Evals became a core service used by Labelbox’s top frontier AI customers. Raw ingestion unlocked the granular investigation customers asked for, while the shared library sped up later prototypes and production work—including Recursion—without sacrificing accessibility or brand consistency.

Product outcome

POC → core service

From one frontier AI company to Labelbox's top frontier AI customers, with raw results available in about an hour after a run completes.

Company leverage

One-off → reusable

Components, patterns, skills, and rules now speed later prototypes and production products while preserving the brand.

Stack

ReactTypeScriptPlotlyTailwind CSSStorybookGCP / GCSCloud RunRBACCachingDesign tokensAgent skills & rules

Visuals shown are recreated with synthetic data to protect proprietary customer information and internal evaluation datasets.

Broader Labelbox work