Luna PMDD Pattern Intelligence

ROLE

Product Designer

TEAM

Personal project

TIMELINE

12 weeks

PLATFORM

Figma · Claude AI · Cursor · Netlify

OVERVIEW

PMDD affects 1 in 20 people with cycles.

Premenstrual Dysphoric Disorder (PMDD) is a severe hormonal mood disorder that disrupts work, relationships, and daily life. On average, people with PMDD spend 12 years seeking answers.

Luna is an AI companion that learns your individual symptom patterns over time, so you can prepare instead of react, and finally have the data to advocate for yourself with a doctor.

THE PROBLEM

On average, people with PMDD spend 12 years seeking answers and see an average of six healthcare providers before receiving an accurate diagnosis.

— Dr. Erin Brennand, CMAJ podcast, citing patient advocacy research.

People with PMDD see an average of six healthcare providers before anyone gets it right. Over a quarter are initially misdiagnosed with another psychiatric disorder entirely. Not because their symptoms aren't real. Because there's no test for PMDD. No biomarker. No blood panel that confirms it.

The only path to diagnosis is data. Three months of consistent, prospective symptom tracking is what the DSM-5 requires for a clinician to confirm PMDD. And yet the tools available to do that tracking were never built for this condition.

The tools that exist weren't built for this.

Clue is one of the top period tracking apps on the App Store. It does track symptoms, but it is not specific to PMDD. Its resources on the condition are buried in a content page under "Other Conditions."

For many people with PMDD, Clue becomes the default tool because nothing better exists. The app wasn't designed with PMDD in mind even though 1 in 20 people with cycles have PMDD. The experience reflects that: generic logging, no PMDD-specific insight, and nothing meaningful to bring to a doctor.

The barrier isn't friction. It's felt value. Without a meaningful return, the habit never forms.

Period trackers tell you when your next cycle is coming. That's what they were designed to do. But PMDD isn't caused by abnormal hormones. Research shows that people with PMDD have normal hormone levels but the difference is how their brain responds to normal hormonal fluctuations. That kind of pattern doesn't live in a date on a calendar.

So people do what they can from apps, paper trackers to describing symptoms from memory in a doctor's office. But memory is unreliable. According to PMDD researcher Dr. Erin Brennand, symptom histories reported retrospectively correlate with prospectively tracked data only about 60% of the time. Doctors are working from an incomplete picture.

This is the loop Luna is designed to break.

By making the return on logging felt earlier and by reframing what tracking is actually for.

There is no blood test for PMDD. But there is a path to diagnosis and it runs directly through consistent symptom data. Every entry a user logs in Luna is building the clinical picture a doctor needs to take them seriously. That's not a feature but a reason to show up every day.

Before designing anything, I needed to make sure this problem was as real and specific as I understood it to be.

THE APPROACH

Grounding the product in clinical reality

Before I started even thinking about visual design, I spent four sessions in product thinking. The problem was clear. The approach needed to be just as specific.

Clinical Foundation

Rather than inventing a symptom taxonomy, I grounded Luna's data model in the Her Mood Mentor Premenstrual Symptom Mapping Kit, developed by Jes Hagan, a certified nutritional therapy practitioner and PMDD specialist. Every symptom category, severity definition, and habit tracking approach in Luna comes directly from an established clinical framework.

One finding from this source reframed the entire product: there is no blood or saliva test for PMDD. Three months of consistent symptom tracking is the clinical path to diagnosis. Luna didn't need to manufacture a reason to log. The reason already existed. It just needed to be surfaced.

Two constraints that governed every decision

Minimize cognitive load.

PMDD symptoms include brain fog, fatigue, and difficulty concentrating. The app will often be opened during or near symptomatic periods which are the moments when thinking is hardest. Every interaction had to be designed for the worst-case cognitive state. A daily log completable in under 30 seconds. One tap as a valid minimum.

Emotional safety.

The app never alarms, judges, or creates urgency. Cycle phase language is gentle and action-oriented. The severity scale uses warm terracotta rather than alarming red. The entry counter never resets because missing a day is data, not failure. On bad days, Luna acknowledges before it asks.

Same question. Different day. The interaction responds to the user's state.

One deliberate scope decision

Early on, I identified a real tension. Luna needed a community layer for PMDD-specific peer support, shared patterns, and connection. But a community product and a pattern-tracking product are fundamentally different things to design. Doing both in v1 meant doing neither well.

