Zmanim Alarm

Android · Kotlin · KosherJava

Wake by the Jewish clock.

Your alarm should follow the halachic hours, not a fixed dial.

Zmanim Alarm computes 15 zmanim for your GPS location each day and programs alarms in Google Clock via SET_ALARM intents. Set a minute offset and custom tone per slot, and let the daily 00:05 refresh worker re-arm one-shots after Clock auto-disarms them.

Requires Google Clock installed
ZMANIM ALARM All Zmanim Sunday, July 5 13 Tamuz 5785 SOF ZMAN KRIAS SHEMA (GRA) CHANGE ZMAN 9:18 RING ALARM 10 MINUTES BEFORE Tone: Orbit SET ALARM + Add New Alarm

Today's timeline

Fifteen zmanim, recalculated daily

5:12Alos
72 min
5:48Misheyakir
11°
6:04Netz
Sunrise
8:42Sof Zman K"S
MGA
9:18Sof Zman K"S
GRA
9:52Sof Zman Tefila
MGA
10:14Sof Zman Tefila
GRA
12:48Chatzot
HaYom
1:06Mincha
Gedola
4:22Mincha
Ketana
5:38Plag
HaMincha
8:22Shkia
Sunset
9:04Tzeis
8.5°
9:34Tzeis
72 min
12:48Chatzot
HaLayla

Sample · Chicago summer · KosherJava · GRA default

In the app

Dial, widget, and nightly refresh

Clock dial

NextZmanWidget

Daily 00:05 refresh

Why it works

Halachic precision meets real alarms

01

15 zmanim via KosherJava

ComplexZmanimCalendar computes Alos, Misheyakir, Netz, both MGA and GRA Sof Zman Krias Shema and Tefila, Chatzot, Mincha Gedola and Ketana, Plag, Shkia, Tzeis (8.5° and 72 min), and Chatzot HaLayla.

02

Location-aware

Google Play Services resolves your position on launch and saves coordinates to SharedPreferences for background workers. Zmanim shift with the seasons and travel — set your place once, recalculate daily.

03

Built to fire

SET_ALARM intents land in Google Clock with a descriptive label, your chosen tone URI, and the offset-adjusted fire time. The 00:05 refresh worker re-arms one-shots after Clock auto-disarms them.

How it works

From GPS to ringing alarm

1

Resolve location

FusedLocationProviderClient fetches coordinates on launch and persists them for overnight workers — no manual city picker.

2

Compute today's zmanim

KosherJava builds a ComplexZmanimCalendar for the current date at local noon. All 15 slots populate "All Zmanim" and feed each alarm card.

3

Configure slots

Tap "+ Add New Alarm" and pick any zman. Set minutes-before offset, choose a tone from Google Clock's library or browse your own audio file.

4

Program Google Clock

"Set Alarm" fires ACTION_SET_ALARM with EXTRA_HOUR, EXTRA_MINUTES, EXTRA_MESSAGE, and EXTRA_RINGTONE. If the time changed, the old alarm is dismissed first.

5

Refresh at 00:05

Every night DailyAlarmReceiver reloads saved slots, recalculates zmanim from stored coordinates, and re-arms every alarm for tomorrow.

Tech stack

Zmanim Alarm is a companion to Google Clock — it calculates halachic times and programs the alarms; Google Clock rings them. Samsung Clock is not supported; install Google Clock before first use.

⌂ DashboardDesign ·ClaudeCodexGrokGeminiDeepSeek