Skip to content
Hi, I'm Jun
  • User Experience Design
    • Human-Centered AI
    • Business

Milieu

Crafting a mobile app for a startup redefining personalized skincare using DNA

Role
UX Designer
Timeline
5 Months
Team
  • 2 Project Managers
  • 8 Software Analysts
  • 2 UX Designers
Platforms
  • Figma
  • SwiftUI

Background

The Why

Have you ever considered that your skincare wasn’t made for your skin? Most of it wasn’t — mass-produced for an average face, with ingredient lists most people can’t parse.

Milieu’s answer starts in the post.

  1. A kit arrives

    A microbial DNA swab, posted to the customer.

    • Physical
  2. The sample goes back

    Sequenced into a reading of what lives on that skin.

    • Physical
  3. The questions

    How the skin behaves after cleansing, and the one priority.

    • In the app
  4. The routine

    Products chosen against the reading and the answers together.

    • In the app

Neither half works alone — the biome says what is there, the answers say what to fix.

Then it repeats. The next sample resets the reading — a subscription, not a result.

Two steps in the post, two in the app — a loop, not an ending.

All of it lived on desktop. But a routine happens in a bathroom, standing up, minutes long — nowhere near a laptop. So the brief was narrow: a native app at parity with the web, not a responsive shrink of it.

Research

Understanding Users

The question was never whether people wanted their skin data. It was what reaching it cost them.

I designed for Linda: 28, sensitive skin that flares easily, does her routine minutes before work. She was never going to open a laptop to check whether her barrier score had moved.

So I built four tasks, one landing in each main view — no part of the app could pass by being skipped.

  • 01Home

    Track six months of skin health.
  • 02Biome

    Find a resilience level.
  • 03Profile

    Repurchase a gel cleanser.
  • 04Flora AI

    Ask what order to use the products in.

Round one ran on the desktop frame resized to a phone — not a mobile design, just the web at phone width. Four tasks, 36 seconds average, and a lot of scrolling past the thing they were looking for. The comment afterwards was about comprehension rather than speed: “I was unsure what all the different microbiomes meant.”

Translation

Mobile Patterns

There are two ways to put a product on a phone, and only one of them was worth five months.

The same four decisions, both ways
Responsive pageNative app
A menu at the top of a long scrollBottom navigation, inside thumb reach
Hover states, on a device with no hoverSwipe and tap — gestures the device has
Every level of detail present at onceProgressive disclosure: detail available without being present
Related readings stacked down the pageCard carousels putting them side by side

On desktop the skin journey spreads across a wide timeline with four score cards beside it. Resize that and both fall past the fold — which is what round one demonstrated.

Desktop
Nathan’s Milieu desktop dashboard with product photography hero, Progress Timeline chart, and Derma Biome metric cards
Mobile
Nathan’s Milieu mobile dashboard from hero through Progress Timeline and Derma Biome Score carousel

Only the pair shows the hierarchy: photography stays, while the timeline and the primary score come up to meet the fold. Three pattern changes let them.

Score carousel. Related readings stay in one row rather than stacking down the page.

  • Primary

    Derma Biome Score

    Overall skin microbiome health

    8.4out of 10

    +35.5%

  • Skin Balance

    Microbiome diversity & equilibrium

    8.3out of 10

    +27.7%

  • Defense

    Protective barrier strength

    6.1out of 10

    +27.1%

  • Resilience

    Skin’s adaptive response

    9.1out of 10

    +24.7%

Derma Biome Score — 1 of 4

Interactive rebuild from the Figma component — swipe it, or use the arrow keys.

Range chips. Time ranges become selection states, and all four trend lines stay in one card rather than behind a hover reveal.

Progress Timeline

Hover over lines to highlight specific metrics

6M — January to June.

Highlight a line

Interactive rebuild from Figma — the four line colours and end values are the real ones.

Look at that card’s subtitle: “Hover over lines to highlight specific metrics.” The interaction was rebuilt for tap; the instruction to hover shipped anyway, because copy sat outside the component work. A copy audit catches that; a component audit does not.

Hover becomes a scroll. The web’s donut reveals each species on hover. A phone has no hover, and a donut segment is not a tap target — so the hidden layer became a visible one.

Desktop bacterial composition donut showing an ‘Other species: 5%’ hover tooltip, beside the mobile version where all six species are listed below the chart as an Abundance Breakdown with percentages
Desktop hover on the left, the mobile equivalent on the right.

Synthesis

What Success Looked Like

Four metrics carried the goals, agreed before I drew anything.

  • Cognitive load

    Dense biome detail sits behind progressive disclosure, not one wall of UI.
  • Purchases

    The repurchase path is findable without hunting for it.
  • Mobile-web parity

    Labels and structure match the web, so nobody relearns the product.
  • Diagram interpretation

    The charts can be read on a phone, not merely displayed on one.

Naming Purchases as a design metric mattered more than it looks. It is the one that stops “make the data legible” from quietly becoming the whole brief.

Ideation

Information Architecture

Two designers were building different halves of the same app, so the map came before the screens.

  • Milieu App
    • Notification
      • Recent updates
      • Insights
      • Quiz & kit updates
    • Home
      • Skin Journey
      • Biome Score
      • Recent Updates & Insights
      • Quick Actions
    • Microbiome
      • Your biome type
      • Bacterial Composition
        • Pie chart
        • List breakdown
          • Biome 1
          • Biome 2
          • Biome 3
          • Biome 4
          • Know more ⇢ Flora AI
    • Flora AI
      • Questions
      • Facts
        • What makes a biome different
        • Different biomes
    • Skin
    • Profile
The map both designers worked from. Skin and Biome were the other designer’s.

