Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 60 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,36 +36,89 @@

## About The Project

Stay aware of your cycle without sacrificing your privacy. Ephira is a secure period-tracker that keeps your data encrypted locally on your device.
Stay aware of your cycle without sacrificing your privacy. Ephira is a secure period tracker that keeps your data encrypted locally on your device.

Track Your Health: Log menstrual flow, symptoms, moods, medications, birth control, and notes.
**Track Your Health:** Log menstrual flow, symptoms, moods, medications, birth control, and notes.

Privacy First: Data is encrypted and never leaves your device. It can be locked behind biometrics (Face ID/Fingerprint) or a custom password, and can be deleted at any time.
**Privacy First:** Data is encrypted and never leaves your device. It can be locked behind biometrics (Face ID/Fingerprint) or a custom password, and can be deleted at any time.

Open and Transparent: Ephira is open source under the MIT license, and you can review the code at any time on Github.
**Open and Transparent:** Ephira is open source under the MIT license, and you can review the code at any time on GitHub.

<!-- VIDEO DEMOS -->
<!-- KEY FEATURES -->

## Key Features

### Customizable Calendar & Symptom Tracking

Add and track custom symptoms, moods, medications, and more with a smooth, visual calendar interface. Filter your calendar legend to only show the symptoms, moods, and medications you want to see. This makes it easy to focus on the data that matters most to you.

‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎<img src="https://github.com/user-attachments/assets/c0aaa86b-1fcb-4cac-874e-49b39a04bfb1" width="650"/>
\u200E \u200E \u200E \u200E \u200E \u200E \u200E \u200E \u200E<img src="https://github.com/user-attachments/assets/c0aaa86b-1fcb-4cac-874e-49b39a04bfb1" width="650"/>

### Cycle Insights & Predictions

The Cycle tab gives you a personalized view of your menstrual health. Once you've logged enough data, Ephira provides:

- **Current cycle status** — where you are in your cycle today
- **Phase tracking** — follicular, ovulation, luteal, and menstrual phases with wellness context
- **Cycle predictions** — predicted period start dates based on your logged history
- **Cycle statistics** — average cycle length, period duration, and historical trends
- **Wellness tips** — phase-specific suggestions tailored to your current cycle stage

Predictions require at least 2 complete cycles and can be toggled on or off in Settings.

### App Locking with Passcode & Biometrics

Protect your data with Face ID or a custom password unique to Ephira.
Protect your data with Face ID, fingerprint, or a custom password unique to Ephira.