Community is scoped to v2. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is far more valuable than a generic forum. The community earns its place after the core product exists.

THE AI SYSTEM

What Luna actually does with your data

Luna is not a smarter period tracker. It's a pattern detection system that gets more useful the longer you use it — and that distinction changes everything about how it was designed.

Most health apps store your data. Luna analyzes it. The difference is that analysis requires understanding context, handling uncertainty, and knowing when not to speak — three things that rules alone cannot do.

What Luna detects

Symptom clustering by phase.

Luna tracks which symptoms appear, at what severity, and at what point in your cycle across multiple cycles. It's looking for a specific pattern — symptoms that escalate during the luteal phase and resolve after menstruation. That timing is the clinical signature of PMDD, and it's only visible across cycles, not within one.

Remedy and supplement efficacy.

When a user logs a remedy — spearmint tea, magnesium, a birth control adjustment — Luna tracks symptom severity before, during, and after that intervention across multiple cycles. After enough data points, it can surface correlations: "Your depression severity during luteal phase has decreased since starting your birth control shot. Let's keep tracking to confirm." A paper tracker can record what you took. Only a pattern detection system can tell you whether it's working.

External confounders.

PMDD data is noisy. A particularly severe luteal phase might be PMDD — or it might be grief, a missed medication, a stressful week at work. Luna captures external circumstances as a separate data layer and uses them to explain anomalous cycles rather than misattributing them to PMDD patterns. This is what separates a meaningful insight from a false one.

When Luna speaks — and when it doesn't

Knowing when not to speak is as important as knowing what to say. Luna operates on a three-tier confidence model:

Cycle 1 — summary only.

One cycle of data is a baseline, not a pattern. Luna reflects back what it observed — which symptoms appeared, when, and at what severity — without drawing conclusions. The user gets context. Luna gets data.


Cycle 2 — hypothesis with uncertainty.

When the same pattern appears twice, Luna surfaces it as a hypothesis rather than a finding. The language is deliberate: "Luna noticed this pattern across 2 cycles. Let's keep watching to see if this holds." Correlation is not causation and Luna says so explicitly.

Cycle 3 and beyond — confident insights.

After three or more cycles confirming the same pattern, Luna shifts to confident recommendations. This is the threshold the DSM-5 requires for clinical confirmation — and it's the threshold Luna uses before speaking with confidence.

What Luna will never do

Three guardrails are non-negotiable regardless of what the data shows.

If suicidal ideation is logged at any severity level, Luna does not respond with a data prompt or a pattern insight. It surfaces crisis resources immediately. Full stop. This is not a feature — it's a safety requirement that was defined before any screen was designed.

Body weight and food data are logged and tracked but never framed as problems to fix. Luna will never suggest that a user's symptoms are related to their weight or imply that changing their body would help. The research is clear that PMDD is neurological, not behavioral — and the design reflects that.

Substance data — alcohol, medication, recreational drugs — is captured as context for pattern analysis, never as a judgment. Luna uses this data to explain anomalous cycles. It will never suggest a user reduce or stop a substance without them initiating that conversation.

How Luna improves over time

The feedback loop is simple but important. When Luna surfaces an insight, the user can confirm it or dismiss it. Confirmations strengthen the pattern's confidence weighting. Dismissals flag the cycle as potentially anomalous and prompt Luna to look for confounding factors before surfacing the pattern again.

This means Luna is not a static analysis tool. It learns the difference between a real pattern and a coincidence based on the user telling it whether what it found is true to their experience.

SOLUTION

Onboarding

The onboarding flow has one job: get from knowing nothing about the user to having their first log entry without losing them along the way.

The key sequencing decision was the trust contract. It comes last deliberately at screen 7 of 8. By the time the user reaches it, Luna already knows their name, their age range, their cycle data, and their primary symptoms. The three statements: Luna is not a diagnostic tool, see a doctor for an official diagnosis, consistency helps Luna help you, feel like a commitment between two parties who have started a relationship, not a legal disclaimer on first encounter.

Screen 8 flows directly into the first log with no transition screen.

Daily log

The daily log is where Luna lives with two states and two completely different interactions.

On a good day, it's a single question with five options and a warm acknowledgment after selection. Completable in under 30 seconds. Luna responds: "Good job focusing on your health. Every entry helps Luna learn your patterns."

On a bad day, the interaction changes. Luna acknowledges before it asks. The response, "This is hard, and it will pass," comes before the follow-up question. Only then does Luna offer optional deeper logging. This is the core product differentiator.

