Case study · Meta Horizon · Avatars 2.0
Leading hair for the Meta Avatars 2.0 launch.
When Meta Avatars 2.0 introduced a new visual style, every user’s hair had to move with it, with each look and texture rebuilt so people still recognized themselves on day one. I led this effort end to end, owning the art direction, the production system, the team, and the representation strategy that carried it beyond launch.
The through-line: designing hair for production, not just appeal: beautiful and shippable, across every surface, at scale.
The launch · 2024
New-style hair for everyone
Taking a stalled, high-ambiguity, high-stakes launch and making order from it, end to end.
Getting familiar with the style
Before the launch, I did visual development for the new Meta Avatars 2.0 style, building character maquettes to learn its shape language firsthand. Vis dev is where you chase appeal and possibility, free of constraints.
The launch demanded the opposite discipline, which is what everything below is about.
The mission
I took the wheel on a launch with a new team, a concurrently-evolving technical foundation, and a tight timeline. Two problems at once: cover everyone’s hair in the new style at launch, and stand up the production system (pipeline, visual direction, vendors, team workflows) to actually deliver it. The migration had to feel like you, not a reset.
Before deciding what to make, I mapped where these avatars actually live: different renderers, fixed budgets, reading clearly at both high and low resolution. That whole-system view is what let me make the right calls later.
- Family of Apps
- VR headset
- Companion app · gameplay
- Companion app · editor
- Stickers · real-time, low budget
- High & low resolution
Challenge · plan for the long term
The representation framework
I built a representation framework: a categorization system so “representation” became measurable, every style a point across a few axes. It did double duty. It defined the set catalog of close to a hundred styles we had to deliver by the Oct 2024 launch, and it gave us the map to plan continued representation long after.
- Hair type
- Length
- Style
- Hairline
- Unique
- Facial hair
- Hats
- Colour
Once every style had coordinates, the catalog stopped being a list. Patterns that made hair reusable became visible, and so did the thin spots.
The catalog, organized by the framework
One axis, in full
Eight types, each a coordinate on one axis. Length, style, hairline, facial hair, hats and colour work the same way. Real catalog renders, asset codes removed.
Challenge · define what “done” means
Coverage that resonates, not parity
At launch, coverage looked backward. The target was the legacy catalog: every person who already had a look had to find themselves in the new style on day one. That version of coverage is measurable, because the thing you are matching already exists.
So I defined what done meant. Rather than counting one-to-one replacements, I made per-asset quality the bar: for each legacy look, an existing user had to find a new style they genuinely recognised as theirs.
Tracking coverage by category is what made the thin spots legible. Counting styles per category showed where the catalog was crowded and where it was sparse, so a gap was a shape in the framework rather than an opinion in a review. Some of those we closed inside the launch set itself, by reworking existing styles rather than adding new ones.
All of it was a prediction. We had no usage data yet, so the framework was our best read on where representation would fall short. Checking that read is what the year after launch was for.
◆ My diagram, abstracted
Legacy looks
equivalent
New-style catalog
Legacy catalog → new style
remaining gaps · tracked by category → roadmap
Equivalence, not 1:1 parity · quality over quantity
Challenge · art production within hard constraints
Making it beautiful inside the budget
Every structural lever was locked: vertex budgets, LOD ranges, texture, rig, and shader limits. So I pushed the levers that were left: texture, shading, and above all a simple-but-interesting silhouette, the real signature of the new style. When a hair-simulation feasibility question threatened the look, I built comparative test assets and documented the trade-offs, turning an art-vs-Tech Art stand-off into a shared, evidence-based call that held aesthetic intent within budget.
And every hairstyle had to sit cleanly under every hat, across four headwear categories, a manual, repetitive step that was quietly throttling the whole team. I spotted the bottleneck, framed the problem, and worked with our Tech Artist on a fix: they built a procedural mesh-generation tool, I was its first user, and we iterated until it reliably automated the step. Then we rolled it out to the rest of the artists. Constraints weren’t the ceiling. They were the brief.
Constraints, solved in the asset










