A smart, beautiful, and persistent alarm clock designed to actually wake you up.
- Dynamic UI: A stunning, modern interface built entirely with Jetpack Compose Material 3.
- Smart Scheduling: Seamlessly handles one-time and recurring alarms based on your selected days.
- Wake Up Tasks: Simple swiping isn't enough. Arise forces your brain to wake up with interactive dismissal tasks:
- 🔢 Math: Solve arithmetic problems to shut the alarm off.
- 📳 Shake: Shake your phone vigorously to dismiss.
- 🧠 Memory: A quick memory game to jumpstart your cognition.
- Wake Up Check: A built-in failsafe that pings you a few minutes after dismissal to make sure you didn't fall back asleep.
- UI: Jetpack Compose for a reactive, declarative UI.
- Dependency Injection: Dagger Hilt for clean and scalable architecture.
- Database: Room for local persistence of your schedules.
- Background Work:
AlarmManagerandBroadcastReceivercombined with Coroutines to accurately trigger and reschedule alarms even when the app is closed. - Architecture: Clean Architecture principles (Domain, Data, and Presentation layers) utilizing MVVM.
Choose your time, set a custom label, pick your repeat days with quick toggles, and select the Task you want to defeat in the morning. Arise calculates exactly how long you have left to sleep!
Toggle this on, and Arise will subtly check in on you 5 minutes after your alarm is dismissed. If you don't respond, the alarm fires back up. No more "accidentally" going back to bed.
- Clone the repository:
git clone https://github.com/harsh-bhadauria/Arise.git
- Open in Android Studio: Open the project using Android Studio.
- Build & Run:
Sync Gradle and run the
:appconfiguration on your emulator or physical device.
Pull requests are always welcome! Whether it's adding a new dismissal task (like a barcode scanner or a step counter), improving the UI, or fixing bugs—feel free to open an issue or submit a PR.
~ Built with