# Recon map: Google Clock / Pixel Clock (Android) Scope: the whole app: alarms, world clock, timer, stopwatch, bedtime, alarm ringing screen, settings, screensaver, home-screen widgets For: personal use, a clock and alarm app without Google services (project NoGooleApps) Date: 2026-10-17 ## Sources | # | source | URL | notes | | --- | --- | --- | --- | | 1 | help center | https://support.google.com/clock/?hl=en | full settings list (alarms, time and date, display), world clock, timer, widget | | 2 | help center | https://support.google.com/clock/answer/9887159?hl=en | bedtime schedule, reminder, bedtime mode, sunrise alarm, sleep sounds | | 3 | review | https://www.slashgear.com/1540180/android-clock-app-features-you-dont-know | sounds, pause alarm, volume buttons, snooze range, alarm duration, screensaver | | 4 | app store listing | https://play.google.com/store/apps/details?id=com.google.android.deskclock | pitch only, no screenshots saved | | 5 | screenshots | replica/uhr/screens/ref-01..07.png | supplied by user: alarm list (dark), world clock + settings, timer/alarm expanded/alarm sound, missed-alarm notification, ringing screen, launcher icon, stopwatch. Reference only, never shipped | ## Core loop Set an alarm in a few taps and be woken reliably at that time, every time, even with battery saver and Do Not Disturb. ## Screens | ID | screen | route / how to reach | purpose | key components | states seen | | --- | --- | --- | --- | --- | --- | | S01 | Alarm list | tab "Alarm" (default) | all alarms, on/off | top bar + overflow, alarm cards (label, big time + AM/PM, next-ring text, switch, expand chevron), FAB "+" | empty, filled, alarm off (dimmed time), section headers ("Wake up" = bedtime alarm, "Other") (ref-01, ref-03) | | S02 | Alarm expanded | tap a card | edit one alarm in place | label field, time, day chips S M T W T F S, switch, rows: pause alarm, sound, vibrate, delete | expanded (ref-03) | | S03 | Time picker | tap time / FAB | pick hour and minute | M3 clock dial / keyboard input toggle | dial, input | | S04 | Alarm sound | S02 → sound row | choose ringtone | tabs (sounds; streaming partners in original), list with play preview, "add new" (own file) | playing, selected (ref-03) | | S05 | Pause alarm | S02 → pause row | skip until a date | date picker | | | S06 | Clock (world clock) | tab "Clock" | local time + cities | big time with seconds option, date, next alarm, weather line, city cards (name, day offset, time) , FAB add | one city, many (ref-02) | | S07 | Add city | S06 FAB | search a city | search field, result list | empty, results | | S08 | Timer | tab "Timer" | set and run timers | keypad (h m s) + start; running cards: label, ring progress, remaining, +1:00, pause/play, reset, delete; FAB add | idle keypad, running, paused, ringing, several timers (ref-03) | | S09 | Stopwatch | tab "Stopwatch" | measure time, laps | big 00:00.00, buttons start/stop, reset, lap (large pill buttons), lap list | idle, running, stopped, laps (ref-07) | | S10 | Bedtime | tab "Bedtime" | sleep schedule | first-run "get started", bedtime + wake-up times, days, sleep duration, reminder, sunrise alarm, sleep sounds | empty, set | | S11 | Alarm ringing | full screen when an alarm fires | snooze or stop | big time, label, swipe/slide control "Snooze ← ⏰ → Stop", optional weather after stop | ringing, snoozed (ref-05) | | S12 | Timer ringing | full screen / notification | stop or +1:00 | | | | S13 | Settings | overflow → Settings | alarm, time, display settings | rows (silence after, snooze length, alarm volume, gradually increase volume, volume buttons, start week on, home time zone, automatic home clock, style analog/digital, seconds, night mode, timer sound/vibrate) | (ref-02) | | S14 | Screensaver / bedside | overflow → Screensaver; system dream | dim clock on dark screen | analog/digital clock, night mode (red, dim) | day, night | | S15 | Notifications | system | upcoming alarm (dismiss early), snoozed, missed alarm, running timer/stopwatch | notification actions | missed (ref-04) | | S16 | Widgets | launcher | time on home screen | digital, analog, world clock list, next alarm | sizes | | S17 | Lock-screen / quick settings tile | system | next alarm, start timer | | guess | ## Flows ``` F01 Set a new alarm S01 -> FAB -> S03 pick time -> OK -> S01 (new card, "in 7 h 12 min" toast) happy path clicks: 3 (FAB, dial hour+minute, OK) edge: same time exists, exact-alarm permission revoked, notifications off, battery saver F02 Make an alarm repeat on weekdays and name it S01 -> tap card -> S02 -> tap 5 day chips -> label -> collapse happy path clicks: 8 F03 Wake up S11 rings -> snooze (slide left) -> rings again after 10 min -> stop (slide right) edge: volume buttons set to snooze/stop, phone locked, DND, silent mode, reboot before alarm F04 Skip tomorrow's alarm S15 "upcoming alarm" notification -> "Dismiss now" or S02 -> pause until date (S05) F05 Run a timer S08 keypad 5 0 0 -> start -> running card -> +1:00 -> rings (S12) -> stop happy path clicks: 4 edge: app closed, several timers at once, timer ends while screen off F06 Measure laps S09 start -> lap ×n -> stop -> reset F07 Add a world clock S06 -> FAB -> S07 search -> tap city -> S06 edge: reorder by long press, delete by swipe F08 Set a bedtime schedule S10 get started -> wake-up time + days -> bedtime -> reminder -> done (creates the "Wake up" alarm in S01) F09 Change alarm sound S02 -> sound -> S04 -> preview -> select / add own file ``` ## Components | component | variants | states | used on | | --- | --- | --- | --- | | Bottom navigation bar | 5 destinations with pill indicator | selected, unselected | all tabs | | Top app bar | title + overflow menu | | all tabs | | Alarm card | collapsed, expanded | on, off (dim), ringing soon, snoozed | S01, S02 | | Big time text | alarm (56sp bold + small AM/PM), clock (very large), stopwatch (mono digits), ringing (huge) | | S01, S06, S09, S11 | | Switch | M3 with thumb | on, off | S01, S02, S13 | | Day chips | 7 round chips | selected (filled), unselected (outline) | S02, S10 | | Settings row | icon + text + trailing (plus, check, chevron) | | S02 | | FAB | large round "+" | | S01, S06, S08 | | Timer card | ring progress, time, +1:00 pill, play/pause big pill, close | running, paused, ringing | S08 | | Keypad | 0-9, 00, backspace, display h m s | empty, typing | S08 | | Big pill buttons | primary (start/stop), secondary (reset, lap) | | S09, S08 | | City card | name, offset text, time | dragging, swiping | S06 | | Slide-to-act control | snooze ← → stop | idle, dragging | S11 | | Time picker | dial, input | | S03, S10 | | Notification | upcoming, snoozed, missed, timer running, stopwatch running | | S15 | | Analog clock face | own design | | S06, S14, S16 | ## Inferred data model ``` Alarm id, hour, minute, enabled, days (bitmask Mon..Sun), label, ringtone_uri, vibrate, snooze_until (nullable), skip_until_date (pause), is_bedtime_wake, created_at evidence: S01, S02, help "Set, cancel, or snooze alarms" confidence: high AlarmInstance alarm_id, fire_at (UTC instant), state (scheduled | snoozed | ringing | missed | dismissed) evidence: S11, S15 notifications confidence: medium (needed for snooze/missed) Timer id, label, duration_ms, remaining_ms, state (idle | running | paused | ringing), end_at, created_at evidence: S08 cards confidence: high Stopwatch state, started_at, accumulated_ms, laps[] (lap_ms, total_ms) evidence: S09 confidence: high (single instance) City id, name, country, timezone, sort_order evidence: S06, S07 confidence: high Bedtime enabled, bed_hour, bed_minute, wake_alarm_id, days, reminder_minutes, sunrise (bool), sleep_sound evidence: S10, help "Set a bedtime schedule" confidence: high Settings silence_after_min, snooze_min, alarm_volume, gradual_volume_s, volume_buttons (snooze|stop|volume|none), week_start, home_timezone, auto_home_clock, clock_style (analog|digital), show_seconds, timer_sound, timer_vibrate, night_mode, theme evidence: S13 confidence: high ``` Relationships: Alarm 1-n AlarmInstance, Bedtime 1-1 Alarm (wake-up). No accounts. ## Feature matrix See `features.csv`. Must: 26, should: 17, could: 8, skip: 5. ## Out of scope (cannot or should not be cloned) - Streaming alarm sounds (YouTube Music, Spotify, Pandora, Calm): partner deals and accounts. Own audio files from the device replace them. - Google Assistant Routines: Google service. - Bedtime mode (silence + greyscale), sleep tracking, cough/snore detection, recent bedtime activity: Digital Wellbeing and system privileges, not available to normal apps. - Calendar "upcoming events" card: needs Google Calendar; could later read the local calendar provider. - Weather after the alarm: possible later via the Wetter app's data, not part of the first build. - Google's clock face, ringtones and icons: own designs and own/CC0 sounds. ## Size Screens 17, flows 9, entities 7. Hard parts: (1) reliable alarms (exact alarms, full-screen intent, Doze, reboot, time zone and DST changes), (2) timer and stopwatch running correctly in the background with live notifications, (3) the expressive UI (expanding cards, ring progress, slide-to-act) and widgets. Size: M.