Overview
Fajr Alarm began as a simple, stubborn problem: how do you actually wake someone up for Fajr prayer reliably every day? It's grown a long way past that. Today it combines smart Fajr and Suhoor alarms with gamified wake-up challenges, accurate prayer and Iqama times, a complete Quran with recitation and tafsir, prayer tracking with streaks and levels, and mosque discovery that lets users switch from calculated prayer times to their own mosque's published schedule.
What used to be a client-only app now runs on a backend Blink22 built and operates in-house, a purpose-built API serving Quran recitation audio, per-ayah timing data, translations, tafsir, and Mushaf assets. Built natively for iOS (Swift) and Android (Kotlin), Fajr Alarm has become less an alarm clock and more a daily companion for anyone trying to stay consistent in their faith.
Technologies Used
- Android (Kotlin)
- iOS (Swift)
- Firebase (for analytics & notifications)
Platforms
- Android
- iOS
Timeline
2022 –
on-going enhancements and releases
Category
- Lifestyle
- Alarm
- Faith-based App
- Islamic App
App Links
Initial Requirements
Fajr Alarm is an in-house Blink22 product born out of a personal and community need: a reliable way to wake up for Fajr prayer. Existing solutions were either too rigid or too unreliable, so the first version focused on one thing: a gamified alarm that used smart mechanics to help people overcome sleep inertia and build the habit of praying Fajr on time.
The scope grew fast. Why stop at Fajr? The vision expanded into a modern, comprehensive app for the whole Muslim lifestyle: prayer and Iqama times, Qibla direction, Athkar, and calendar integration. More recently, that same instinct pushed the app further still into a full Quran experience, prayer tracking, and mosque discovery, changing Fajr Alarm from a client-only app into a product with its own backend and content pipeline.
Challenge
Fajr Alarm's technical challenges fall into two waves: the problems that shaped the original alarm and prayer-times core, and the ones that came with turning it into a full Islamic lifestyle platform.
Reliable alarm delivery across Android and iOS, even in silent mode, Do Not Disturb, or with the app backgrounded or terminated
Flexible scheduling for recurring days, special days like Al-Ayyam Al-Beed, and pre-prayer reminders
Accurate prayer and Iqama times across multiple calculation methods, geolocation, Hijri-Gregorian conversions, and time zones
Letting Athan play in silent or DND mode while respecting system audio policies
Keeping Islamic widgets current with next-prayer info without draining battery
Designing for a broad, mixed audience: elderly users who want reliability and younger users who respond to a more game-like experience
Fitting an entire Quran (604 Mushaf pages, tafsir books, translations, and hours of audio recitation per reciter) without a bloated download
Making a static Mushaf page interactive, so the app knows exactly which word a user tapped and which words to highlight as audio plays
Ayah-accurate recitation: starting from any ayah, repeating a range, changing playback speed, and keeping audio alive in the background
Serving recitation audio at scale without a runaway hosting bill
Keeping streaks, levels, and charts fast as tracking history grows
Supporting mosque-published times alongside calculated times, and finding mosques worldwide without downloading a country's worth of data at once

