-
-
-
-
-
-
-
Record what you promised and how many rakat you owe, then tick them off as you fulfil them.
-
Find the qibla in an instant. The compass turns green the moment you face the Kaaba.
-
Never miss a prayer time. The sky follows the real sun and moon for any city in the world.
-
Keep track of missed prayers. Add the prayers you owe and log each one as you make it up.
-
Prayer times on your home screen. The widget shows the time left without opening the app.
Inspiration
Most prayer apps stop at telling you the time. The part that actually weighs on people is what they missed and haven't made up yet (qada), and the vows (adak / nazar) they made and want to honour. Namaz Takip was built around that debt, not just the clock. It is free, has no ads, and never will: the only money it asks for is a tip.
What it does
- Prayer times for any city in the world, with a sun-and-moon scene that follows the real sky: the sun rides its arc by day, the moon shows its true phase by night, and a city abroad is read in its own clock.
- Daily check-in. One sheet, five days back. Mark each prayer as prayed or missed. Anything marked missed goes straight into your qada ledger; anything left blank is skipped, so an honest "I don't remember" never inflates the debt.
- Qada tracker. A running balance per prayer of what you still owe, with one-tap "add" and "prayed one", and protection against counting the same day twice.
- Vows (adak). Write down what you promised and how many rakat you'll pray if it comes true, then tick them off as you pray them.
- Qibla compass. A live needle that turns green when you're facing the Kaaba.
- Reminders that respect the ezan. A notification before a prayer window closes, with snooze and pause, and a lock-screen "I prayed" action that logs the prayer without opening the app. Home Screen widgets show the same sky.
- Nine languages: Turkish, English, Arabic, German, French, Russian, Indonesian, Malay and Hindi, with Western digits everywhere so the hand-formatted prayer times never clash with the interface.
How it's monetized (RevenueCat)
Everything in the app is free and ungated. There is no paywall, no trial and no ad. The single purchase surface is a tip jar: three consumables (a tea, a coffee, generous support) served from a RevenueCat Offering, so the tiers and prices can be retuned from the RevenueCat dashboard without shipping a build. Tips are consumables precisely so that someone who wants to give again can; a supporter mark on the settings page is the only thing a tip "buys".
Note for judges: no promo code is needed. Every feature is available without purchasing anything; the tip jar is the in-app purchase, and it unlocks nothing.
How I built it
SwiftUI with the Observation framework, WidgetKit, UserNotifications, CoreLocation, and the RevenueCat purchases-ios SDK (5.x) with StoreKit 2. Prayer times come from Diyanet's public feed. Illustrations are hand-painted watercolours keyed out of their white backgrounds in a small Python pipeline. The whole app is a single, small, local-first codebase: all state is one JSON file in Application Support, nothing leaves the device except a request for prayer times.
Challenges I ran into
- Cities in other time zones. The prayer feed publishes times in each city's own clock but reports the server's GMT offset for every city, so Dallas looked like it was waiting for dawn at two in the afternoon. The fix was to parse the offset out of the feed's ISO date and read "now", reminders and the widget in the city's clock.
- A Foundation locale bug. A
-u-nu-latnlocale extension makesDateFormatterreturn empty strings for English and Turkish, while Russian and Arabic work. The app now probes once at launch and falls back. - Lock-screen actions on cold launch. iOS delivers a notification action before any SwiftUI
.taskruns, so the delegate had to be installed synchronously inApp.init(). - Drawing a correct moon. Getting every waxing and waning phase right, including a full disc, took a rewrite of the terminator curve.
Accomplishments
Version 1.0 went live on the App Store on 28 August 2026. Version 1.1 (nine languages, the five-day check-in, the tip jar, city clocks) is in review with all three RevenueCat-powered tips attached.
What's next
Hijri calendar and Ramadan mode, an Apple Watch complication, and Android.
Built With
- core-location
- ios
- revenuecat
- storekit
- swift
- swiftui
- usernotifications
- widgetkit
- xcode
Log in or sign up for Devpost to join the conversation.