Work Side Quests About Resume (PDF, opens in a new tab)
Redesigned Today screen with the Phase Insights card Cycle Insights: current day, predictions and the hormone curve Phase Insights for ovulation, with guidance for mood, sleep, training and food
TLDR;

Overview

COROS reads the body better than almost anyone: training load, recovery, HRV. It never clocked where you are in your cycle. I redesigned the service so cycle data actually reaches a training decision, then drew the watch and phone screens that carry it. Concept work, done from the outside, while COROS shipped their own version halfway through.

Role
Service Designer
Type
Solo Project
Duration
12 Weeks
Tools
Figma, Miro
Methods
Service Design, Competitive Audit, Prototyping
Deliverables
Service blueprints, competitive audit, phone & watch UI, clickable prototype
The Problem

The app can tell you you’re 100% recovered on a morning you feel like 20%.

How do you connect a cycle to a training decision, without pretending the prediction is certain?

Hormones move on a roughly 28-day cycle, and those shifts change how you recover, how you sleep, and how training feels. The effect is real and it’s individual, which is exactly the excuse most wearables use to leave it out. COROS reads the body better than almost anyone. It never clocked the one variable that reshapes all of those readings every month. Wearables still default to the male body, and the cycle is exactly what that default leaves out.

Midway through, COROS shipped their own version. It confirmed what I’d wagered on: predictions that were visibly off, nothing to learn from, and no line drawn between the cycle and how you actually train. It tracks a period, not a cycle. The capability was there. The connection wasn’t.

What shipped instead

A calendar that counts a period, sitting a long way from anything you train with.

The cycle card lives at the bottom of the Today list. Open it and you get a phase name, a day count, and a wall of undifferentiated text. Nothing on the screen connects any of it to load, recovery, or what to do this morning.

COROS Today screen, cycle buried at the bottom of the list
01 Today
The Menstrual Cycle card, a period counter with nothing attached to training
02 Cycle card
Ovulation Phase, Day 10, with a wall of undifferentiated text
03 Phase detail
COROS cycle tracking settings and the Learn more explainer
04 Settings

COROS’ first launch of their menstrual cycle feature, not my design

Click any to see it closer

Research

Three findings that decided the whole redesign

01

There is no loop.

Data flows in (cycle length, symptoms, sleep) and nothing meaningful flows back out. The user does all the logging and gets a calendar in return.

02

COROS is strong at the hard part.

Against Garmin, WHOOP, Oura and Fitbit, its training load and recovery intelligence hold up. What’s missing is the last mile: turning physiology into something you can act on this morning.

03

“Too individual to predict” is not a real reason.

Heart rate variability (HRV), sleep and recovery are all noisy and personal, and the whole product is built on learning your baseline over time. They had the method. They never pointed it at the cycle.

Mapping the service from the outside

I mapped the frontstage from the app itself and inferred the backstage from how it behaves. Even at that resolution it broke in the same place everywhere. That single structural gap became the thing the entire redesign had to fix; every decision below traces back to it.

Service blueprint of the current experience

Data flows in and nothing meaningful flows back out

Where the real opportunity sat

The read that mattered wasn’t the feature grid. So I didn’t set out to design a new feature. I set out to build the bridge between the intelligence COROS already has and a decision the female athlete can actually make today.

Competitive analysis against Garmin, WHOOP, Oura and Fitbit

Strong on recovery intelligence, short on the last mile

The service, rebuilt around the loop

Every touchpoint now has to earn its place by connecting cycle data to a training decision. The backstage stops being a passive store: it learns from behavior, sharpens its predictions over time, and finally closes the loop the audit exposed. Data in, guidance back.

Redesigned service blueprint, the ideal state

Every touchpoint now connects cycle data to a training decision

First Pass

Two directions I built, tested, and cut

Where the old onboarding opened
01 Start
A full teaching screen for the menstrual phase
02 Menstrual
The same treatment again for the follicular phase
03 Follicular
And again for ovulation
04 Ovulation
And again for the luteal phase
05 Luteal
The end of the sequence, six screens before the app
06 Get started

Six screens before the app

Click any to see it closer

What I tried

My first instinct was to teach everything up front. If hormones reshape training, the app should explain the whole cycle before you start, so I built a heavy educational onboarding: phase by phase, hormone curves, the works.

Why it lost

It tested clunky. Nobody wants a biology lecture between turning the feature on and using it, and by the time people reached the dashboard they’d forgotten most of it anyway. Education wasn’t the mistake. Front-loading it was.

What replaced it

