← MERCEDES RESEARCH
Fuzzy — the project mascot, a one-eyed blue felt monster wearing a Mercedes-Benz star cap

FUZZY INPUT

Led UX research and prototyping for an LLM-disambiguated in-cabin intent UI — from fleet telemetry across 21M+ daily transactions, through wizard-of-Oz studies in a cabin seat buck, to a functional Android prototype and a final demo on production head-unit hardware to leadership.

Conner Ward led UX research and prototyping for FuzzyInput, an LLM-disambiguated in-cabin intent UI at Mercedes-Benz, grounding its design in fleet telemetry across 21M+ daily voice transactions.

FuzzyInput treats every spoken utterance as fuzzy by design, resolving it in a three-region widget (what was heard, the smallest sufficient control, and a deferred follow-up). Conner ran the telemetry analysis and competitor audit, built the Figma framework, ran wizard-of-Oz cabin-buck studies with gaze tracking, and shipped a functional Android prototype that ran on production head-unit hardware against live cabin services in a demo to leadership. The work was done at Mercedes-Benz R&D North America's Sunnyvale AI Labs over roughly 14 months in 2024–2025.

Role

UX engineer / researcher — individual contributor with cross-team scope across design, ML, HU platform, and hardware.

Timeframe

~14 months · 2024–2025.

Collaborators

Design (Carlsbad), ML / ASR (Sunnyvale + Sindelfingen), HU component library (Germany + India), hardware (Germany rotator-knob team).

Scope

Telemetry analysis · competitor audit · Figma framework + design review · cabin-buck studies w/ gaze tracking · Android prototype · gRPC bridge into production HU services · executive in-vehicle demo.

What shipped

The R1/R2/R3 fuzzy-input widget framework — running on production HU hardware against live cabin services. The first end-to-end LLM-disambiguated intent surface inside the Mercedes HU contract.

00

Every utterance is fuzzy

Problem. In-cabin voice never reaches the cleanliness assumed by command-driven UI. Supplier ASR mishears under cabin noise, models run on intermittent connectivity, and the HU's component library was built for menu-driven flows, not free-form intent. Existing "AI" surfaces in luxury vehicles fail by either competing with primary task UI or by treating ambiguity as a failure mode.

Approach. Treat every utterance as fuzzy by design. Build a disambiguation surface — three regions, one shared interaction grammar — that a driver can confirm, correct, defer, or swipe past in a single half-glance gesture. Ground the widget vocabulary in fleet telemetry, not designer intuition. Validate in a cabin-buck with wizard-of-Oz ASR before committing engineering. Ship on real hardware with a gRPC bridge into the production HU stack.

01

The Framework

Outcome

Three-region widget — R1 utterance, R2 affordance, R3 deferred action — adopted as the design contract for fuzzy-intent surfaces. Survived translation through 4+ downstream supplier teams.

Every fuzzy utterance lands in the same three-region card, with the same vocabulary regardless of domain. R1 shows what was heard with parsed entities inline-highlighted, so the driver sees what was understood without reading a paragraph. R2 is the smallest sufficient affordance for the inferred intent — slider, toggle, card, dial — drawn from the existing HU component library so the visual grammar is already learned. R3 is the deferred follow-up: surface the next likely action without forcing commitment.

The full action vocabulary collapsed to three verbs — jump, do, chat — applied to every parsed intent. Small surface, learned once, recognizable at speed.

Three-region fuzzy-input widget: R1 ASR / fuzzy input, R2 interaction widget, R3 action suggestion.
The three-region widget — R1 (what was heard), R2 (smallest sufficient affordance), R3 (deferred follow-up). One grammar, every domain.
An example fuzzy prompt: Turn on seat heating when it's too cold.
R1 with parsed entities (seat heating, too cold) inline-highlighted.
The three action types: jump to location, do action, new or continue chat.
The full action vocabulary — three verbs, every intent.
02

Telemetry-Driven Scope

Outcome