Web dashboard

The dashboard exists for one moment: the doctor's appointment. Everything on it is organized around the DSM-5 diagnostic framework. Every section answers a question a doctor actually needs answered.

The cycle heat map shows symptom severity across three cycles divided by follicular and luteal phase. The pattern is visible in a single glance: calm during follicular, severity in luteal, consistent across all three cycles. That's the diagnostic picture all on one screen.

Three insight cards surface the clinical evidence in plain language: primary symptoms, functional impact, cycle consistency. A physician can scan the full dashboard in under two minutes. The footer reads: "This report is intended to support clinical conversation, not replace professional diagnosis." Luna's job is to prepare the patient. Then the doctor takes it from there.

THE DESIGN SYSTEM

Built before the screens

The design system came before any screens. Typography, color, and components first and then every screen assembled from those pieces. That order is the difference between a consistent product and a collection of individual designs.

Typography: Instrument Sans

Instrument Sans was chosen for warmth without softness. It's humanist without being rounded to the point of feeling juvenile. Two weights only throughout the entire product: Regular for passive reading, SemiBold for active scanning and primary actions. The constraint keeps the visual hierarchy clean and intentional.

Color: Warm and grounded

The palette is built around warm neutrals rather than clinical whites and blues. That's a deliberate product decision and it traces directly back to the emotional safety principle. The brand color is a dusty mauve-purple. The severity scale runs from warm neutral through amber and terracotta to deep warm red, communicating gravity without triggering anxiety. Every color in the system has a reason.

Components: four pieces, every screen

Four core components: Button (4 variants), Selection Card (2 states), Input Field (2 states), Progress Bar. Every interactive element on every screen is an instance of one of these components.

WHAT'S NEXT

The product is now getting started

The core loop and log, learn, and advocate principle is built. What comes next extends into two directions.

The doctor report generator takes three months of consistent tracking and translates it into a plain-language clinical summary a physician can actually use in an appointment. Luna provides a readable document that answers the five questions a clinician needs answered to confirm a PMDD diagnosis. This closes the loop between Luna and the healthcare system in the most direct way possible.

The community layer is scoped to v2 deliberately. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is fundamentally more valuable than a generic forum. Users can compare patterns, discuss what worked, and feel less alone in something the healthcare system has too often dismissed. The community earns its place after the core product exists.

REFLECTION

This project started with a problem I understood personally and spent four sessions in product thinking before Figma opened. The research, the principles, the interaction model, and the component system were all defined before a single screen was designed.

What I'm most proud is that every visual decision in this product is traceable to a product reason. The warm background isn't aesthetic, it's anchors in Principle 2. The severity scale isn't decorative, it's clinically grounded. The trust contract comes last because the relationship needed to exist first. That traceability is what separates a designed product from a designed artifact.

If Luna taught me one thing it's this: the best AI products don't feel like AI. They feel like something that finally understands you.

Smooth Scroll
This will hide itself!

Luna PMDD Pattern Intelligence

ROLE

Product Designer

TEAM

Personal project

TIMELINE

12 weeks

PLATFORM

Figma · Claude AI · Cursor · Netlify

OVERVIEW

PMDD affects 1 in 20 people with cycles.

Premenstrual Dysphoric Disorder (PMDD) is a severe hormonal mood disorder that disrupts work, relationships, and daily life. On average, people with PMDD spend 12 years seeking answers.

Luna is an AI companion that learns your individual symptom patterns over time, so you can prepare instead of react, and finally have the data to advocate for yourself with a doctor.

THE PROBLEM

On average, people with PMDD spend 12 years seeking answers and see an average of six healthcare providers before receiving an accurate diagnosis.

— Dr. Erin Brennand, CMAJ podcast, citing patient advocacy research.

People with PMDD see an average of six healthcare providers before anyone gets it right. Over a quarter are initially misdiagnosed with another psychiatric disorder entirely. Not because their symptoms aren't real. Because there's no test for PMDD. No biomarker. No blood panel that confirms it.

The only path to diagnosis is data. Three months of consistent, prospective symptom tracking is what the DSM-5 requires for a clinician to confirm PMDD. And yet the tools available to do that tracking were never built for this condition.

The tools that exist weren't built for this.

Clue is one of the top period tracking apps on the App Store. It does track symptoms, but it is not specific to PMDD. Its resources on the condition are buried in a content page under "Other Conditions."