Prayer Times
Integrated precise location-based prayer time calculations, dynamically updating daily and mosque-specific Iqama schedules
Approach
Foundations (Alarm & Prayer Times)
Modular architecture: A backend designed to support alarms, reminders, prayer calculations, and widgets without performance loss as features were added.
Native development: Built natively for iOS (Swift) and Android (Kotlin) for maximum reliability, low latency, and consistent behavior, while taking full advantage of platform-specific APIs for alarms, notifications, and audio.
Interactive alarm logic: Challenge-based alarms using motion sensors, UI logic, and game mechanics (shake the phone, solve a question, play a memory game) so users are genuinely awake before dismissing an alarm.
Prayer and Iqama calculations: Multiple calculation methods, Hijri-Gregorian calendar conversions, and geolocation services for accurate prayer and Iqama times worldwide.
Smart audio management: Audio sessions configured to allow Athan playback in silent or DND mode while still respecting system-level notification rules.
Widgets and background updates: Background tasks optimized to keep home screen widgets current with the next prayer and full-day schedule, without draining battery.
Testing and QA: Thorough testing across alarms, background modes, time zone differences, and interactive challenge logic.
Scaling the Platform (Quran, Tracking, Mosques)
Offline-first, download-on-demand: The Quran text ships inside the app as a compact SQLite database. Page images, tafsir, translations, and reciter audio download only when a user actually requests them, then stay available offline.
A glyph coordinate map: Every word on every Mushaf page is mapped to coordinates linked to its surah and ayah, a single layer that powers tap-to-select, ayah highlighting during playback, page identification, and jumping from any ayah straight to its page.
Per-ayah audio timestamps: Recitation metadata stores a start and end time for every ayah, so playback can seek to a specific ayah, repeat a range, and follow along on the page. Playback runs in a media foreground service so it survives leaving the app.
Pre-aggregation instead of recalculation: Tracking writes to summary tables at log time (points per day, status counts, per-prayer aggregates, cached longest streak), so reading a streak or a year-long chart is a lookup, not a scan.
Geographic queries for mosques: Mosques are indexed by geohash, so "what's near me" is a cheap range query plus a distance filter, with no country-wide downloads needed.
Country coverage as configuration, not code: Calculation methods, Ramadan adjustments, and the mosque-times switch are all served from the backend per country, so adding a new country doesn't require an app release. A country's mosques get backfilled by a separate sync pipeline before the switch turns on.
Fixing alarms by measuring, not guessing: The alarm receiver was restructured so the foreground service starts first and heavier database work runs after, since the Android 12+ start window is only about 10 seconds and was being spent on the wrong things.
Documenting the tradeoffs we won't take: Routing the Fajr alarm through Bluetooth earphones would have meant giving up its Do Not Disturb exemption. The team chose "the alarm always sounds" over "the alarm sounds in your earphones," documented it as an architecture decision, and made it a blocking check in code review.
AI-assisted development with a hard gate: The team uses repo-scoped AI workflows for spec writing, ticket breakdown, implementation, and self-review. Before a PR can open, an automated multi-axis review checks coding standards, performance footguns, and whether the code matches the ticket, and stamps the exact commit it reviewed. Any critical finding blocks the PR.
A review knowledge base that ratchets forward: Whenever a human reviewer catches something the automated review missed, it gets written into the review rules permanently, so the automated pass keeps converging on the senior reviewer's judgment instead of drifting.
Solution
Blink22 delivered a feature-rich, yet simple-to-use, Islamic lifestyle app:
Smart Fajr and Suhoor alarms with interactive wake-up challenges, working reliably even in silent or DND mode
Accurate prayer and Iqama times across multiple calculation methods, with local mosque schedules and automatic Do Not Disturb during prayer
A structured Athkar library covering morning, evening, after-prayer, and before-sleep supplications
Full Quran experience: page-by-page Mushaf reading, multi-reciter recitation with ayah-level playback and repeat, downloadable tafsir and translations in 9 languages, and Khatmah reading plans
Prayer tracking across six quality levels, with points, levels, streaks, and monthly comparisons
Mosque discovery with clustered map pins, native-language search, one-tap "use this mosque," and full screen-reader support
A next prayer widget with live countdown, plus a tracking widget for the day's state
Support for 11 languages including Arabic, English, French, German, Spanish, Turkish, Urdu, Hindi, Bengali, Malay, and Indonesian
Outcome
Fajr Alarm launched on Product Hunt to a positive reception. At last measurement:
Global Reach: Over 1M downloads worldwide.
Daily Engagement: More than 100,000 daily active users.
High Trust: 4.9 stars on the Google Play Store with over 10.3K reviews and 4.7 stars on the Apple App Store, driven by strong word-of-mouth in the Muslim community.
Today, Fajr Alarm is more than an app; it’s a daily companion for Muslims who want to stay consistent in their worship, whether they’re just starting their prayer journey or deepening a lifelong habit.








