Skip to content

Latest commit

 

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Periodus

Periodus Logo

Private, Local-First Cycle & Reproductive Health Companion

License: AGPL-3.0 TypeScript React Capacitor Zero Knowledge Sponsor

Empowering health autonomy through on-device computing, zero surveillance, and Terminal Modernist design.


Note

Lineage & Origin: Periodus is an independent, actively developed hard fork of Lunara. It inherits Lunara's robust local-first foundation while introducing a state-of-the-art Terminal Modernist design system, fluid momentum scrolling, custom asynchronous dialog systems, and enhanced zero-knowledge cloud backup integrations.


✨ Why Periodus?

Feature Periodus Mainstream Commercial Apps
Data Privacy 100% Zero-Knowledge & Local-First Cloud-stored, monetized, or shared
Subscription Paywalls Free & Open Source Forever (AGPL-3.0) $50–$80/year recurring subscriptions
Onboarding Experience Fast, respectful & explainable 50+ intrusive question sales funnel
Cloud Backups Client-side encrypted (AES-256-GCM) Plaintext or server-accessible storage
UI Aesthetics Terminal Modernist (High-contrast dark gold) Generic pink pastels & ad banners
AI Assistant Bring-your-own-key, per-message consent Mandatory cloud telemetry

🚀 Key Features

