Dark Hour Android is a native Android/Jetpack Compose app for inspecting sleep, circadian timing, and schedule alignment from Health Connect data. It is an Android native reimlementation of 25h.aozora.one (Aozora7/darkhour) that uses Health Connect instead of Google Health API as the source of data, making it usable with more wearable vendors.
- Dense actogram that can fit several months of data on one screen
- Actrogram customization
- Circadian night estimation from sleep data
- Extrapolation for circadian night into the future for planning
- Periodogram for circadian frequency analysis
- Ability to display weekly schedule or individual events on the actogram
core/contains pure Kotlin/JVM domain models and analysis algorithms.app/contains Android, Compose UI, Health Connect integration, persistence, and presentation state.
The core module has no AndroidX, Compose, or Health Connect dependencies.
Health Connect records are converted to Dark Hour SleepRecord models at the
app boundary before analysis.
Requirements:
- JDK 11 compatible toolchain
- Android SDK with the configured compile SDK
- A device or emulator with Health Connect for real data import
Run tests and build debug artifacts:
.\gradlew.bat test :app:assembleDebug :app:assembleAndroidTestRun connected Compose tests:
.\gradlew.bat :app:connectedDebugAndroidTestConnected tests require APK installation to be allowed on the device.




