Inspiration

Although a period spans only a few days every month, our bodies undergo various hormonal, physical and emotional changes throughout the entire cycle. We noticed that most period trackers focus on what happens during the menstrual phase, but don't take into account what we can do to take care of our bodies in between each period. With dot. we hope to provide catered health and food recommendations and insights throughout the entire menstruation cycle, to help people who menstruate to better understand their bodies and take control of their periods.

What it does

dot. is a period analysis dashboard that displays a user’s past, current and future cycle based on menstruation data logged on their phone through the Google Fit app. Based on the user’s current phase in their cycle, the web app will provide health and nutrition recommendations, as well as nearby locations to obtain feminine hygiene products.

How we built it

We used the Google Fit REST API to collect menstruation flow data logged on the user’s phone, with Node and Express to request the data. The data was then processed into statistics such as cycle length, period length and next period dates and stored in a JSON file. The React frontend retrieves the data from the JSON file and dynamically adds calendar events for the user’s last cycle, next phases and next cycle. The user is also able to read more information on each phase, including nutritional information, recommended recipes and expected symptoms. We also applied the Google Maps API to map out nearby locations that offer feminine hygiene products.

Challenges we ran into

Retrieving data from the JSON file and creating custom calendar events based on the user’s data.

Accomplishments that we're proud of

The UI/UX, the frontend, the interactive Google Map

What we learned

We learned how to use the Google Fit API and how to dynamically connect it to a website.

What's next for dot.

Integrating a mood tracker that allows the user to log how they feel and uses Cohere AI to interpolate a mood. Adding exercise recommendations based on user's current phase.

Built With

+ 1 more
Share this project:

Updates