尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
HRT tracker for Android: dose log, PK projection, lab results. Encrypted, offline.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗HRT medication tracker for Android with PK projections and lab tracking. On-device, encrypted, no account required.
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, Simplified Chinese, Traditional Chinese, and Cantonese.
⚠️ 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, optionally scaled per route to your own estradiol results — 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.
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.
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. When you log E2 results, an on-device fit scales each route's contribution to match them and draws a prediction interval around the adjusted 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.
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.
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.
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.
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.
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.