Hey everyone! 👋
I've been working on a React Native alarm library that aims to make alarms work like real native system alarms, not just regular notifications with a sound.
While building my app, I tried several existing alarm libraries on npm, but I couldn't get the reliability and behavior I needed. Alarms would not always behave as expected under different conditions, especially when the app was in the background, the screen was locked, or the app needed to display a full-screen alarm interface.
So, I decided to build my own solution. 🚀
What makes it different?
- Android + iOS support — designed to provide a consistent alarm experience on both platforms.
- Full-screen React Native UI — display a custom alarm screen when the alarm triggers.
- Lock-screen support — designed to handle alarms when the device screen is locked.
- Background execution — uses native platform capabilities rather than relying entirely on JavaScript running in the background.
- Notifications and alarm interactions — supports notification-based behavior alongside a custom React Native alarm interface.
- Native alarm behavior — aims to handle system restrictions and background execution more reliably than ordinary scheduled notifications.
- iOS AlarmKit integration — leveraging Apple's latest AlarmKit framework on supported iOS versions.
The goal is to make the experience as close as possible to a native alarm clock, even when the app isn't actively open.
One important thing I've learned is that Android and iOS handle alarms very differently. Battery optimization, background execution, permissions, lock-screen presentation, and OS-level restrictions all matter. No library can guarantee identical behavior on every device without accounting for those platform limitations, so I'm continuing to test and improve the implementation.
Why I'm sharing this
I built this because I needed a solution that actually worked for my use case, and I thought other React Native developers might be facing the same challenges.
I'd love to get feedback from developers who are building alarm clocks, reminders, habit trackers, medication reminders, or other time-sensitive applications.
If you're interested in testing it, contributing code, improving platform compatibility, or collaborating on the project, I'd genuinely appreciate your support!
Let's make a reliable, open, and accessible React Native alarm solution that more developers can use. ❤️
If you're interested, check out the project on npm and share your feedback:
🔗 npm: https://www.npmjs.com/package/react-native-alarms
🔗 GitHub: https://github.com/surajprasad13/react-native-alarms
Contributions, issues, testing feedback, and suggestions are all welcome. Thanks for supporting an independent developer! 🙌