CycleOS: Hustle Less, Flow More

Rationale

The luteal (pre-menstrual) phase of the menstrual cycle is often associated with negative emotional, physical, and behavioral changes.1 While the pre-menstrual symptoms of most menstruators do not impair daily life, nor reach the severity required for clinical diagnosis,2 they can still affect one’s quality of life. For example, in a survey of 32,748 menstruators in The Netherlands, menstrual symptoms have resulted in large losses in productivity.3

However, most menstruators are not aware of these influences, which makes them vulnerable to self-criticism over their lost productivity. This could potentially create a feedback loop where menstruators overexert themselves to make up for lost productivity, which exacerbates their menstrual symptoms, and the cycle repeats.

Additionally, most period-tracking apps in the market focus on the relationship between menstrual symptoms and only one lifestyle factor, such as productivity, exercise, diet, or sleep, thus failing to provide a holistic view of the bidirectional relationships between their lifestyle factors and menstrual symptoms.

As such, the need exists for an app that encourages sustainable productivity in menstruators by:

  1. Aggregating sleep and exercise data—securely and automatically—from other health apps on the user’s device wherever possible
  2. Visualizing the bidirectional relationships between their wearable data, menstrual symptoms, and productivity to increase awareness about how their lifestyle affects their menstrual cycle
  3. Encouraging them to exercise self-compassion and self-care, especially when healthy baselines are breached and/or menstrual symptoms are particularly intense, through the use of in-app messages as well as app notifications

Weekly Updates

Proposed Deliverables and Timeline

ComponentDeadline
1. Reading Health Data from Wearables via HealthConnect
[ ] Use React Native package to read Exercise (steps, workouts) and Sleep data from HealthConnect
[ ] Store data securely on-device
Fall 2024, Week 2
2. Onboarding Flow
[x] Prompt first-time users to enter 1) the average length of their menstruation, 2) the average length of their cycle, and if possible, 3) the first day of their last period
Fall 2024, Week 2
3. Predicting Ovulation Window and Start of Next Menstruation
[ ] Determine the start of the next menstruation from the running average length of the past three menstrual cycles
[ ] Determine the window of ovulation based on the running average length of the past three menstruations and the predicted start of the next menstruation
Fall 2024, Week 2
4. Daily Check-Ins to Self-Report Menstrual Symptoms
[ ] Allow users to self-report menstrual symptoms (mood, cramps, fatigue, etc.)
[ ] Create notifications to remind users to check in at the beginning and end of the day
Fall 2024, Week 3
5. Google Calendar Integration
[ ] Create a new Google Calendar in the user’s Google account that shows the phases of the menstrual cycle as all-day events
[ ] Display user’s Google Calendar events on the home page of the app
[ ] Encourage users to connect their Google Calendar during onboarding, but allow them to skip at first
Fall 2024, Week 4
6. Visualizing Sleep, Exercise, Menstrual Symptom, and Calendar Data
[ ] Visualize the trend of individual constructs and subconstructs over time
[ ] E.g. Sleep can be broken down into duration, wakefulness, fragmentation, deep sleep, sleep and wake times
[ ] Visualize menstrual symptoms in relation to menstrual phase, sleep, exercise, and productivity data (types of work done and duration of hours worked)
Fall 2024, Week 6
7. Deterministic Suggestions after Breaching Healthy Baselines
[ ] Decide on which health baselines to account for (lack of exercise, less than 6.5 hours of sleep, etc.)
[ ] Craft suggestions for lifestyle adjustments when these baselines are breached
Fall 2024, Week 6
8. (Stretch Goal) Account for Menstruators with Irregular Periods
[ ] Adjust onboarding flow to allow self-reported irregularity
[ ] Adjust next-period prediction algorithm (e.g. running average no longer makes sense)
Spring 2025, Week 3
9. (Stretch Goal) Unsupervised Classification of Google Calendar Events
[ ] Use unsupervised classification techniques like topic modelling to classify Google Calendar events from their titles
Spring 2025, Week 3

Changes to Proposed Deliverables

  • September 9, 2024: Switched from Flutter to React Native with Expo as I am more comfortable with Javascript/Typescript.

  • September 2, 2024:

    • Reading Basal Body Temperature (BBT) data from wearables requires special permissions that I do not qualify for. Will use self-reported BBT data instead.
    • Replaced a stretch goal, "Cross-device Data Availability", with accounting for irregular periods as the latter is more useful.

References

Footnotes

  1. Dilbaz, B., & Aksan, A. (2021). Premenstrual syndrome, a common but underrated entity: review of the clinical literature. Journal of the Turkish-German Gynecological Association, 22(2), 139–148. https://doi.org/10.4274/jtgga.galenos.2021.2020.0133

  2. Schoep, M. E., Adang, E. M. M., Maas, J. W. M., Bianca De Bie, Aarts, J. W. M., & Nieboer, T. E. (2019). Productivity loss due to menstruation-related symptoms: a nationwide cross-sectional survey among 32 748 women. BMJ Open, 9(6), e026186–e026186. https://doi.org/10.1136/bmjopen-2018-026186

  3. Wittchen, H.-U., Becker, E., Lieb, R., & Krause, P. (2002). Prevalence, incidence and stability of premenstrual dysphoric disorder in the community. Psychological Medicine, 32(1), 119–132. https://doi.org/10.1017/s0033291701004925