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.
| 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 |
- 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
useDialogmodal alerts, confirms, copyable recovery codes, and prompts (no raw browser popups).
- 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.
- 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.
- 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.
- 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/shareand@capacitor/filesystemintegration for native share sheet export on mobile and modern "Save As" file dialog on desktop.
Periodus can be compiled directly onto your device using standard Capacitor tooling:
- Node.js LTS (v20+)
- Git
- pnpm (
npm install -g pnpm)
# 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- Install Android Studio.
- Enable USB Debugging on your Android phone under Developer Options.
- Open the Android project in Android Studio:
pnpm --filter @periodus/app native:android # or: pnpm native:android - Connect your device and press ▶ Run.
- Open the iOS project in Xcode:
pnpm --filter @periodus/app native:ios # or: pnpm native:ios - Select the App target → Signing & Capabilities and choose your Apple ID team.
- Select your connected iPhone and press ▶ Run.
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:syncPeriodus includes a single-command version bumper and automated GitHub Actions publishing:
Run the release helper from the root directory with your target version (e.g. 1.2.0):
pnpm run release:bump 1.2.0This single command automatically:
- Updates
"version"in rootpackage.jsonandapp/package.json - Updates
APP_VERSIONinapp/src/lib/version.ts - Increments Android
versionCode(e.g.2→3) and updatesversionNameinapp/android/app/build.gradle - Updates iOS
MARKETING_VERSIONinapp/ios/App/App.xcodeproj/project.pbxproj
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 --tagsOnce the tag is pushed, GitHub Actions automatically:
- Compiles web assets and syncs Capacitor
- Builds the signed/release Android APK (
Periodus-v1.2.0.apk) - Publishes a GitHub Release with the APK attached and formatted changelog
- The in-app updater automatically notifies users of the new update on their devices
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
- Zero Cloud Requirement: The database operates in SQLite (native) or IndexedDB (web).
- Encrypted Vaults: Secrets and sensitive fields use PBKDF2/Argon2 key derivation with authenticated AES-GCM encryption.
- App Links & Permissions: Health Connect (Android 14+) and Apple HealthKit permissions are strictly read-only and requested on-demand.
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:
- Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
- Periodus is an open-source hard fork of Lunara.
- Periodus is not affiliated with, endorsed by, or connected to Flo Health Inc.