How to use Cyclz

A complete guide to tracking your cycle, predicting ovulation, managing your contraceptive pill, recording medical appointments, and configuring reminders - with the same explanations as the in-app guide.

Introduction

What Cyclz does, and what it doesn't.

Guide overview

This page explains in detail how Cyclz calculates cycle, ovulation, and fertility predictions, the tracking of the contraceptive pill, medical visits, notifications, and other app features.

You can come back to consult these explanations at any time.

Important notice

Cyclz uses simple mathematical calculations based on your historical data and settings. These predictions are estimates only and should not replace professional medical advice.

The app is not a medical device, cannot diagnose, and is not suitable as a contraception method. If in doubt or for any medical question, consult a healthcare professional.

Valid periods and exclusions

Cyclz is designed to track menstrual periods and only menstrual periods.

Criteria for a valid period:

  • Duration: from 2 to 14 consecutive days of bleeding
  • Interval since previous period: at least 18 days

Bleeding outside these criteria is not supported:

  • Spotting (very light bleeding, fewer than 2 days)
  • Intermenstrual bleeding (between two normal periods)
  • Very short cycles (fewer than 18 days between two period starts)

The app refuses any entry at input that doesn't match these criteria, with a clear message. If you have atypical bleeding, consult a healthcare professional. Cyclz can't characterize them - it's out of scope.

Summary tab

The home page - everything at a glance.

Profile

Accessible via the profile icon at the top right of the Summary page or the Edit my info button in the My info section. Groups your personal info: cycle settings, contraceptive pill, date of birth, blood type, weight (20 to 250 kg/lb) and height (40 to 280 cm).

Birthday card

In the My info section of the Summary page, the age card shows your date of birth, age in years, months, and days, and a countdown to your next birthday.

Leap-year birthday

If you were born on 29 February, you can choose to celebrate your birthday on 28 February or 1 March in non-leap years. This preference also applies to birthday notifications if enabled.

The current age calculation stays correct in all cases: it's based on your real date of birth, not your preference.

Last medical visit

As soon as a visit is recorded, a shortcut on the Summary page shows the last visit (doctor, date, time elapsed). Tap it to open the full details in the Appointments tab.

Next appointment

If an appointment is upcoming, a Next appointment card appears at the top of the appointments section on the Summary page: doctor's name, date and time, and countdown. Tap it to open the full details.

Visit statistics

The Statistics card shows the number of visits this year, upcoming appointments (if more than 0), and the total number of recorded visits. These numbers update automatically as you add or delete visits.

Cycle tab

The heart of period tracking.

Introduction

The Cycle tab is the heart of period tracking.

It shows your monthly calendar with recorded and predicted periods, the cycle ring with your current day, statistics (typical cycle/period length, variability), and lets you edit period dates directly.

Cycle ring

The ring on the Cycle page represents your cycle in circular form. Each day of the cycle is marked by a tick on the ring. The current day is indicated by a large colored dot. Colored segments show:

  • Red for period
  • Pink for the fertile window
  • Yellow for ovulation
  • Light for the follicular and luteal phases
Cycle day number

The cycle day number is shown on the Cycle page (« Day X » badge on the ring) and in the monthly calendar below each day.

Day 1 = first day of your last period. It progresses to the total cycle length (e.g., day 28), then resets to 1 on the first day of the next period.

Cycle length calculation

Until you have recorded at least two consecutive periods, the app uses the cycle length set in Settings (default 28 days).

Once there's enough data, the app takes the last 7 cycles (the gap between each period start and the next) and calculates the median. Only intervals validated at input are used (see « Valid periods and exclusions »).

Abnormal intervals outside the cycle range (pregnancy, break, very late entry) are excluded to avoid skewing the median.

The general method (median, progressive blend, 4 cycles for full confidence) is described in « Settings and calculated values ».

Period length calculation

If no period is recorded, the app uses the period length set in Settings (default 5 days).

Once the first period is recorded, the app counts the bleeding days (inclusive) for each and takes the median over the last 6 periods. Only periods validated at input are used (see « Valid periods and exclusions »).

The general method (median, progressive blend, 4 periods for full confidence) is described in « Settings and calculated values ».

Fertile window

The fertile window is calculated only if the « Show fertility » option is enabled.

It begins 5 days before the estimated ovulation date and ends 1 day after ovulation. The window therefore lasts 6 days total (ACOG recommendation).

Ovulation calculation

Ovulation is calculated only if the « Show fertility » option is enabled in Settings.

The ovulation date is estimated by subtracting the luteal phase duration from the start date of the next expected period. By default, the luteal phase is 14 days (editable in Settings between 8 and 20 days).