Challenge · scale the team & throughput
Building the team that built the catalog
I turned a stalled start into a repeatable machine, and a team. I led and grew the people who made the catalog: concept artists, 3D artists, tech artists, a producer, and external vendors. A 3D style guide captured every style in the framework; artists mentored into independent sub-stream ownership; and vendors scaled to the majority of output through codified quality rubrics, batch reviews, and documentation, giving throughput without added review overhead. I kept briefing the why, because motivated people do their best work.
- Concept artists
- 3D artists
- Tech artists
- Producer
- Vendors
Outcome · what shipped
Launch
The new-style avatar system in players’ hands.
- 0 → 90%
- of the legacy catalog covered, in one half, so existing users found their look on day one
- 5 apps
- Facebook, Instagram, WhatsApp, Messenger and Horizon
- Still live
- the launch catalog is what the product ships today
After launch · 2025 and beyond
Reframing hair content creation as a system
After launch, my work shifted from delivering hairstyles to directing hair as a system: closing the gaps research surfaced, and charting where the space would go next.
The four-act arc I set for hair. Act 1 is the launch above; the steps below take the rest in turn.
Act 1
Everyone keeps their look
The full launch catalog, all hair types, rebuilt in the new style.
Act 2
Representation grows past the legacy catalog
Research-driven expansion, chosen against real constraints.
Act 3
Scale into a system
Coverage that no longer depends on how many people are building it.
Proposed · direction I set
Act 4
Open it to creators
People compose their own looks from the same parts, inside a creator economy that can sustain itself.
Proposed · direction I set
Decision · stop scaling by hand
The 2025 push, and where it hit a wall
Once people were in the app, the pre-launch predictions could be checked against real use. Some gaps we had called accurately. Others we had not anticipated, and people asked for them. Both landed on the same map, and the goal changed shape: no longer covering what the legacy catalog held, but growing toward the likeness of billions of people, with no existing set to measure against.
What became clear is that gaps are not all the same kind of problem. Sorting them turned one broad ambition into three specific asks, each with a different owner.
The asset was understood. The only constraint was how many we could make inside the budget.
Needs capacity
Representing that style well was still an open design question.
Needs design time
The style was waiting on capability that did not exist yet.
Needs investment
The third kind did the most work. A technical gap, expressed as the representation it is blocking, is a far stronger case for investment than the same gap expressed as a missing capability.
In 2025 I led the representation expansion, deepening the textured, coily, and culturally-specific styles that both research and real usage showed were still missing. It surfaced a hard limit: on the existing pipeline, every style was authored one hair at a time, each new look a fresh bespoke build.
That math doesn’t close a representation gap. The harder we pushed for coverage, the slower and costlier it got, and the long tail of still-under-served communities was exactly the part that cost the most to reach. Representation at scale needed a different foundation, not more hands.
Decision · build the system
The proposal: scale into a system
I made the case to stop building bespoke and start building a system: a modular, parametric architecture and tooling where a small set of well-designed, reusable parts compose into a large space of styles. Coverage stops scaling with headcount and starts scaling with the system: more representation, faster, at lower marginal cost, with quality held by design.
Getting it built took more than an art argument. I authored a hair strategy that synthesized UXR gap analysis, PM product goals, and producer budget into a single, fundable plan, translating a craft problem into business terms leadership could back. It secured funding and a roadmap, turning “make more hair” into “build the thing that makes the hair.”
◆ My diagram, abstracted
Bespoke · one at a time
each style = a fresh build
coverage scales with headcount
System · reusable parts
few parts → many styles
coverage scales with the system
◆ My diagram, abstracted
Inputs
UXR gap analysisPM product goalsProducer budgetDecision · design for creators
Putting it in creators’ hands
The same modular parts that let us scale become the building blocks creators compose with. The foundation was designed to go further: tooling that lets creators customize and shape their own looks. My focus was the creator experience: how that tooling would be used, and what customization should feel like. I partnered with PM to understand the economy framework it would live inside, and what kinds of assets creators might make, so the tooling was designed with a sustainable creator economy in mind.
Shared here as direction and thinking, built on the shipped work above: the how, not the what.
What I enjoyed most
Working at the intersection of art, tech, and product
More than any single deliverable, what I loved about this work was living where art, tech, and product meet, and getting to move fluently between them. And I rarely worked alone: the best results came from close partnerships, above all with Tech Art.
Art & direction
Setting the visual language and holding the quality bar. The part that first drew me in.
Tech, with Tech Art
Working hand-in-hand with a strong Tech Artist to build the tools and systems that made production scale.
Product & strategy
Turning research and constraints into a prioritized, fundable roadmap.
The connective tissue
Moving across PM, UXR, engineering, and vendors to keep it all pulling in one direction.
How I lead
I led hair as the bridge between strategy and execution: aligning what we build and why with how we build it.
◆ My diagram · roles, not names
I led the hair roadmap as the bridge between two levels: aligning up with PM & UX Research on what to build and why, and with the build team on how. Vendors supported production.
Make the cost visible
When I can’t say no, I show the trade-offs. A visual pipeline map turned “that’s impossible” into a shared, data-driven choice.
Design the intake
A clear intake, triage, and prioritization process across many concurrent requests, matched to real team capacity.
Delegate to strengths & brief the why
I grow people into ownership by matching work to strengths, and I keep explaining the why, because motivated people do their best work.
Work with AI as the architect
I use AI to prototype and pressure-test ideas fast. Architect, not passenger: I decide what to build, what good looks like, and what ships.
Before this, the same question with its scale inverted: one face, rebuilt closely enough that the person it belongs to recognises it.
Facebook Reality Labs · Codec Avatars →