Hello Codeforces community!
Have you ever missed a Div 2 or Div 3 round simply because you forgot the schedule or got confused with time zone conversions?
As competitive programmers, we participate in contests across multiple platforms like Codeforces, AtCoder, CodeChef, and LeetCode. Managing alarms manually for every single contest can be annoying and easy to forget.
To solve this, I built Contest Alarm App — a free, open-source, local-first Android app designed specifically for competitive programmers!
Key Features
- Multi-Platform Auto-Sync: Automatically fetches live contest schedules from Codeforces, AtCoder, CodeChef, LeetCode, Clist and more.
- Division-Wise Auto-Alarms: Set automatic alarms for your preferred divisions (Div 1, Div 2, Div 3, Div 4, Educational, ABC, ARC, Starters) as soon as new contests appear.
- Auto-Reschedule on Time Changes: If Codeforces delays or reschedules a contest, the background worker automatically updates the schedule and adjusts your alarm accordingly.
- Reliable Lock-Screen Alarms: Rings a loud alarm 30 minutes before the contest start time, waking up your screen even if the phone is locked or in Doze mode.
- Custom Alarms with Notes: Set manual alarms with personal notes for virtual practice or study sessions.
- Offline-First & Local Storage: Uses Room SQLite Database. Your scheduled alarms continue to work seamlessly even without internet connectivity.
Technology Stack
- Language: 100% Kotlin
- UI Framework: Jetpack Compose (Material 3)
- Architecture: MVVM + Clean Architecture
- Storage & Networking: Room DB & Retrofit 2
- Background Engine: WorkManager & AlarmManager
Download & Source Code
The app is completely free, open-source, and has zero ads.
- GitHub Repository: https://github.com/mdshahriaswapno/contest-alarm-app
- Direct APK Download (v1.0.0): https://github.com/mdshahriaswapno/contest-alarm-app/releases/tag/v1.0.0
Feedback & Contributions
Give it a try and let me know your feedback in the comments! If you find any issues or have feature suggestions, feel free to contribute or open an issue on GitHub.
Don't forget to star the repository if you find it helpful.
Happy coding & good luck for your upcoming contests!