If the combination of your settings (short cycle + long luteal phase) makes ovulation fall during the period, fertility indicators are automatically hidden to avoid incoherent estimates. Review your profile settings to correct this.

Days with multiple events

When a calendar day matches several events, the app follows this priority order (most to least important):

  1. Recorded period: days you've manually recorded always take absolute priority.
  2. Predicted period: calculated periods rank above fertility markers because the fertile window may overlap with the previous cycle's period.
  3. Ovulation: the estimated day of ovulation.
  4. Fertile window: the days around ovulation.
  5. Normal day: no particular event.
Predictions of upcoming cycles

The app generates up to 13 predicted cycles (about a year ahead).

The calculation starts from the start date of your last recorded period and chains the cycles:

  • The next cycle start date is obtained by adding the effective cycle length to the previous start date.
  • The predicted period lasts as long as your effective period length, starting on that date.

If the end of a predicted period passes with no new period entered, predictions are frozen until you confirm. See « Cycle tracking states » below.

Cycle tracking states

The app has three states:

  • Active: normal use. Predictions show and notifications are active.
  • Awaiting confirmation: if the end of your predicted period has passed with no new period recorded, all future predictions are frozen until you decide. A card appears at the top of the Cycle page with the predicted date and two buttons: « Confirm » directly records the period on the predicted dates, « Edit » opens the pre-filled editor. The awaited cycle stays visible on the calendar (dashed pink).
  • Paused: if you manually pause tracking from the bottom of the Cycle page (pregnancy, menopause, voluntary stop), predictions and notifications stop. A « Resume tracking » card remains accessible.

The app never guesses the reason for a stop. You decide.

Edit period dates

You can edit period dates directly from the calendar by tapping the « Edit periods » button at the top of the Cycle page. Tap each day to add or remove it from a period. You can also use the « Edit » button at the top of the calendar for bulk edits.

Future dates can't be selected when editing periods. Only past dates and today are accepted, since a period only exists once it has occurred.

Earlier than 2010: periods can be edited as far back as the year 2010. Earlier dates are neither editable nor accepted - the app is designed to track current cycles, not older medical history.

Settings and calculated values

The app uses two types of values for each parameter (cycle length, period length):

  • Profile: the value you manually set in your settings (default 28 days for the cycle, 5 days for the period).
  • Effective: the value actually calculated from your data. This is the one used for predictions and statistics.

Effective value calculation method:

  • Sampling: the last 7 cycles for cycle length, the last 6 periods for period length.
  • Input validation: periods between 2 and 14 days, intervals between periods ≥ 18 days (physiological cycle range, between 18 and 45 days). No additional filter at calculation: the median absorbs atypical cycles.
  • Median: central value after sorting. More stable than the mean against extreme values.
  • Progressive blending: with little data, the result leans toward the profile value. Confidence becomes total from 4 valid samples.

If both values are identical, your data naturally matches your settings.

Pill tab

Track your contraceptive pill packs.

Introduction

The Pill tab is independent from cycle tracking. It lets you manage your birth control pill packs, track your daily intake, and view your history.

Important: if you take a combined pill, the ovulation and fertility estimates shown by Cyclz are not reliable - the pill blocks ovulation.

Create a pack

To start tracking, create a new pack by entering the pill name, the pack type, and the start date. Each pack lasts 28 days total, and the end date is calculated automatically.

Three types are supported:

  • 21/7: 21 active days followed by 7 break days.
  • 24/4: 24 active days followed by 4 break days.
  • 28 (no break): daily intake continuously for 28 days (some end-of-pack pills are low-dose or placebo).

The pill name must contain between 1 and 30 characters. The start date can't be earlier than year 2010.

Confirm daily pill intake

