Summary
Category
Internal Research Dashboard
Org
R&D Engineering & Spatial Computing
Product
Meta Reality Labs, Codec Avatars
Role
Only designer on a five-person project team
Core Challenge
- 01 Real-time data with near-zero tolerance for latency
- 02 Years of inherited design debt
- 03 Ambiguous error-handling protocols
- 04 Delayed sensor capture schedules
Impact
- 01 Delivered a UI specification and multi-state verification guidelines for the engineering team
- 02 Rapidly prototyped and user-tested a complex troubleshooting flow within one day
Hired to run the captures, I became the team's only designer and redesigned the dashboard I used every day.
The redesigned flows let operators resolve pipeline failures themselves instead of stopping a session to pull in engineers.
Tool

Figma
Design System, Prototyping

Miro
Card-Sorting, UX research synthesis
System Impact

Codec Avatars

Quest Pro
Stakeholder
- TPM
- Engineers
- System Integrators
- Research Operators
Background
Codec Avatars represent Meta's long-term research project to create photorealistic, real-time digital identities that use neural networks to mirror human expression and presence in VR.
Problem Space
One missed failure could cost the capture, or the whole day's schedule.
- 01 The old dashboard showed nearly all 300+ streams at once, with equal visual weight
- 02 Nothing told the operator what mattered right now
- 03 Camera lag, sync drift, and system-health errors surfaced late
- 04 A mid-session failure could invalidate the capture, and cascade into the day's back-to-back schedule
I knew exactly where it hurt, because I ran these sessions every day.

For a bit of context
This is the exact physical infrastructure I designed for, and operated daily. A capture session inside this dome runs 300+ synchronized camera and IMU streams at once.



One dashboard had to work for three very different capture rigs.
Each rig produced different data and failed in different ways. A normal reading on one rig could mean trouble on another. I needed one interface that stayed legible across all three, without asking operators to hold three mental models.
How I ran it
Audit the existing dashboard → shadow and interview operators (myself included) → clickable prototypes → engineering review → operator testing → ship in increments
From research to decision
Repetitive signals
My decisions came from repetitive pain points I watched in the lab every day, connected to the metrics our PM tracked.
Designed for errors
"Edge cases" weren't rare here. They happened daily, and most gave off warning signs before they became failures. So I designed defensively: recovery mechanisms for the failures we could detect, clickable prototypes reviewed with engineers, and testing with the operators who would actually run them.
From collaboration to decision
Building internal tools is about trade-offs
No one dominates the design: engineering, research, and operations each had a wishlist, and my job was balancing them while building guardrails that let those wishlists ship safely.
Design with human in the loop
Neither the AI nor the human is completely trustworthy, so the dashboard had to keep a human in the loop and make the handoff clear: some moments the operator can resolve things alone, and some moments you pull in an engineer. The dashboard's job was to know the difference.
I design technical tools in three layers, from the backend up
This project taught me to think in layers. The dashboard itself stays under NDA, so what I can show is the thinking: how I broke an unfamiliar, deeply technical system into pieces until I could see where design would help.
I was new to R&D when I started. Building this framework is how I stopped being new.
What do the sensors see and feel? And what do they miss?
Logic
What does the system make of it all? What matters, and what's a no-no?
UX
And what does the operator get? What's happening, and what do I do next?
Becoming a better designer
Design became decisions the team could act on.
PMs, engineers, and designers speak different love languages. So I stopped presenting "UI" and started speaking the listener’s.
- TPM
- Design changes translated into the metrics they already tracked: capture throughput, failed sessions, time lost to errors.
- Engineers
- Feasibility first. No static handoffs. I brought clickable prototypes and iterated with them inside their constraints.

Read more

A 0-to-1 video annotation platform for dancers
tanmigo
Bridging the gap between video discovery and physical practice with a seamless, one-stop annotation experience, designed and built in code with an engineer.

Developer experience in Claude Code
Claude Code
Restoring a sense of agency in AI coding tools, tested with a working prototype.
