Skip to content
 
 

Repository files navigation

Featherline icon

Featherline

English · 简体中文

HRT medication tracker for Android with PK projections and lab tracking. On-device, encrypted, no account required.

License: GPL v3 Build minSdk targetSdk

Featherline logs doses across injection, patch, gel, oral, and sublingual routes; projects estradiol levels from your dose history using a three-compartment pharmacokinetic model; and tracks blood test results with automatic unit conversion across canonical and clinical units. Everything stays in an encrypted local database — no accounts, no telemetry, no network calls. Backups are encrypted and compressed. Available in English and Simplified Chinese.

⚠️ Not medical advice. Featherline is a tracking tool, not a medical device, and using it does not establish a clinician relationship. The pharmacokinetic projection is a rough population-average estimate from your logged doses — it is not a substitute for blood tests or for a clinician's interpretation, and you should not use it to make dosing changes. See docs/safety.md for the full disclaimer.

Get the app

Get it on Google Play Get it on F-Droid

Note: The Play Store or F-Droid version is recommended. The app holds no internet permission, so the GitHub APK cannot check for updates — you will need to monitor the releases page manually for new versions.

Features

  • Log doses across injection, patch, gel, oral, and sublingual routes
  • Configurable reminder schedules with snooze and exact-alarm handling
  • Group medications and apply schedules to grouped doses
  • Optional medicine stock tracking with low-stock warnings and schedule-aware "days remaining" estimates
  • Estradiol pharmacokinetic projection from your dose history
  • Blood test catalog with automatic unit conversion (pg/mL ↔ pmol/L, ng/dL ↔ nmol/L)
  • Encrypted, compressed backup format with restore validation
  • App lock with biometric unlock
  • Home-screen quick-log widget in two sizes, with progress, next-dose, and tap-to-log
  • Journal tab to track meaningful dates on a timeline with milestones, plus per-day notes; pin any date to your home screen as an anchor widget or shortcut showing its running day count
  • No accounts, no telemetry, no network calls — everything stays on device
  • English and Simplified Chinese
  • Material 3 with dynamic color

Screenshots

Home screen Plan view History log Calibration screen
Home Plan History Calibration

How it works

Featherline is a single-module Android app written in Kotlin with Jetpack Compose. Doses, reminders, and lab results live in a SQLCipher-encrypted Room database. The pharmacokinetic engine is a three-compartment model that converts every logged dose into an estradiol contribution over time, then sums contributions across all routes to produce a projected curve. Reminders use AlarmManager with exact-alarm permission handling and snooze support; notifications survive reboots and time changes through a reconciliation layer. The blood test catalog defines analytes with bidirectional unit conversion via a canonical factor table. Backups are encrypted, compressed, and use a versioned format with full restore validation.

The full architecture, data model, and reminder pipeline are documented in docs/architecture.md.

Roadmap

  • Replace the pharmacokinetic engine with a more general multi-medication model
  • Personal-PK calibration tuned from your own lab results
  • Optional encrypted cloud backup (off by default, end-to-end encrypted)
  • Additional languages — translation contributions welcomed on Hosted Weblate (see docs/localization.md)

Tech stack

Kotlin, Jetpack Compose with Material 3, Hilt for dependency injection, Room with SQLCipher for encrypted persistence, Coroutines + Flow. See gradle/libs.versions.toml for exact versions.

Building from source

Prerequisites: JDK 17, a recent Android Studio, and an Android SDK whose API level matches the project's compileSdk. Standard Android Studio import; run ./gradlew assembleDebug or use the IDE.

Detailed instructions, flavors, and CI behavior: see docs/building.md.

Contributing

Contributions are welcome. Read the Code of Conduct first, then see CONTRIBUTING.md for development workflow, branching conventions, and how to propose changes.

Translation contributions are welcome on Hosted Weblate.

Privacy

Featherline stores everything on your device in an encrypted database. There are no accounts, no telemetry, and no network calls. See docs/privacy.md for the full data-handling description.

License

Featherline is released under the GNU General Public License, version 3.0. See LICENSE for the full text. Third-party dependency, asset, and adapted-code notices are listed in docs/third-party-notices.md.

Acknowledgments

About

HRT tracker for Android: dose log, PK projection, lab results. Encrypted, offline.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages