
When our team joined the Brow Magic project, the handheld eyebrow printer still struggled with reliability. Long scan times, inconsistent brow measurements, and frequent SDK crashes stood between L’Oréal and a public demo. The goal was clear: make the technology dependable in weekly sprints, without rebuilding the entire app.
We uncovered three main blockers:
Edge cases, like glasses, dim lighting, and sudden SDK crashes, needed solutions as well.
1. Replace mesh sampling with custom math We converted 2D brow landmarks from Modiface into precise 3D points using camera intrinsics and depth data. This removed guesswork and smoothed measurements.
2. Switch to side‑face captures Seven photos from each side locked the outer brow tip in place, improving accuracy even though the total photo count remained similar.
3. Process only essential pixels Rather than rebuilding the full depth map, we handled only the eight brow points per frame. Scan time dropped from around 40 seconds to roughly 3-4 seconds.
4. Trim the Bluetooth payload The printer needs only a vector outline, not the selfie. Sending this lightweight file through Prinker’s SDK reduced latency and protected privacy.
5. Stabilise the Modiface pipeline We cached static layers and requested only delta updates, eliminating most of the drag‑and‑drop lag.
6. Maintain a weekly proof cycle Every sprint ended with one approved build and a plain‑text changelog, keeping design and engineering in sync and avoiding unnecessary churn.
By focusing on targeted fixes, owning the critical math, trimming data processing, and simplifying communication with hardware we turned an almost‑ready prototype into a demo‑ready product. The foundation is now solid for future feature work.