Back to projects

Women’s Health and Cycle Tracking

Luna

A platform that tracks menstrual cycles, fertility windows, and daily health symptoms in a secure, understandable, and personalized experience.

Luna is a modern and secure web platform that helps women track menstrual cycles, fertility windows, and daily health symptoms. With a Next.js interface, Spring Boot backend architecture, privacy-focused experience, doctor report exports, and personalized insights, it makes health data easier to understand.

ContextPersonal Project
FocusCycle tracking, ovulation prediction, and health insights
RoleProduct architecture and full-stack development
Luna
Cycle day18
Ovulation window
Privacy filter
Doctor report

A secure health tracking experience beyond a counter

The platform creates a dynamic cycle calendar from core information such as last period start date, average cycle length, and average bleeding duration.

Cycle day, estimated period date, ovulation window, and daily symptom records are made understandable from one dashboard. The application is for information and tracking; it is not a medical diagnosis tool.

Value for the user

  • Cycle and fertility predictions become visible through a clean calendar and circular dashboard.
  • Daily symptoms such as mood, pain level, sleep quality, discharge type, and energy level can be recorded.
  • The last 3 or 6 months of data can be exported as PDF/CSV output to share with a doctor.

Value-added product features

Luna focuses on turning daily health data into meaningful insight instead of being a simple date calculator.

01

Advanced symptom tracking

Beyond bleeding days, daily data such as mood, pain level, sleep quality, discharge type, and energy level is recorded.

02

Smart insights

Personalized notifications and pattern awareness are provided based on historical cycle data.

03

Doctor report export

The last 3 or 6 months of health and cycle data can be exported as PDF or CSV to share with a gynecologist.

04

Data privacy mode

A privacy filter blurs sensitive health details when the app is opened in crowded environments.

Working logic and flow

As user data is validated, predictions are updated and the future cycle calendar is recalculated in the backend.

01

Onboarding

When the user signs up, the last period start date, average cycle length, and average bleeding duration are collected.

02

Dynamic dashboard

On login, the current cycle day is shown together with the time remaining until the next period or ovulation window.

03

Calendar-based data entry

The user selects days to enter symptom and period data; when a period start is confirmed, predictions are updated against real data.

04

Background calculation

The Spring Boot backend asynchronously recalculates the next 6 months of cycle calendar with the new data.

Technical architecture

Frontend and backend responsibilities are separated for SEO, secure data handling, and sustainable modularity.

01

Frontend

Next.js App Router is used for dynamic UI, SEO readiness, and a modern user experience.

02

Backend

Spring Boot 3.x manages secure business logic, JWT-based authentication, and asynchronous calculation processes.

03

Database

PostgreSQL is preferred to store relational date and user data safely and consistently.

04

Deployment

A Dockerized structure is planned for publishing through api.tokay.dev and app.tokay.dev subdomains.

Calculations and ovulation prediction

The first version is based on the medically common Calendar Method.

Next period dateLast period start date + average cycle length
Ovulation dayNext expected period date - 14 days
Fertile windowOvulation - 5 days through ovulation + 1 day

Example scenario

Last period dateOctober 1
Cycle length28 days
Next expected periodOctober 29
Estimated ovulation dayOctober 15
Fertile windowOctober 10 - October 16