For many people with PMDD, Clue becomes the default tool because nothing better exists. The app wasn't designed with PMDD in mind even though 1 in 20 people with cycles have PMDD. The experience reflects that: generic logging, no PMDD-specific insight, and nothing meaningful to bring to a doctor.

The barrier isn't friction. It's felt value. Without a meaningful return, the habit never forms.

Period trackers tell you when your next cycle is coming. That's what they were designed to do. But PMDD isn't caused by abnormal hormones. Research shows that people with PMDD have normal hormone levels but the difference is how their brain responds to normal hormonal fluctuations. That kind of pattern doesn't live in a date on a calendar.

So people do what they can from apps, paper trackers to describing symptoms from memory in a doctor's office. But memory is unreliable. According to PMDD researcher Dr. Erin Brennand, symptom histories reported retrospectively correlate with prospectively tracked data only about 60% of the time. Doctors are working from an incomplete picture.

This is the loop Luna is designed to break.

By making the return on logging felt earlier and by reframing what tracking is actually for.

There is no blood test for PMDD. But there is a path to diagnosis and it runs directly through consistent symptom data. Every entry a user logs in Luna is building the clinical picture a doctor needs to take them seriously. That's not a feature but a reason to show up every day.

Before designing anything, I needed to make sure this problem was as real and specific as I understood it to be.

THE APPROACH

Grounding the product in clinical reality

Before I started even thinking about visual design, I spent four sessions in product thinking. The problem was clear. The approach needed to be just as specific.

Clinical Foundation

Rather than inventing a symptom taxonomy, I grounded Luna's data model in the Her Mood Mentor Premenstrual Symptom Mapping Kit, developed by Jes Hagan, a certified nutritional therapy practitioner and PMDD specialist. Every symptom category, severity definition, and habit tracking approach in Luna comes directly from an established clinical framework.

One finding from this source reframed the entire product: there is no blood or saliva test for PMDD. Three months of consistent symptom tracking is the clinical path to diagnosis. Luna didn't need to manufacture a reason to log. The reason already existed. It just needed to be surfaced.

Two constraints that governed every decision

Minimize cognitive load.

PMDD symptoms include brain fog, fatigue, and difficulty concentrating. The app will often be opened during or near symptomatic periods which are the moments when thinking is hardest. Every interaction had to be designed for the worst-case cognitive state. A daily log completable in under 30 seconds. One tap as a valid minimum.

Emotional safety.

The app never alarms, judges, or creates urgency. Cycle phase language is gentle and action-oriented. The severity scale uses warm terracotta rather than alarming red. The entry counter never resets because missing a day is data, not failure. On bad days, Luna acknowledges before it asks.

Same question. Different day. The interaction responds to the user's state.

One deliberate scope decision

Early on, I identified a real tension. Luna needed a community layer for PMDD-specific peer support, shared patterns, and connection. But a community product and a pattern-tracking product are fundamentally different things to design. Doing both in v1 meant doing neither well.

Community is scoped to v2. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is far more valuable than a generic forum. The community earns its place after the core product exists.

THE AI SYSTEM

What Luna actually does with your data

Luna is not a smarter period tracker. It's a pattern detection system that gets more useful the longer you use it — and that distinction changes everything about how it was designed.

Most health apps store your data. Luna analyzes it. The difference is that analysis requires understanding context, handling uncertainty, and knowing when not to speak — three things that rules alone cannot do.

What Luna detects

Symptom clustering by phase.

Luna tracks which symptoms appear, at what severity, and at what point in your cycle across multiple cycles. It's looking for a specific pattern — symptoms that escalate during the luteal phase and resolve after menstruation. That timing is the clinical signature of PMDD, and it's only visible across cycles, not within one.

Remedy and supplement efficacy.

When a user logs a remedy — spearmint tea, magnesium, a birth control adjustment — Luna tracks symptom severity before, during, and after that intervention across multiple cycles. After enough data points, it can surface correlations: "Your depression severity during luteal phase has decreased since starting your birth control shot. Let's keep tracking to confirm." A paper tracker can record what you took. Only a pattern detection system can tell you whether it's working.

External confounders.

PMDD data is noisy. A particularly severe luteal phase might be PMDD — or it might be grief, a missed medication, a stressful week at work. Luna captures external circumstances as a separate data layer and uses them to explain anomalous cycles rather than misattributing them to PMDD patterns. This is what separates a meaningful insight from a false one.

When Luna speaks — and when it doesn't

Knowing when not to speak is as important as knowing what to say. Luna operates on a three-tier confidence model:

Cycle 1 — summary only.

One cycle of data is a baseline, not a pattern. Luna reflects back what it observed — which symptoms appeared, when, and at what severity — without drawing conclusions. The user gets context. Luna gets data.


Cycle 2 — hypothesis with uncertainty.

When the same pattern appears twice, Luna surfaces it as a hypothesis rather than a finding. The language is deliberate: "Luna noticed this pattern across 2 cycles. Let's keep watching to see if this holds." Correlation is not causation and Luna says so explicitly.

Cycle 3 and beyond — confident insights.

After three or more cycles confirming the same pattern, Luna shifts to confident recommendations. This is the threshold the DSM-5 requires for clinical confirmation — and it's the threshold Luna uses before speaking with confidence.

What Luna will never do

Three guardrails are non-negotiable regardless of what the data shows.

If suicidal ideation is logged at any severity level, Luna does not respond with a data prompt or a pattern insight. It surfaces crisis resources immediately. Full stop. This is not a feature — it's a safety requirement that was defined before any screen was designed.

Body weight and food data are logged and tracked but never framed as problems to fix. Luna will never suggest that a user's symptoms are related to their weight or imply that changing their body would help. The research is clear that PMDD is neurological, not behavioral — and the design reflects that.

Substance data — alcohol, medication, recreational drugs — is captured as context for pattern analysis, never as a judgment. Luna uses this data to explain anomalous cycles. It will never suggest a user reduce or stop a substance without them initiating that conversation.

How Luna improves over time

The feedback loop is simple but important. When Luna surfaces an insight, the user can confirm it or dismiss it. Confirmations strengthen the pattern's confidence weighting. Dismissals flag the cycle as potentially anomalous and prompt Luna to look for confounding factors before surfacing the pattern again.

This means Luna is not a static analysis tool. It learns the difference between a real pattern and a coincidence based on the user telling it whether what it found is true to their experience.

SOLUTION

Onboarding

The onboarding flow has one job: get from knowing nothing about the user to having their first log entry without losing them along the way.

The key sequencing decision was the trust contract. It comes last deliberately at screen 7 of 8. By the time the user reaches it, Luna already knows their name, their age range, their cycle data, and their primary symptoms. The three statements: Luna is not a diagnostic tool, see a doctor for an official diagnosis, consistency helps Luna help you, feel like a commitment between two parties who have started a relationship, not a legal disclaimer on first encounter.

Screen 8 flows directly into the first log with no transition screen.

Daily log

The daily log is where Luna lives with two states and two completely different interactions.

On a good day, it's a single question with five options and a warm acknowledgment after selection. Completable in under 30 seconds. Luna responds: "Good job focusing on your health. Every entry helps Luna learn your patterns."

On a bad day, the interaction changes. Luna acknowledges before it asks. The response, "This is hard, and it will pass," comes before the follow-up question. Only then does Luna offer optional deeper logging. This is the core product differentiator.

Web dashboard

The dashboard exists for one moment: the doctor's appointment. Everything on it is organized around the DSM-5 diagnostic framework. Every section answers a question a doctor actually needs answered.

The cycle heat map shows symptom severity across three cycles divided by follicular and luteal phase. The pattern is visible in a single glance: calm during follicular, severity in luteal, consistent across all three cycles. That's the diagnostic picture all on one screen.

Three insight cards surface the clinical evidence in plain language: primary symptoms, functional impact, cycle consistency. A physician can scan the full dashboard in under two minutes. The footer reads: "This report is intended to support clinical conversation, not replace professional diagnosis." Luna's job is to prepare the patient. Then the doctor takes it from there.

THE DESIGN SYSTEM

Built before the screens

The design system came before any screens. Typography, color, and components first and then every screen assembled from those pieces. That order is the difference between a consistent product and a collection of individual designs.

Typography: Instrument Sans

Instrument Sans was chosen for warmth without softness. It's humanist without being rounded to the point of feeling juvenile. Two weights only throughout the entire product: Regular for passive reading, SemiBold for active scanning and primary actions. The constraint keeps the visual hierarchy clean and intentional.

Color: Warm and grounded

The palette is built around warm neutrals rather than clinical whites and blues. That's a deliberate product decision and it traces directly back to the emotional safety principle. The brand color is a dusty mauve-purple. The severity scale runs from warm neutral through amber and terracotta to deep warm red, communicating gravity without triggering anxiety. Every color in the system has a reason.

