Luna — PMDD Pattern Intelligence
ROLE
Product Designer
TEAM
Personal project
TIMELINE
12 weeks
PLATFORM
Figma · Claude AI · Cursor · Netlify

Product Designer
Personal project
12 weeks
Figma · Claude AI · Cursor · Netlify
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.
— 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.

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.

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.

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.
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.

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.
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.


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.
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.

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.
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.
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.
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.
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.








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.



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 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.

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.

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.
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.

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.
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.

Product Designer
Personal project
12 weeks
Figma · Claude AI · Cursor · Netlify
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.
— 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.

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.

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.

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.
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.

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.
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.


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.
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.

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.
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.
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.
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.
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.








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.



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 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.

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.

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.
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.

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.
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.

Product Designer
Personal project
12 weeks
Figma · Claude AI · Cursor · Netlify
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.
— 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.

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.

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.

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.
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.

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.
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.


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.
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.

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.
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.
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.
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.
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.








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.



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 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.

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.

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.
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.

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.
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.