Tap an active day to confirm intake. Tap again to cancel. Only past active days and today can be confirmed (future confirmations aren't allowed). Pause days can't be toggled - they're always recorded as « break ».

Day status

Each day shows a status:

  • Blue: intake confirmed
  • Orange: missed (past active day without confirmation)
  • Gray: break day
  • Outline: future active day
Actions on the whole pack

Long-pressing a pack card opens a menu:

  • « Mark all as taken » confirms intake for all active days; to unconfirm all, select « Mark all as untaken ».
  • « Clear all » clears all recorded intakes (useful to reset without deleting the pack).
  • « Delete » deletes the pack permanently.
Current pack on Summary

If a pack is active, the Summary page shows a shortcut with the 28 days. Tap a day to confirm intake. Tap the card to open the full Pill tab.

Pack history

All your packs are shown on a timeline. Gaps between two packs are shown with their duration.

Edit or delete: long-press a pack to edit or delete it. Editing the start date deletes intakes made before the new date (security safeguard).

Select a past pack: tap an older pack to view its details at the top of the screen and edit intakes. Tap again to deselect.

Future packs

You can record a pack with a future start date, up to 12 months ahead. Useful if you've already bought the pack but haven't started it yet, or to plan ahead.

A future pack appears in the timeline with a special visual marker. As the start date approaches, it automatically becomes the current pack.

No intake can be confirmed in advance: intake confirmation is only allowed from the day itself.

Overlapping pack dates

Two packs can't overlap in time. If the entered start date conflicts with an existing pack, an alert appears when saving. Two options: cancel the entry, or delete the old pack to make room for the new one.

The end date (start date + 28 days) is calculated automatically and used to detect conflicts.

Pause days

Pause days (packs of 21 and 24 active days) show no icon. No notification is sent during pause days.

Appointments tab

Track your medical visits and upcoming appointments.

Introduction

The Appointments tab lets you track your medical visits: doctor, date, and reasons for the visit. Each visit is recorded with a scheduled time and customizable reminders before the appointment.

Add a visit

To add a visit, tap « New visit » at the top. Choose a doctor from the list (or create one), pick the date and time, then select one or more reasons for the visit. A note field lets you add details.

Visit reasons

Available visit reasons are: Routine visit, Follow-up, Illness, Vaccination, Pregnancy, and Other. You can select several reasons for the same visit - each reason is shown as a separate tag on the visit card.

Upcoming appointments

You can record a medical appointment in the future, with a date and time, up to 12 months in advance. The date picker shows the past (for recording old visits) AND the future (for appointments). Upcoming appointments are grouped separately at the top of the list so you can see them at a glance. Once the date has passed, the appointment is automatically considered « completed » and joins the rest of the history.

Time remaining and updates

On each upcoming appointment card, the time remaining is shown in detail (months, days, hours, minutes) and recalculates in real time. When the appointment is near (< 24h), it switches to a precise format (hours and minutes). Once the date is past, the card moves to the « My visits » section and shows the time since the appointment.

Filters and timeline

Use the « Doctor » and « Reason » menus at the top to filter visits. The default option « All » shows all recorded visits. You can filter by doctor, by reason, or combine both.

When no filter is active, a badge at the top of the first card shows the time since the last visit, allowing you to see if you're behind on checkups. This badge is hidden when a filter is applied to avoid confusion.

Quick actions

Each visit card shows quick buttons next to the doctor's name: call, SMS, email. These actions are only visible if the doctor has a corresponding contact (phone or email) recorded.

Manage doctors

You can manage the list of doctors via the « Doctors » button at the top. Each doctor has: a name (required), an optional phone number, and an optional email. These contact details are used for the quick call / SMS / email actions.

Deletion rule: a doctor with recorded visits can't be deleted, to protect your medical history. Delete the visits first, or change the doctor on each visit, before removing this doctor.

Duplicate rule: a doctor name can't be duplicated. If you try to add a doctor with the same name as an existing one, the app refuses with an error and no duplicate is created.

Notifications

Smart reminders for pill, periods, visits and birthday.

Pill notifications

Enable reminders in Settings to receive a daily notification at the chosen time. The reminder doesn't fire on break days or after the end of the pack.

Backup: when you confirm intake, today's reminder is cancelled and the next 27 days are automatically scheduled as backup reminders.

Tap the notification: if you confirm intake by tapping the notification, the intake is recorded automatically and the app opens on the Pill tab.

Pack end reminder

A few days before the end of the pack (28 days total), the app sends a single notification to remind you to buy and add the next pack. The reminder arrives at your pill reminder time, with a choice of two messages (explicit or discreet). Disabled by default, can be enabled in Settings.

Period notifications

Cyclz schedules up to 12 notifications for future periods predicted from your history. Reminders fire at your chosen time, with a choice of two messages (explicit or discreet).

Timing: choose your notice - same day, 1 day before, or 3 days before. Sending time is the one you set in Settings.

Period end confirmation

This reminder invites you to confirm the end of your period in the app if the prediction matches reality. Useful if your cycles vary or end earlier/later than expected.

The reminder can arrive 1 day before the predicted end, on the same day, or 1 day after, depending on your Settings. The time is shared with the period start reminder.

For each future predicted cycle, the app schedules a single reminder. Up to 12 reminders can coexist.

Appointment reminders

Sends a reminder before each upcoming medical appointment, with a customizable delay (3 days, 1 day, 3 hours or 1 hour before). One reminder per appointment, with a ceiling of 5 upcoming appointments (iOS limit).

Birthday notifications

An annual notification that automatically repeats every year on your birthday. Requires a birth date set in your profile. Disabled by default, can be enabled in Settings.

If you were born on 29 February, the reminder respects your choice in the profile (celebration on 28 February or 1 March in non-leap years).

Reminder limits

iOS limits the number of simultaneously scheduled local notifications to 64 (across all apps).

Cyclz schedules at any given time:

  • Up to 27 pill reminders (backup for active days)
  • Up to 12 upcoming period reminders
  • Up to 5 upcoming appointment reminders
  • One birthday reminder (annual)
  • One end-of-pack reminder (if enabled)
  • Up to 12 end-of-period confirmation reminders
Widgets

See your cycle and pill at a glance on the home screen.

Add to home screen

Add Cyclz widgets to your home screen to see your information at a glance. Long press on the home screen, then the + button at the top to open the gallery, and search for Cyclz.

Cycle widget

Two sizes available:

  • Small: discreet countdown to the next period phase.
  • Medium: same countdown + mini monthly calendar with recorded/predicted periods and fertile window.

Both show the current day of the cycle in a colored dot. When tracking is awaiting confirmation, a message replaces the countdown.

Pill widget

Two sizes available:

  • Small: current day of the pack (e.g., Day 12 / 28) or « Break » during break days.
  • Medium: same info + mini-grid of the 28 days of the pack with the status of each day (taken, missed, today, upcoming).
Widget language

Widgets display the language chosen in the app. As soon as you change the language in the app settings, they update at the next timeline tick (quasi-immediate).

Settings

Personalize Cyclz and manage your data.

Customization

You can personalize the app from Settings:

  • Language: choose from 14 languages (effective on next launch)
  • Appearance: light, dark, or auto
  • Units: kg/lb (weight), cm/ft (height)
  • Start of week: Monday or Sunday
  • Show fertility (enables ovulation and fertile window calculation)
  • Arabic month styles (Maghreb, Standard, Levantine)
  • Number system in Arabic (Latin 0-9 or Eastern Arabic ٠-٩)
Default values

Default settings:

  • Cycle length: 28 days (editable from 18 to 45 days)
  • Period length: 5 days (editable from 2 to 14 days)
  • Luteal phase: 14 days (editable from 8 to 20)
  • Pill notification: off by default. Sent at 20:00 with a discreet message. A 27-day safety backup schedules the next days automatically when you confirm intake.

Settings validation:

  • Period length must be less than cycle length.
  • Luteal phase must be less than cycle length.
  • A pack's start date can't be in the future.

If you reduce the cycle length and the period length or luteal phase becomes greater than it, these values are automatically brought back to the maximum allowed.

Reset

In the « Reset » section of Settings, two destructive actions are available:

  • « Delete all data »: permanently deletes all your data (profile, periods, packs, doctors, visits). This action is irreversible.
  • « Reset settings »: resets all settings to default values (language, appearance, units, etc.), without touching your data.

Both require confirmation via an alert. Your data is stored locally and synced via iCloud if enabled: deletion also removes the iCloud copy.

Export and import data

You can export all your data (profile, periods, pill packs, doctors, medical visits) as a JSON file from Settings. This lets you create a backup or transfer your data to another device.

You can also import a JSON file to restore your data. All data is validated before application, and the import replaces all existing data.

Format version: the export file includes a format version number. This ensures compatibility with future versions of the app - previously exported files can still be imported.

Accessibility

Designed to work for everyone.

VoiceOver screen reader

The entire app is readable by VoiceOver: each day in the Cycle tab calendar is read as a single element with its date, state, and cycle number. The ring in the Cycle tab announces the current day and phase. Home screen widgets clearly state the current state. Section titles are marked to allow quick navigation via the rotor.

Adaptive text size

All the app's text follows iOS Dynamic Type: if you increase text size in Settings → Display & Brightness → Text Size, or Settings → Accessibility → Larger Text, everything grows automatically in Cyclz - including the large numbers on the ring and cards.

Reduced motion

If you enable « Reduce Motion » in Settings → Accessibility → Motion, Cyclz's animated transitions (such as the ring appearing, month sliding in the calendar, and animated icons in the tab bar) are instantly replaced by immediate transitions. Crucial information stays visible, but no motion effect is triggered - useful for vestibular sensitivity.

Language and script

The app is available in 14 languages (Bahasa Indonesia, Deutsch, English, Español, Français, Italiano, Nederlands, Polski, Português, Türkçe, Русский, العربية, 한국어, 日本語), with full right-to-left support. You can also choose the number system (Latin 123 or Eastern Arabic ١٢٣) from the profile section, and your choice is respected in all screens, notifications, and widgets.