Components: four pieces, every screen

Four core components: Button (4 variants), Selection Card (2 states), Input Field (2 states), Progress Bar. Every interactive element on every screen is an instance of one of these components.

WHAT'S NEXT

The product is now getting started

The core loop and log, learn, and advocate principle is built. What comes next extends into two directions.

The doctor report generator takes three months of consistent tracking and translates it into a plain-language clinical summary a physician can actually use in an appointment. Luna provides a readable document that answers the five questions a clinician needs answered to confirm a PMDD diagnosis. This closes the loop between Luna and the healthcare system in the most direct way possible.

The community layer is scoped to v2 deliberately. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is fundamentally more valuable than a generic forum. Users can compare patterns, discuss what worked, and feel less alone in something the healthcare system has too often dismissed. The community earns its place after the core product exists.

REFLECTION

This project started with a problem I understood personally and spent four sessions in product thinking before Figma opened. The research, the principles, the interaction model, and the component system were all defined before a single screen was designed.

What I'm most proud is that every visual decision in this product is traceable to a product reason. The warm background isn't aesthetic, it's anchors in Principle 2. The severity scale isn't decorative, it's clinically grounded. The trust contract comes last because the relationship needed to exist first. That traceability is what separates a designed product from a designed artifact.

If Luna taught me one thing it's this: the best AI products don't feel like AI. They feel like something that finally understands you.

Smooth Scroll
This will hide itself!

Luna PMDD Pattern Intelligence

ROLE

Product Designer

TEAM

Personal project

TIMELINE

12 weeks

PLATFORM

Figma · Claude AI · Cursor · Netlify

OVERVIEW

PMDD affects 1 in 20 people with cycles.

Premenstrual Dysphoric Disorder (PMDD) is a severe hormonal mood disorder that disrupts work, relationships, and daily life. On average, people with PMDD spend 12 years seeking answers.

Luna is an AI companion that learns your individual symptom patterns over time, so you can prepare instead of react, and finally have the data to advocate for yourself with a doctor.

THE PROBLEM

On average, people with PMDD spend 12 years seeking answers and see an average of six healthcare providers before receiving an accurate diagnosis.

— Dr. Erin Brennand, CMAJ podcast, citing patient advocacy research.

People with PMDD see an average of six healthcare providers before anyone gets it right. Over a quarter are initially misdiagnosed with another psychiatric disorder entirely. Not because their symptoms aren't real. Because there's no test for PMDD. No biomarker. No blood panel that confirms it.

The only path to diagnosis is data. Three months of consistent, prospective symptom tracking is what the DSM-5 requires for a clinician to confirm PMDD. And yet the tools available to do that tracking were never built for this condition.

The tools that exist weren't built for this.

Clue is one of the top period tracking apps on the App Store. It does track symptoms, but it is not specific to PMDD. Its resources on the condition are buried in a content page under "Other Conditions."

For many people with PMDD, Clue becomes the default tool because nothing better exists. The app wasn't designed with PMDD in mind even though 1 in 20 people with cycles have PMDD. The experience reflects that: generic logging, no PMDD-specific insight, and nothing meaningful to bring to a doctor.

The barrier isn't friction. It's felt value. Without a meaningful return, the habit never forms.

Period trackers tell you when your next cycle is coming. That's what they were designed to do. But PMDD isn't caused by abnormal hormones. Research shows that people with PMDD have normal hormone levels but the difference is how their brain responds to normal hormonal fluctuations. That kind of pattern doesn't live in a date on a calendar.

So people do what they can from apps, paper trackers to describing symptoms from memory in a doctor's office. But memory is unreliable. According to PMDD researcher Dr. Erin Brennand, symptom histories reported retrospectively correlate with prospectively tracked data only about 60% of the time. Doctors are working from an incomplete picture.

This is the loop Luna is designed to break.

By making the return on logging felt earlier and by reframing what tracking is actually for.

There is no blood test for PMDD. But there is a path to diagnosis and it runs directly through consistent symptom data. Every entry a user logs in Luna is building the clinical picture a doctor needs to take them seriously. That's not a feature but a reason to show up every day.

Before designing anything, I needed to make sure this problem was as real and specific as I understood it to be.

THE APPROACH

Grounding the product in clinical reality

Before I started even thinking about visual design, I spent four sessions in product thinking. The problem was clear. The approach needed to be just as specific.

Clinical Foundation