Cut the widget's first-class vocabulary from a proposed 30+ intents down to 5, on evidence. Stopped a much larger component-library scope discussion in one chart.

Pulled aggregate skill-action telemetry across the fleet and let the long tail decide which intents the fuzzy widget had to handle natively versus punt to chat. SeatHeater, SeatVentilation, AmbientLight, Camera/Parking, and SeatMassage dominate by an order of magnitude — those plus a navigation path became the widget's primary vocabulary. Everything else routes to the chat fallback because nobody uses it enough to justify a custom interaction.

21M+
Daily transactions
753K
PI users
36
Car models
505
Intents · 51 domains · 7 langs
Bar chart of total individual skill action count across the fleet — SeatHeater dominates at 0.17M, then a long tail.
Skill-action count, fleet-wide. The widget's primary vocabulary is just the top of this chart.
Bar chart of average daily overall transactions by intent.
Average daily transactions by intent.
Mercedes R&D survey: which features are used the most and how often.
Independent R&D survey cross-checked the telemetry — same shape, different method.
03

Competitor & Indirect UX Audit

Outcome

Direct automaker surfaces confirmed the gap — command-driven, not fuzzy-aware. Indirect mobile patterns (Siri Shortcuts, iOS notifications, social-feed swipe) supplied the gesture vocabulary drivers already carry — folded directly into R3.

Direct competitors mostly confirmed the gap. The actionable patterns came from indirect surfaces — mobile assistants and social UI — because that's where users have already trained the gesture grammar the driver carries into the cabin. The EVO map critique is the load-bearing example of the failure mode we needed to avoid: an AI surface that competes with primary task UI fails no matter how good the model is.

Apple's app-created Siri shortcut UI.
Siri Shortcuts — useful for habitual routines, useless for in-the-moment fuzzy intent.
iOS notification action affordance breakdown.
iOS notification grammar (action text + type icon + source) — lifted directly into R3.
EVO zero-layer map view — observations on map visibility.
EVO zero-layer map — what works at first glance.
EVO map view with route guidance active — stream blocks the map.
Same surface, route guidance active. AI stream blocks the map at the exact pixels the driver looks at — the failure mode the framework had to avoid.
YouTube mobile and Instagram comment / search UI patterns.
YouTube + Instagram comment / search affordances. The relevant pattern isn't the content — it's the swipe-past-without-committing gesture drivers already know.
04

Figma Prototyping

Outcome

Single living widget framework with variants covering 80%+ of fleet-observed intents. Reviewed by the design lead and adopted as the in-cabin contract for downstream platform teams.

Worked the framework end-to-end with the design team. Every variant scored against four heuristics: recognition-over-recall, consistency with existing HU grammar, error prevention (where cost-of-error is glance time, not a dialog), and minimalist aesthetic. Variants that scored badly on glance time got cut even when they tested well on a desktop.

Figma widget: 'It's too cold' → AC turned on to target temperature.
Climate intent → temp + fan dial pair the driver already knows from the climate menu.
Figma widget: Turn ambient light to Blue, with a gradient slider for hue.
Ambient light → hue slider. Driver narrows by gesture, not by precision.
Figma widgets for window-cracking routines and AI background generation.
Routine intents and creative intents share the same three-region grammar — only R2 changes.
Map view with overlaid 'Set Ambient Light to blue' fuzzy widget.
Widget overlaid on the active map view — proves the region budget works against primary task UI without competing for the same pixels.
Full HU mock — 'Play Nirvana' fuzzy widget with playlist and radio follow-up.
Full HU context — the fuzzy widget sits beside the existing media card, doesn't replace it. R3 surfaces deferred actions.
ASR → ambient light, animated Figma prototype.
Weekend-routine intent flow.
R1 → R2 → R3 timeline.
05

Wizard-of-Oz · In-Cabin Buck

Outcome

High-fidelity from session one, in a real seat buck under driving load with gaze tracking. The methodology call was validated by the design lead — glance-time data became the primary cut criterion for downstream Figma variants.

