From stalled prototype to trusted partner

Exploring the business case for an eyebrow printer with L’Oréal R&I.

November 13, 2025

Overview

Brow Magic was already two years and two agencies into development when L’Oréal called us. The concept was brilliant: a handheld printer that lets anyone “stamp” perfectly shaped eyebrows after taking a quick guided selfie. Yet the project was stuck. Accuracy was off, timelines had slipped, and confidence inside L’Oréal was fading. This is the story of how we stepped in late, focused on the unglamorous work, and turned a rescue mission into a long-term client relationship.

The reality check

“You’ll be the third team on this. If we can’t demo something solid in eight weeks, we’ll shut it down.”

This is how our kickoff meeting started.

Previous agencies had delivered slick mock-ups but left shaky code, scattered documentation, and a firmware–software handshake that broke every other build. Worst of all, the core algorithm that measured brow length (critical for positioning the print) was still unreliable.

Key gaps we surfaced on day one

Missing source of truth. 

Specs, Figma links, and firmware notes lived in different tools, some in French, some in English.

Shifting firmware. 

Hardware revisions came weekly, forcing last-minute code rewrites.

Bloated capture flow. 

Users had to snap up to 15 photos before printing — exhausting for testers and deadly for a live demo.

Clear success metrics, zero fluff

We wiped the backlog and set one measurable goal:

“Any first-time user prints brows in under 10 seconds or less.”

Everything else—new UI ideas, color tweaks, future features—parked until that stopwatch said nine. To hit the target we:

Rebuilt documentation from scratch, version-controlled every change, and posted nightly changelogs so Paris, New York, and California woke up on the same page.

Locked design for two sprints. No new screens until the brow-length algorithm was stable.

Paired designers with QA to build a diverse dataset (lighting, skin tones, glasses, bangs) that exposed edge cases fast.

Trimmed the photo flow from 15 shots to 7 without losing accuracy, halving user wait time.

insert-video-one

Each 24-hour cycle looked like this:

Late afternoon (client time)

Quick sync to capture feedback and lock the sprint board for the night.

Overnight (our prime hours)

Engineers push new code, update documentation, and bundle a one-page changelog while the client team sleeps.

Early morning (client time)

A fresh build and clear metrics greet the client before coffee, so they can verify, log comments, and hand the baton back to us.

This nightly leapfrog ensured every business day began with real, visible progress—no dead hours, no status-hunting—turning a rescue mission into a relationship of trust.

“Any first-time user prints brows in under 10 seconds or less.”

Demo day: ten seconds that changed everything

Eight weeks later L’Oréal’s leadership gathered for an internal demo:

  • The tester lined up her face inside the AR guide.
  • Seven photos snapped in rapid succession.
  • Algorithm completed.
  • Printer delivered crisp brows—total elapsed time: 9.2 seconds.

No one broke out champagne, but the collective exhale said it all. The project was viable again.

“They had an internal stakeholders meeting… which they had to present to the CEO, to the CMO, to the entire C suite, and they had to validate that this is a project that can actually be done.”

Beyond the Rescue & Why the Relationship Stuck

Process over polish
The team learned we’d freeze features if they risked the core promise. That discipline built respect.

Documentation everyone can find

When new stakeholders joined, they ramped up in a day instead of a week. Less friction equaled more trust.

Clear trade-offs

We were honest about what stayed on the cutting-room floor (fancy animations, lighter casings) to hit the date. Because choices were explicit, no one felt blindsided.

Impact at a glance

insert-stats

What’s next for Brow Magic

Local-first firmware protocol
The ideal setup is for the printer to work fully offline. Today, certain steps still depend on an internet connection, which can slow things down or create reliability gaps.

Hardware ergonomics
L’Oréal’s engineers are shaving weight and improving grip while we ready software to adapt to the new shell.

Earlier design involvement
Future sprints will bring designers into user testing from day one, not mid-stream, to keep ergonomics and UI in sync.

Lessons you can steal

Arriving late is leverage. You inherit data, failed experiments, and clarity on what isn’t working—use it.

Pick one metric. A stopwatch, SLA, or conversion target aligns cross-functional teams faster than any deck.

Treat docs as a product. A tidy knowledge base outlasts feature sets and earns repeat business.

Ship receipts, not promises. Nightly proof beats weekly status calls for building confidence.

Freeze when needed. Pausing surface-level design to unblock core tech can save months.

Final word

Our biggest win wasn’t the 9.2-second print; it was turning a distressed project into an ongoing partnership. L’Oréal has already tapped us for new prototypes, citing the transparency and pace we brought to Brow Magic. When you focus on the unglamorous fundamentals, the shiny work—and the next contract—tends to follow.

client:
L’Oréal (innovation lab)
timeline:
7 weeks, start‑to‑finish
team:
1 designer, 2 devs, 1 pm
results:
scan time cut from 40 secs to 3 secs
let’s build together

FAQ

Why did you freeze design work for two sprints?
Polishing screens wouldn’t matter until the brow-length algorithm was rock-solid. Pausing visuals freed designers to hunt edge-case data with QA, which sped up accuracy fixes.
How did you cut the selfie flow from 15 photos to 7?
We mapped every frame to the data it added, spotted overlap, and cut the redundant shots. Smart ordering kept coverage high while slashing user wait time.
Does the app store a user’s facial data?
No. All selfie images and landmarks stay on-device, then auto-purge once printing finishes. Nothing hits the cloud unless the user opts in for diagnostics.
What was the hardest edge case?
Glasses plus fringe hair under dim bathroom lighting. We added a confidence threshold—if tracking dropped below it, the app prompted users to adjust lighting or hair placement.
How did you handle rolling hardware changes without chaos?
Firmware updates were version-pinned, and each nightly build carried a matching tag. If a new board arrived, devs branched off, tested fast, and merged only when stable.
What single habit made the biggest difference?
Overnight changelogs. The client woke up to proof, not promises, and we woke up to decisive feedback—no lost days.
From 20 photos to only 7
and a more natural scan.
It only takes 3 sec
for first-time print for new users
Interested in working together? Schedule a call.

More insights

Beauty-tech
Design

Turning a half‑built app into a brand‑ready experience

Beauty-tech
Tech

Engineering stability for BrowMagic

E-commerce
Tech

Rebuilding Netsuite’s gifting flow in 6 weeks