![Password Demo (Final-All)](https://github.com/user-attachments/assets/296864e6-ae4e-48ac-8ee8-b9ca0cd0f9e9)

### Data Export

Export your full health history as a PDF at any time from the Settings screen. Your data stays yours — you can take it with you or share it with a healthcare provider.

### Color Themes

Choose from multiple color themes to personalize the look and feel of the app. Themes apply across the entire interface.

### Birth Control Tracking

Log and track birth control alongside your other health data. Configure your birth control type in Settings to keep everything in one place.

### Notifications

Set up reminders to log your data or be notified about upcoming predicted periods.

### Guided Onboarding & Walkthrough

A step-by-step walkthrough helps new users get set up quickly. The walkthrough can be replayed at any time from Settings.

<!-- LICENSE -->

## License

[![License][license-shield]][license-url]

See `LICENSE.txt` for more information.

<!-- CONTRIBUTING -->

## Contributing

We welcome contributions! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on branching, commits, pull requests, and code quality standards.

**Quick start:**

```bash
git clone https://github.com/adulbrich/ephira.git
cd ephira
npm install
npx expo start
```

See [PROJECTSTRUCTURE.md](PROJECTSTRUCTURE.md) for an overview of the codebase, key libraries, and local setup instructions.

> **Note:** Due to using Expo SQLite, the app only runs on physical devices or emulators (not Expo web).

## Acknowledgments

<a href="https://github.com/adulbrich/ephira/graphs/contributors">
Expand All @@ -85,12 +138,6 @@ See `LICENSE.txt` for more information.

[Minion Variable Concept](https://fonts.adobe.com/fonts/minion)

<!-- GETTING STARTED -->

## Getting Started

Check out the [Project Structure](https://github.com/adulbrich/ephira/blob/main/PROJECTSTRUCTURE.md) document for an overview of the key components of the app, main libraries used, and how to set up the app locally.

<!-- MARKDOWN LINKS & IMAGES -->
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->

Expand Down
32 changes: 27 additions & 5 deletions docs/src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ import googlePlayBadge from "../assets/google-play-badge.png";
<section class="space-y-8">
<h2 class="text-3xl font-bold font-serif text-[#f2e4bf]">Project Overview</h2>
<p>
Ephira is a local-only, open-source menstrual tracking app designed to prioritize user privacy and data security. It allows users to track their reproductive health without exposing sensitive data to cloud-based platforms or third parties. While there are many privacy-focused menstrual tracking apps out there, many back data up in the cloud or aren't open source.
Ephira is a local-only, open-source menstrual tracking app designed to prioritize user privacy and data security. It allows users to track their reproductive health without exposing sensitive data to cloud-based platforms or third parties. While there are many privacy-focused menstrual tracking apps out there, many back data up in the cloud or aren't open source.
</p>

<h3 class="text-xl font-semibold mt-8">Tech Stack & Implementation</h3>
Expand All @@ -93,15 +93,15 @@ import googlePlayBadge from "../assets/google-play-badge.png";
<div class="flex flex-col md:flex-row-reverse md:items-center gap-6">
<div class="md:w-1/2">
<h4 class="text-lg font-semibold text-[#f2e4bf] mb-2">App Locking with Passcode & Biometrics</h4>
<p>Protect your data with Face ID or a custom password unique to Ephira.</p>
<p>Protect your data with Face ID, fingerprint, or a custom password unique to Ephira. No account needed — your lock is local to your device.</p>
</div>
<video src="assets/feature-password.mp4" autoplay loop muted playsinline class="rounded aspect-video w-full md:w-1/2 min-h-[600px] object-contain"></video>
</div>

<div class="flex flex-col md:flex-row md:items-center gap-6">
<div class="md:w-1/2">
<h4 class="text-lg font-semibold text-[#f2e4bf] mb-2">Customizable Calendar & Symptom Tracking</h4>
<p>Add and track custom symptoms, moods, medications, and more with a smooth, visual calendar interface.</p>
<p>Log menstrual flow, symptoms, moods, medications, birth control, and notes. Add your own custom entries and track exactly what matters to you with a smooth, visual calendar interface.</p>
</div>
<video src="assets/feature-custom-entries.mp4" autoplay loop muted playsinline class="rounded aspect-video w-full md:w-1/2 min-h-[600px] object-contain"></video>
</div>
Expand All @@ -115,12 +115,34 @@ import googlePlayBadge from "../assets/google-play-badge.png";
</div>

<div class="flex flex-col md:flex-row md:items-center gap-6">
<div class="md:w-1/2">
<h4 class="text-lg font-semibold text-[#f2e4bf] mb-2">Cycle Insights & Predictions</h4>
<p>The Cycle tab gives you a personalized view of your menstrual health. Track your current phase — follicular, ovulation, luteal, or menstrual — and get predicted period start dates based on your logged history. View cycle statistics like average length and duration, and receive phase-specific wellness tips. Predictions kick in after 2 complete cycles and can be toggled on or off in Settings.</p>
</div>
<!-- MEDIA NEEDED: a screen recording or screenshot of the Cycle tab showing phase tracking, predictions, and stats -->
<div class="rounded w-full md:w-1/2 min-h-[300px] bg-[#9892a0] bg-opacity-10 flex items-center justify-center text-[#9892a0] text-sm italic">
Cycle insights demo coming soon
</div>
</div>

<div class="flex flex-col md:flex-row-reverse md:items-center gap-6">
<div class="md:w-1/2">
<h4 class="text-lg font-semibold text-[#f2e4bf] mb-2">Custom Themes & Color Schemes</h4>
<p>Personalize your app with six different themes and light/dark mode support based on your device settings.</p>
<p>Personalize your app with multiple themes and light/dark mode support based on your device settings.</p>
</div>
<img src="assets/feature-color-schemes.gif" alt="Color Scheme Demo" class="rounded w-full md:w-1/2 max-h-[600px] object-contain" />
</div>
</div>

<div class="flex flex-col md:flex-row md:items-center gap-6">
<div class="md:w-1/2">
<h4 class="text-lg font-semibold text-[#f2e4bf] mb-2">Data Export</h4>
<p>Export your full health history as a PDF at any time from the Settings screen. Your data stays yours — take it with you or share it with a healthcare provider.</p>
</div>
<!-- MEDIA NEEDED: a screen recording or screenshot showing the export flow (Settings › Export Data, generating and viewing the PDF) -->
<div class="rounded w-full md:w-1/2 min-h-[300px] bg-[#9892a0] bg-opacity-10 flex items-center justify-center text-[#9892a0] text-sm italic">
Data export demo coming soon
</div>
</div>
</section>
</section>
</Layout>
Loading