The common wisdom that you should test low-fi paper prototypes first is wrong for an established luxury HU context. Participants cannot evaluate a fuzzy-input widget against a hand-drawn surface because they cannot calibrate "would I trust this in a real cabin." Every study from session one used full-fidelity Figma click-throughs with a wizard-of-Oz AI backend (Whisper for ASR, a researcher driving the right state behind the curtain) so the participant was responding to something that looked and felt like the production target.

For the distractible-context tests, subjects sat in the cabin seat buck — full dashboard surfaces, target-vehicle seating geometry, projected forward-scene driving sim — with gaze tracking on and a secondary task running. The Figma click-through was driven from a researcher tablet so we could swap intents on the fly. Gaze data + secondary-task performance produced the glance-time numbers that design heuristics alone couldn't.

Subject interacting with a Figma click-through on a tablet, with note cards spread on the table.
Subject driving the full-fidelity click-through with wizard-of-Oz ASR.
Mercedes seat buck — cabin shell on a rig with a wraparound display.
The cabin seat buck — production-equivalent dashboard surfaces, seating geometry, and display heights.
Driver at the seat-buck wheel with a night-driving sim projected on the wraparound display.
Distractible-context test — wheel in hand, night-driving sim running, fuzzy widget on the test strip.
Lab driving sim — left-turn arrow on a projected road scene with the test tablet below.
Forward scene + test tablet. Gaze data fed the glance-time metric that drove variant cuts.
06

Functional Prototype

Outcome

Validated the framework on real ASR — no wizard — with the cabin-canonical input device (physical rotator knob). Composed from production HU library primitives, so what tested on the bench was visually 1:1 with what would ship.

Ported the validated Figma flow onto an Android tablet running the real ASR pipeline. Bridged in a physical rotator knob — the cabin-canonical confirm/scroll/back affordance — over network from a hardware rig the Germany team had built. Having the knob on the bench meant we could test the widget against the real motor pattern, not a touch surrogate.

Rather than build a parallel UI stack, the prototype reaches into the production HU component library and composes the fuzzy widget from the same primitives — same slider, same card, same toggles. What tested on the bench was visually 1:1 with what would ship.

Illustration of a hand operating a circular rotator knob, with rotation arrows.
The cabin-canonical rotator knob — confirm, scroll, back. Networked from the Germany hardware rig into the Android prototype.
Functional prototype — fuzzy ambient-light intent on the real Android stack.
End-to-end functional prototype run, real ASR.
LLM-driven R2 widget selection — the model picks which affordance to render from the parsed intent.
07

Production HU Demo

Outcome

The first end-to-end LLM-disambiguated fuzzy-intent surface running inside the Mercedes HU contract — on production hardware, in a real vehicle, against live cabin services. Made the case to leadership for finishing the component library.

Migrated the functional prototype onto actual head-unit hardware for a demo to leadership. Manual Figma → Android translation (no shared design-token pipeline yet), fuzzy widget running inside an Android container, gRPC bridges into production HU services so the widget could actually toggle ambient light, set climate, and queue music against the real car.

HU screen — weather widget with deferred actions for seat ventilation and air conditioning, over a map.
The fuzzy widget on the production HU — weather query in R1, weather card in R2, deferred actions (seat ventilation, AC) in R3, all atop the live map.
08

Same Framework, New Substrate

Side experiment: same fuzzy-input + deferred-action grammar, but R2 is generated on the fly by an LLM with tool-use over an MCP server backed by an arbitrary app surface. Suggests the widget vocabulary is a UI-level abstraction, not an automotive-specific one — it transfers cleanly to any context where a user emits fuzzy intent and the system can hold tools.

MCP-driven fuzzy widget — the LLM picks the affordance, the MCP server executes the action.
09

Naming Fuzzy

Outcome

A one-eyed felt monster named Fuzzy gave a dry research program a face — concept directions generated as a contact sheet with ChatGPT image generation in an afternoon, then the chosen direction fabricated as a physical plush.