🌑 1. Terminal Modernist UI & Tactile Physics

  • Vibrant & Legible Dark Theme: Deep obsidian surfaces (#16130b), glowing containers, and warm gold accents (#ffe1a3).
  • Fluid Momentum Scrolling: Complete touch physics (-webkit-overflow-scrolling: touch;, overscroll containment) across all main tabs, calendar overlays, health detail modals, and bottom sheets.
  • Floating Elevated Cards: Structured with clean hierarchy, responsive line-heights, and safe-area padding above the navigation bar.
  • Custom In-App Dialog System: Built-in useDialog modal alerts, confirms, copyable recovery codes, and prompts (no raw browser popups).

🩸 2. Adaptive Lifecycle Health Tracking

  • Cycle & Flow Forecasts: Probabilistic estimation windows tailored for both regular and irregular cycles.
  • Trying to Conceive (TTC): Basal Body Temperature (BBT) plotting, LH surge test tracking, cervical mucus, and fertile window calculation.
  • Pregnancy Support: Multi-source dating (LMP, ultrasound EDD, conception date) and developmental milestone timelines.
  • Perimenopause Monitoring: Tracking vasomotor symptoms, cycle length shifts, and clinician prompt generation.

🛡️ 3. Zero-Knowledge Backups & Native Cloud Sync

  • Native Cloud & Drive Sync (Zero-Setup): Save encrypted database snapshots (.vault / .json) directly into Google Drive, iCloud Drive, OneDrive, Proton Drive, Dropbox, Nextcloud, or local device folders using the OS file picker and share sheet — with 0 API keys, 0 Google Cloud setup, and 0 approval hassles.
  • Client-Side AES-256-GCM Encryption: All exports are protected on-device with authenticated encryption using your zero-knowledge recovery passphrase.
  • Stateless Cloudflare Relay: Optional support for headless zero-knowledge Worker + R2 relays.

🤖 4. Private AI Companion & Curated Insights

  • Bring Your Own Key: Connect Anthropic (Claude), OpenAI, or local custom endpoints (Ollama / LocalAI).
  • Hardware Isolation: API credentials are saved exclusively in iOS Keychain / Android Keystore.
  • Granular Consent: Choose exactly what categories of tracker context (if any) are attached to each question.
  • AI-Curated Women's Health Articles: Generate evidence-based articles dynamically saved directly into your local database.

🩺 5. Executive Doctor & Clinical PDF Reports

  • Executive Clinical Formatting: Structured PDF reports featuring the Periodus vector logo badge, 3 key cycle metrics cards, recent cycle history tables, 2-column symptom frequency grids, and biomarker logs.
  • Physician Consultation Notes: Dedicated clinician notes section for appointments and doctor visits.
  • Native Sharing & File Export: Built-in @capacitor/share and @capacitor/filesystem integration for native share sheet export on mobile and modern "Save As" file dialog on desktop.

📱 Getting Started on Mobile

Periodus can be compiled directly onto your device using standard Capacitor tooling:

1. Prerequisites

2. Clone & Install

# Clone the repository
git clone https://github.com/playpixelpro/Periodus.git
cd Periodus

# Install dependencies
pnpm install

# Build and sync native bundles
pnpm --filter @periodus/app native:sync
# or simply: pnpm native:sync

3. Run on Android (Windows, Mac, Linux)

  1. Install Android Studio.
  2. Enable USB Debugging on your Android phone under Developer Options.
  3. Open the Android project in Android Studio:
    pnpm --filter @periodus/app native:android
    # or: pnpm native:android
  4. Connect your device and press ▶ Run.

4. Run on iOS (macOS required)

  1. Open the iOS project in Xcode:
    pnpm --filter @periodus/app native:ios
    # or: pnpm native:ios
  2. Select the App target → Signing & Capabilities and choose your Apple ID team.
  3. Select your connected iPhone and press ▶ Run.

💻 Local Web Development

To run and test Periodus in your desktop browser:

# Start local Vite development server
pnpm dev

# Run full test suite (unit tests & fuzz estimation audits)
pnpm test

# Sync changes to native shells after code edits
pnpm --filter @periodus/app native:sync
# or: pnpm native:sync

🚀 Releasing a New Version

Periodus includes a single-command version bumper and automated GitHub Actions publishing:

1. Bump version across all project files

Run the release helper from the root directory with your target version (e.g. 1.2.0):

pnpm run release:bump 1.2.0

This single command automatically:

  • Updates "version" in root package.json and app/package.json
  • Updates APP_VERSION in app/src/lib/version.ts
  • Increments Android versionCode (e.g. 23) and updates versionName in app/android/app/build.gradle
  • Updates iOS MARKETING_VERSION in app/ios/App/App.xcodeproj/project.pbxproj

2. Commit, tag, and push to GitHub

The command outputs the exact git commands to run:

git add -A
git commit -m "chore: release v1.2.0"
git tag v1.2.0
git push origin main --tags

3. Automated Cloud Build & Publishing

Once the tag is pushed, GitHub Actions automatically:

  1. Compiles web assets and syncs Capacitor
  2. Builds the signed/release Android APK (Periodus-v1.2.0.apk)
  3. Publishes a GitHub Release with the APK attached and formatted changelog
  4. The in-app updater automatically notifies users of the new update on their devices

📂 Project Architecture

Periodus/
├── app/                          # Main React + Capacitor Application
│   ├── android/                  # Native Android project (com.playpixelpro.myperiod)
│   ├── ios/                      # Native iOS project & Widget Extension
│   ├── public/                   # Static assets, PWA manifests, icons
│   └── src/
│       ├── components/           # UI components (Sheets, DoctorReport, LogSheet, Dialogs)
│       ├── context/              # Global React contexts (DialogProvider, Theme)
│       ├── crypto/               # AES-GCM vault encryption & key derivation
│       ├── db/                   # Dexie / IndexedDB schemas and health profiles
│       ├── engine/               # Cycle estimation, stats, TTC, & safety fuzz tests
│       ├── lib/                  # Native bridges, assistant clients, date utilities
│       ├── screens/              # Core screens (Today, Insights, Trends, Settings, Onboarding)
│       └── styles/               # Terminal Modernist design system (tokens, app.css, health.css)
├── workers/                      # Cloudflare Worker relays (Backup & Reminders)
└── docs/                         # Architecture and technical specifications

🔒 Security & Privacy

  1. Zero Cloud Requirement: The database operates in SQLite (native) or IndexedDB (web).
  2. Encrypted Vaults: Secrets and sensitive fields use PBKDF2/Argon2 key derivation with authenticated AES-GCM encryption.
  3. App Links & Permissions: Health Connect (Android 14+) and Apple HealthKit permissions are strictly read-only and requested on-demand.

💖 Support & Sponsorship

Periodus is completely free, open source, and built without advertisements, investor tracking, or user data monetization. If Periodus brings value to your health autonomy, consider supporting independent development:

GitHub Sponsors Ko-fi Buy Me A Coffee Patreon


⚖️ License & Attribution


Periodus — Your cycle, your health, your data.

About

Periodus is a local-first, zero-knowledge cycle tracking app for Android and iOS — hard-forked from Lunara to deliver uncompromising data privacy and refined Terminal Modernist design.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages