Inspiration

Sleep is one of the most important aspects of human health, yet the standard advice we all follow of "7-8 hours" of sleep isn't even optimal for women's bodies. As we looked into sleep science, we realized the key fact, that women's sleep changes significantly across menstrual cycles, but that is ignored in most applications.

As two female developers, we felt that was especially relevant. Often times, we'd find that even just getting 7-8 hours didn't help or we'd wake up in the middle of the night, unable to go back to bed again, both common occurrences that are overlooked when it comes to women's sleep health. This is often even dismissed as poor health habits, diets, stress, etc. However, the real issue lies within the basic premise of sleep, even when everything an individual does seems to follow all the basic standards.

So, we refused to treat sleep as a fixed schedule, rather something that changes with our bodies.

What it does

On Her Clock is a menstrual cycle-based sleep platform that is able to explain, predict, and personalize sleep based on female biology.

Most apps make the assumption of consistency. Our app challenges that framework, where we introduce a cycle-based mode of sleep.

Rather than generic sleep tracking, our app:

  • Calculates user's cycle phase & day
  • Graphs biological changes (REM variations & body temperature fluctuation)
  • Connects symptoms with hormonal changes
  • Provides actionable, phase-dependent guidance for each night

Our app adapts based on the user's needs, rather than forcing the user to adapt to a fixed standard that isn't even optimal for them.

How we built it

We used HTML, CSS, and JavaScript for the frontend and for the backend, we use Firebase Authentication to store user accounts and Firestore for user's cycle + sleep log data.

Our algorithms do the following:

  • Calculate each cycle dynamically using our user's inputs
  • Map each day to a specific phase (period, follicular, ovulation, luteal)
  • Connect each phase to effects on user's bodies (REM, body temperature)
  • Store and update the logs using our database

Challenges we ran into

One challenge was simplifying complex biology. Hormonal changes across the menstrual cycle affect sleep in multiple ways (REM, temperature, timing), and we had to decide what actually mattered to show without overwhelming the user.

Another challenge was handling user data correctly. Since new users might not have existing data in Firestore, we had to make sure the app didn’t break and could still function with defaults. We also had to fix issues with saving logs reliably.

We also struggled with balancing simplicity vs. depth. The app could easily become cluttered with more features, but we focused on keeping it clean while still being meaningful.

Accomplishments that we're proud of

We’re most proud of how clearly the app explains something that is usually confusing. Instead of just tracking sleep, it connects symptoms to actual biological causes.

We also successfully built a full working system with authentication, data storage, and personalization. Users can log data, see patterns, and get insights that actually change based on their cycle.

What's next for On Her Clock

Next, we want to expand beyond sleep into related areas like mood, energy levels, and productivity, since all of these are affected by the cycle.

We also want to improve accuracy by incorporating more scientific data and potentially integrating wearable data (like Apple Watch or Oura Ring) to make predictions more precise.

Another direction we’re interested in is making the system more personalized by accounting for factors like genetics and ethnicity. For example, certain groups are more predisposed to conditions like diabetes, which can also affect sleep and overall health. Taking these differences into account would allow the app to be more than a one-size-fits-all model. In the long term, this approach could expand to more than just women's health as a system that considers biological and genetic differences more broadly, rather than relying on decades old data that was meant to serve only one demographic.

Share this project:

Updates