Rather than inventing a symptom taxonomy, I grounded Luna's data model in the Her Mood Mentor Premenstrual Symptom Mapping Kit, developed by Jes Hagan, a certified nutritional therapy practitioner and PMDD specialist. Every symptom category, severity definition, and habit tracking approach in Luna comes directly from an established clinical framework.

One finding from this source reframed the entire product: there is no blood or saliva test for PMDD. Three months of consistent symptom tracking is the clinical path to diagnosis. Luna didn't need to manufacture a reason to log. The reason already existed. It just needed to be surfaced.

Two constraints that governed every decision

Minimize cognitive load.

PMDD symptoms include brain fog, fatigue, and difficulty concentrating. The app will often be opened during or near symptomatic periods which are the moments when thinking is hardest. Every interaction had to be designed for the worst-case cognitive state. A daily log completable in under 30 seconds. One tap as a valid minimum.

Emotional safety.

The app never alarms, judges, or creates urgency. Cycle phase language is gentle and action-oriented. The severity scale uses warm terracotta rather than alarming red. The entry counter never resets because missing a day is data, not failure. On bad days, Luna acknowledges before it asks.

Same question. Different day. The interaction responds to the user's state.

One deliberate scope decision

Early on, I identified a real tension. Luna needed a community layer for PMDD-specific peer support, shared patterns, and connection. But a community product and a pattern-tracking product are fundamentally different things to design. Doing both in v1 meant doing neither well.

Community is scoped to v2. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is far more valuable than a generic forum. The community earns its place after the core product exists.

THE AI SYSTEM

What Luna actually does with your data

Luna is not a smarter period tracker. It's a pattern detection system that gets more useful the longer you use it — and that distinction changes everything about how it was designed.

Most health apps store your data. Luna analyzes it. The difference is that analysis requires understanding context, handling uncertainty, and knowing when not to speak — three things that rules alone cannot do.

What Luna detects

Symptom clustering by phase.

Luna tracks which symptoms appear, at what severity, and at what point in your cycle across multiple cycles. It's looking for a specific pattern — symptoms that escalate during the luteal phase and resolve after menstruation. That timing is the clinical signature of PMDD, and it's only visible across cycles, not within one.

Remedy and supplement efficacy.

When a user logs a remedy — spearmint tea, magnesium, a birth control adjustment — Luna tracks symptom severity before, during, and after that intervention across multiple cycles. After enough data points, it can surface correlations: "Your depression severity during luteal phase has decreased since starting your birth control shot. Let's keep tracking to confirm." A paper tracker can record what you took. Only a pattern detection system can tell you whether it's working.

External confounders.

PMDD data is noisy. A particularly severe luteal phase might be PMDD — or it might be grief, a missed medication, a stressful week at work. Luna captures external circumstances as a separate data layer and uses them to explain anomalous cycles rather than misattributing them to PMDD patterns. This is what separates a meaningful insight from a false one.

When Luna speaks — and when it doesn't

Knowing when not to speak is as important as knowing what to say. Luna operates on a three-tier confidence model:

Cycle 1 — summary only.

One cycle of data is a baseline, not a pattern. Luna reflects back what it observed — which symptoms appeared, when, and at what severity — without drawing conclusions. The user gets context. Luna gets data.


Cycle 2 — hypothesis with uncertainty.

When the same pattern appears twice, Luna surfaces it as a hypothesis rather than a finding. The language is deliberate: "Luna noticed this pattern across 2 cycles. Let's keep watching to see if this holds." Correlation is not causation and Luna says so explicitly.

Cycle 3 and beyond — confident insights.

After three or more cycles confirming the same pattern, Luna shifts to confident recommendations. This is the threshold the DSM-5 requires for clinical confirmation — and it's the threshold Luna uses before speaking with confidence.

What Luna will never do

Three guardrails are non-negotiable regardless of what the data shows.

If suicidal ideation is logged at any severity level, Luna does not respond with a data prompt or a pattern insight. It surfaces crisis resources immediately. Full stop. This is not a feature — it's a safety requirement that was defined before any screen was designed.

Body weight and food data are logged and tracked but never framed as problems to fix. Luna will never suggest that a user's symptoms are related to their weight or imply that changing their body would help. The research is clear that PMDD is neurological, not behavioral — and the design reflects that.

Substance data — alcohol, medication, recreational drugs — is captured as context for pattern analysis, never as a judgment. Luna uses this data to explain anomalous cycles. It will never suggest a user reduce or stop a substance without them initiating that conversation.

How Luna improves over time

