Schema Builder (diff + approval)
- Governed changes: Blast radius checks, policy lint, two-person approval.
- Safe rollback: Versioned model with “before/after” receipts.
CASE STUDY • ENTERPRISE DATA • PUBLISHING PLATFORM
I led the UX design of a multi-module platform that replaces a legacy vendor tool with a cohesive, explainable workflow across Publishing, Production, and Pricing optimized for safety, speed, and scale.
We combined title, pricing, production, and feeds into one model with guardrails and receipts.
Large publishers behave like distributed systems: formats, territories, rights, partners, and price windows evolve on different clocks. The old stack spread this work across vendors and tools; schema edits meant tickets; downstream impact was discovered late—often by partners.
We redesigned it as a single platform where policy is visible, changes are previewable, and history writes itself. This required three big bets: a UI-native metadata builder (no vendor queue), a Metadata Insights Assistant to surface explainable fixes, and an AI Search that turns plain language into precise, reusable filters.
Click to zoom
Work spanned apps, rules were implicit, and impact was invisible.
Click to zoom
Two flagship capabilities, then supporting pillars.
Click to zoom
Click to zoom
The system can propose safe changes without acting like a black box. Suggestions rank by confidence and cite their basis. Users preview a diff, apply, and get a receipt. If it’s wrong, undo restores state and history remains intact.
Click to zoom
Click to zoom
What this proves: Anyone can ask in plain English; the system converts intent into typed chips you can edit. Explanations show how the query was interpreted. Results stream into a virtualized table; save the view or export when ready.
What we chose, what we gave up, and why it paid off.
In-product schema editor with diff, lint, approval, rollback.
We own governance and tooling previously mediated by the vendor.
Changes ship at product speed; policy lives where work happens; history is automatic.
Deterministic rules + interpretable signals; ranked suggestions with citations; previewable diff.
More upfront modeling and UX for “why this change.”
Higher trust, higher acceptance, fewer escalations.
Parse natural language to typed filters with “why” popovers and safe fallbacks.
Maintain a parsing layer, taxonomy, and partial-parse UX.
Novices form complex queries; experts get deterministic, shareable views.
Unify IDs, history, and policy surfaces for titles, rights, prices, partners.
Higher migration effort and naming discipline.
Less tool-hopping; fewer ambiguous states; simpler integrations.
Warnings with “fix now” for non-critical issues; hard blocks for compliance risks.
More coaching UI to prevent alert fatigue.
Momentum without surprises; learning in context.
Every change writes who/when/why and before/after.
Event hygiene and small storage overhead.
Audits and handoffs run on evidence; disputes resolve quickly.
Validation chips and publish summary before commit.
Extra UI to visualize impact up front.
Scale safely; cut downstream damage and rework.
Fine-grained controls for sensitive attributes (e.g., territorial pricing).
More admin surface and testing matrix.
Independent team velocity with enforced boundaries.
Bucket errors by cause at the source record; retry same payload.
Instrumentation and error taxonomy investment.
Faster recovery; fewer blind spots across systems.
Stream rows and virtualize rendering; paginate only at scale thresholds.
Threshold tuning and clear “still loading” states.
Large catalogs remain responsive; search feels instant.
One choreography across modules to reduce cognitive load.
UX rigor to keep patterns consistent.
Faster onboarding; predictable operations.
Short, contextual steps with inline rules and readiness indicators.
More navigation states to design and test.
Higher completion rates; fewer user errors.

Guided setup for titles and contributors; required fields and policy checks inline; readiness status updates as you work.

Milestones, assets, and dates on the same object model; late items surface as risks with suggested actions.

Plan windows, simulate partner/territory effects, preview diffs, publish with a receipt.

Inbound/outbound logs tied to the source record; errors bucketed by cause; guided retry of the same payload.
Weeks → same-day schema changes; onboarding 2 weeks → 2.5 days; feed failures −43%.
“I can see exactly what breaks and why, and the fix is right there.” — Editorial Lead
“Schema changes are a diff and an approval, not a sprint derail.” — Eng Manager
Titles, Contributors, Rights, Territories, Prices, Partners—one vocabulary across modules.
120+ validations; blocking only where unsafe; everything else warns with explainers.
Propose → Preview → Apply → Undo with rule citations; immutable receipts.
Chat → chips → indexed filters; virtualized grid; stream results and export.
Schema Builder replaces vendor queues; approvals and rollback lanes.
Defined KPIs, instrumentation, ops dashboards; reviews moved from opinion to evidence.
Designing for multiple roles on one model isn’t about hiding complexity; it’s about making it inspectable. By standardizing Preview → Apply → Undo and anchoring every action with a diff and a receipt, the system turned change from a risk into a routine. That’s what unlocked speed.
Note: All product names, data, and details shown are illustrative and created for case study purposes only. Nothing presented here violates any confidentiality agreement.
We’ll label uncertainty, add undo, and ship a slice that puts users in control.
© All rights reserved.