Onboarding got cut to what genuinely has to happen first: one idea and two questions. The intro teaches a single principle, “work with your body, not against it.” Setup asks only for your last period and average cycle length. Everything else moved into the app, surfaced the moment it’s useful.

The watch face I kept: four solid arc segments with a marker for today
The rejected watch face: 28 same-size circles round the bezel, one per cycle day, with the fertile days hatched
Cut Kept

The dotted face I cut, against the arc I kept

Drag to compare

What I tried

A ring of 28 circles instead of a solid arc, one per day of the cycle. Colour carried the phase and fill carried time: solid for the days you’d already lived, outlines for the ones still ahead, and a small marker on today. The fertile days got a hatched treatment so they read like a cell instead of a swatch. That was the part I liked.

Why it lost

Though it was a fun idea, it did not survive the size of the screen. At watch scale the circles collapsed into noise, the boundaries between phases stopped being readable at a glance, and the palette I needed to tell four phases apart in dots failed visibility and color contrast standards. A watch face gets about a second of attention. Anything that needs a second look has already failed.

What replaced it

The continuous arc: four solid segments, one marker for today, and the phase named in plain text underneath. It gives up the hatching, and it passes contrast and stays legible in daylight on a wrist, which is the only condition this screen is ever read in.

The Solution

Turn the intelligence COROS already has into a decision she can make this morning.

Three moves carry the whole redesign. In the current app there’s no phase insight on the dashboard at all: to learn about your phase you open the cycle tracker and read a wall of text, in one place, while your training lives in another. Everything here exists to close that distance.

Redesigned Today screen with the Phase Insights card
Phase Insights for ovulation, with guidance for mood, sleep, training and food
COROS watch confirming a period logged from the wrist
Cycle Insights: current day, predictions and the hormone curve
COROS watch face showing cycle day 27 and the luteal phase

The Phase Insights card sits directly under your daily activity and above the training calendar. Placement is the argument. The card doesn’t ask to be visited, it sits in the path you were already walking. It names the phase in plain language, gives you sleep, strain and stress tolerance in one glance, and states the day and its confidence honestly, so a wrong prediction reads as a system still learning rather than a system that’s wrong about you. You don’t go find the connection. It’s already made.

The original feature tracked a period. It didn’t teach you anything about the cycle driving it, so education stopped being an onboarding lecture and became part of the app. Tap a phase and you get the hormone curve, what it means for sleep, strain and stress tolerance, and what to do with that today. Every phase says the same four things, so you learn the pattern once and read it forever.

The loop only works if the data keeps coming, and the phone is the wrong place to ask for it. A cycle screen on the watch shows the day and the phase at a glance, and takes a period log in two taps. Logging now happens wherever you already are, which is the difference between a feature people try and a feature people keep.

Try It Out

The onboarding I landed on, and the insights it hands off to.

Two questions, one principle, and then out of your way.

Start on the intro, set your last period and cycle length, and the dashboard opens on the phase you’re actually in. The Phase Insights card is where the whole argument lives, so tap through to a phase and read what it tells you to do today.

How this was built

Human-led, with the machine at the ideation stage.

I used Figma Make early, before I knew what I was looking for, to get more options on the table than I could draw in the same hour. It widened the set. It didn’t choose. Everything past that point was Figma and my own hands.

All human
Human-led
Machine-assisted
Machine-led
All machine
What the machine did
Figma Make, ideation only. Rough variations of the phase card, generated to argue with and then thrown away. None of it survives in what you see above.
What I did
The service blueprint, the competitive audit, the research, every screen here, the prototype. And the last pass, always: type, copy, spacing, the empty state, the second click.

Scale · Human–Machine Collaboration, Dubai Future Foundation

Learnings

What this one changed about how I work

Screens were the last thing I drew

Service design was the part I didn’t expect. It forced me to think past the screen: the data pipelines, the CS workflows, the product-management tradeoffs that quietly decide what a user ever sees. I approach every design problem differently now because of it.

Reading a backstage you can’t see

I’m not inside the company, so I had to infer the backstage from how the product behaves and stay honest about the parts I couldn’t know. Working at that resolution was humbling in the useful way.

Getting scooped is free validation

When COROS shipped their version mid-project, I got to test my research-driven approach against what a real product team actually built. Humbling and validating at the same time.

The assumption I can’t validate alone

Everything here rests on the prediction model getting accurate enough to earn trust by cycle three. That’s the one thing I’d pressure-test with real users next. This one stayed a concept, so I never got live numbers. But if it shipped, the metric I’d watch isn’t downloads; it’s whether people are still logging in month three. That’s the only real proof the loop gives something back.

Next project Airbnb Group Booking →