The core idea — treat every utterance as fuzzy by design — wanted a mascot, both to make the framework memorable internally and to keep "fuzzy" front-of-mind in reviews. Rather than commission an illustrator for an artifact that didn't need to be precious, I used ChatGPT's image generation as a divergence engine: one prompt for a friendly one-eyed fuzzy monster, then iterate on tone, horns/no-horns, flat-vs-glossy, and logo-vs-character lockups. The grid below is the spread that came out of that session — each tile a different direction on the same character, generated and culled in a single sitting.

Flat cartoon one-eyed blue monster, no horns.
Flat cartoon — the base character.
Outlined blue monster with striped orange horns.
Horns + heavier outline.
Animated felt-plush mascot — the chosen direction, fabricated as a physical plush.
The chosen direction — fabricated as a felt plush (animated).
Blue monster above a bold FUZZY wordmark.
Character + wordmark lockup.
App-icon treatment: furry blue monster with FUZZY label.
App-icon treatment.
Dark app icon: round furry monster with horns on a glow background.
Dark icon variant.
Monochrome silhouette logo of the horned monster.
Monochrome logo mark.
Monochrome silhouette logo of the round monster.
Silhouette, no horns.
Fuzzy wearing a Mercedes-Benz star pendant necklace.
Mercedes livery — star pendant.
Fuzzy wearing a cap with the Mercedes-Benz star.
Mercedes livery — star cap.

The friendly one-eyed direction won — approachable, a little goofy, and legible at favicon size. From there it jumped substrate: the chosen character was fabricated as a real blue felt plush with striped horns, the version shown animating in this grid. A digital concept sheet became a physical object that sat on the desk through the rest of the project.

10

What Held Up

What held up. The R1/R2/R3 framework, the deferred-action grammar, the telemetry-driven scope cut, and the high-fidelity wizard-of-Oz study methodology all survived the translation through multiple international supplier teams. Those are the pieces I'd bring forward unchanged.

What drifted. Pieces that depended on shared philosophy rather than shared spec. When design intent travels through two-line tickets and weekly syncs, the surface decision (use a slider here) arrives without the underlying constraint (because the driver cannot read a list at speed). Predictably, downstream reinterpretation goes maximalist — implementers add the picker, the swatches, the labels, the help icon, all the things the original design deliberately omitted, because absent the constraint they don't know which omissions were load-bearing.

What I'd do differently

Get the design philosophy itself onto the same wire as the design assets — a single living doc, versioned, that travels with every Figma file and every spec, so the receiving team can answer "why isn't there a picker here" without booking a sync. The widget vocabulary is small enough to fit on one page; the reason it doesn't is organizational, not design-driven.

FAQ

What is the FuzzyInput project?

FuzzyInput is a Mercedes-Benz in-cabin research project: an LLM-disambiguated intent UI that treats every spoken utterance as fuzzy by design and resolves it in a three-region widget — what was heard, the smallest sufficient control, and a deferred follow-up action. It was built at Mercedes-Benz R&D North America's Sunnyvale AI Labs (2024–2025).

What was Conner Ward's role on FuzzyInput?

Conner Ward led the UX research and prototyping for Mercedes-Benz FuzzyInput as a UX engineer / researcher with cross-team scope. That spanned fleet telemetry analysis across 21M+ daily transactions, a competitor audit, the Figma widget framework, wizard-of-Oz cabin-buck studies with gaze tracking, a functional Android prototype, and a final in-vehicle demo on production head-unit hardware to leadership.

What was the outcome and tech used?

FuzzyInput's R1/R2/R3 three-region widget became the design contract for fuzzy-intent surfaces at Mercedes-Benz and ran end-to-end on production head-unit hardware against live cabin services. The stack included fleet telemetry analysis, LLM-based intent disambiguation, real ASR (Whisper for the wizard-of-Oz studies), a Figma prototype, and an Android prototype bridged into production head-unit services over gRPC, with a physical rotator-knob input.

Title face · keys 1–4

Press d to hide. FUZZY resolves from fuzz→0 on load. Fuzz = resting level; Size 0 = native page clamp.