Home and Notifications carry the highest-frequency reads. Deeper biome science sits one level down, so the first screen stays a status check rather than a textbook.

One branch I left open. Every sidebar item found a home except pop-ups, which I annotated “will be nested in Profile later on.” Writing the uncertainty into the file was more useful than resolving it to look decisive.

Accessibility

Contrast and Cognitive Load

Partway through, the question changed from how to get this onto a phone to how to make it legible on one.

Contrast. The design system leaned on glassy translucent panels over photography, and photography is a hostile substrate for text.

  • Over #8a847b, 3.71:1 — fails the 4.5 minimum.

  • Over #757660, 4.65:1 — clears the 4.5 minimum.

  • Over #4c553a, 7.87:1 — clears the 4.5 minimum.

  • Over #1e212c, 16.04:1 — clears the 4.5 minimum.

3.71:1 to 16.04:1, depending only on where it lands.

Four patches sampled off the screen below, same white text on each.

Two pass, one passes by a fifteenth of a point, one fails — and which you get depends only on where the text lands. The problem is the variance, not the picture, so the text moved onto a solid panel.

Milieu routine screen after the contrast pass — cleanser, serum, and moisturizer cards on a solid dark panel, with the mossy photograph behind it rather than under the text
The routine screen after the contrast pass — text on a solid panel.

Cognitive load. Then I marked up the Microbiome Analysis screen and started taking things out.

Milieu Microbiome Analysis screen: title and body copy set directly over a mossy photograph, a Structured / Defended / Coordinated chip row, three stat cards reading High, Strong and Excellent, and a collapsed What This Means For Your Skin Journey row
  1. Repeated information — the chip row restates the cards below it.
  2. High, Strong, Excellent. Three readings, nothing to do about them.
  3. A dropdown that opens onto nothing.
Microbiome Analysis, with the three findings from the accessibility pass.

The third pin is the cognitive-load metric in miniature: a number nobody can act on isn’t information, it’s decoration.

Final Product

High Fidelity

Two prototypes cover the core loops — skin status and progress, and the membership side.

Home prototype
Membership prototype

Flora AI. Complex biome concepts get a conversational layer, so explanation doesn’t have to live inside charts.

Three Flora AI mobile screens — assistant home with suggested prompts and a chat explaining the skin microbiome
Assistant home with suggested prompts, and a chat explaining the microbiome.

Onboarding. A long form becomes focused steps with progress, so users know where they are and what’s left.

  1. Register the kit

    The six-character code on the test kit — a checklist over the app.

    • Required
  2. Skin Goals

    Two questions, two selection rules, one screen.

    • Required
    • ‹ Back
    • Next ›
  3. The one priority

    A single concern from seven. The routine gets built against this.

    • Required
    • Next ›

Then the routine — these answers read against the biome data from the kit.

No tab bar, and a close control top right: onboarding takes the app over for as long as it runs.

Six steps, three drawn. Skin Goals reads 50% — halfway through six.

Skin Goals

After cleansing, how does your skin usually feel?Choose one.
My Skin often shows or feels.. (appearance and texture)Choose any that apply.
Interactive rebuild of step three — its copy and both selection rules are real.

Answer it and the control shape is the only thing telling you the rule: circles take one, squares take several.

Auth. The mossy landing and short forms set brand tone before the first dashboard read.

Milieu authentication screens — mossy landing with Log In and Sign Up, plus login and create-account forms
Landing, log in, and create account — minimal fields so entry stays out of the way.

Validation

The Same Four Tasks

Then I ran the same four tasks again, this time on the mobile UI.

The same four tasks, run twice

  • Round 1 — 36 seconds average per task, on the desktop frame resized to a phone
  • Round 2 — 28 seconds average per task, on the mobile app
  • One participant per round — and not the same person in both
  • Averages only — per-task times were never recorded

So the eight-second gap is a direction, not a measurement. The honest ceiling is that nothing got worse, and the new components were used without explanation.

What I trust more is where someone went unprompted.

  • Milieu App
    • Profile
      • Subscription — reached first try, unprompted
    • Skin
      • Resilience — reached first try, unprompted
Two branches as testing walked them: Profile for repurchase, Skin for resilience.

“I associated Profile with subscription and anticipated that was where I would re-purchase the gel cleanser.” Not a stopwatch reading — but it says the architecture matched what someone expected before they touched it, which is what the IA was for.

Outcome

What Shipped

I owned the dashboard, membership, onboarding, and Flora AI; a second designer owned Skin and Biome, with eight analysts implementing in SwiftUI.

  • Cognitive load

    Skin and Microbiome combined into one view, cutting the redundancy between them.
  • Purchases

    Repurchase nested under Profile, where testing showed people looked first.
  • Mobile-web parity

    Every desktop interaction given a mobile equivalent, not a smaller copy.
  • Diagram interpretation

    Every graph redrawn for a phone-width read, not scaled down to one.

The information architecture became the shared reference across web and mobile, so both designers could work in parallel without diverging.

Looking Forward

What I Took Away

  • 01Working inside someone else’s language

    Milieu already had a polished design system. My work was translation into mobile — visual craft and constraint more than discovery — which sharpened how carefully I work when every hierarchy call has to land under a shipping clock.

  • 02An IA is what lets you stop coordinating

    Building a mobile-first architecture that stayed cohesive across two designers’ work was the highest-leverage thing I did. The map is what let us work apart.

  • 03Close enough to launch to watch it go out

    Working beside project managers and engineers that near to ship is a different practice from designing toward a deadline nobody ships against.

What comes next is the gap in all of it: keep interviewing, so the qualitative findings rest on more than one person per round, and set up A/B testing so the quantitative ones are measured rather than indicative.