The feedback loop is simple but important. When Luna surfaces an insight, the user can confirm it or dismiss it. Confirmations strengthen the pattern's confidence weighting. Dismissals flag the cycle as potentially anomalous and prompt Luna to look for confounding factors before surfacing the pattern again.

This means Luna is not a static analysis tool. It learns the difference between a real pattern and a coincidence based on the user telling it whether what it found is true to their experience.

SOLUTION

Onboarding

The onboarding flow has one job: get from knowing nothing about the user to having their first log entry without losing them along the way.

The key sequencing decision was the trust contract. It comes last deliberately at screen 7 of 8. By the time the user reaches it, Luna already knows their name, their age range, their cycle data, and their primary symptoms. The three statements: Luna is not a diagnostic tool, see a doctor for an official diagnosis, consistency helps Luna help you, feel like a commitment between two parties who have started a relationship, not a legal disclaimer on first encounter.

Screen 8 flows directly into the first log with no transition screen.

Daily log

The daily log is where Luna lives with two states and two completely different interactions.

On a good day, it's a single question with five options and a warm acknowledgment after selection. Completable in under 30 seconds. Luna responds: "Good job focusing on your health. Every entry helps Luna learn your patterns."

On a bad day, the interaction changes. Luna acknowledges before it asks. The response, "This is hard, and it will pass," comes before the follow-up question. Only then does Luna offer optional deeper logging. This is the core product differentiator.

Web dashboard

The dashboard exists for one moment: the doctor's appointment. Everything on it is organized around the DSM-5 diagnostic framework. Every section answers a question a doctor actually needs answered.

The cycle heat map shows symptom severity across three cycles divided by follicular and luteal phase. The pattern is visible in a single glance: calm during follicular, severity in luteal, consistent across all three cycles. That's the diagnostic picture all on one screen.

Three insight cards surface the clinical evidence in plain language: primary symptoms, functional impact, cycle consistency. A physician can scan the full dashboard in under two minutes. The footer reads: "This report is intended to support clinical conversation, not replace professional diagnosis." Luna's job is to prepare the patient. Then the doctor takes it from there.

THE DESIGN SYSTEM

Built before the screens

The design system came before any screens. Typography, color, and components first and then every screen assembled from those pieces. That order is the difference between a consistent product and a collection of individual designs.

Typography: Instrument Sans

Instrument Sans was chosen for warmth without softness. It's humanist without being rounded to the point of feeling juvenile. Two weights only throughout the entire product: Regular for passive reading, SemiBold for active scanning and primary actions. The constraint keeps the visual hierarchy clean and intentional.

Color: Warm and grounded

The palette is built around warm neutrals rather than clinical whites and blues. That's a deliberate product decision and it traces directly back to the emotional safety principle. The brand color is a dusty mauve-purple. The severity scale runs from warm neutral through amber and terracotta to deep warm red, communicating gravity without triggering anxiety. Every color in the system has a reason.

Components: four pieces, every screen

Four core components: Button (4 variants), Selection Card (2 states), Input Field (2 states), Progress Bar. Every interactive element on every screen is an instance of one of these components.

WHAT'S NEXT

The product is now getting started

The core loop and log, learn, and advocate principle is built. What comes next extends into two directions.

The doctor report generator takes three months of consistent tracking and translates it into a plain-language clinical summary a physician can actually use in an appointment. Luna provides a readable document that answers the five questions a clinician needs answered to confirm a PMDD diagnosis. This closes the loop between Luna and the healthcare system in the most direct way possible.

The community layer is scoped to v2 deliberately. Once users share the Luna tracking experience, they have something concrete in common: their own longitudinal data. A PMDD community built on top of shared tracking is fundamentally more valuable than a generic forum. Users can compare patterns, discuss what worked, and feel less alone in something the healthcare system has too often dismissed. The community earns its place after the core product exists.

REFLECTION

This project started with a problem I understood personally and spent four sessions in product thinking before Figma opened. The research, the principles, the interaction model, and the component system were all defined before a single screen was designed.

What I'm most proud is that every visual decision in this product is traceable to a product reason. The warm background isn't aesthetic, it's anchors in Principle 2. The severity scale isn't decorative, it's clinically grounded. The trust contract comes last because the relationship needed to exist first. That traceability is what separates a designed product from a designed artifact.

If Luna taught me one thing it's this: the best AI products don't feel like AI. They feel like something that finally understands you.

Smooth Scroll
This will hide itself!