The ambient layerQuranFlow · v1 · 2026-07-17

One week of the semester — Week 8 of 15 — lived on the phone without opening the app. Faith Essentials' ambient board covers a day because its unit of rhythm is the day; QuranFlow's is the week, so this board walks Monday to Sunday: the glance, the circle, the recitation, the feedback, the verse. Every frame is grounded in the handoff data model and checked against Apple's Widgets and Live Activities guidance. Inherited verdicts from FE stand: countdowns are WidgetKit dynamic-date text, not Live Activities, in v1; the widget delivers a gift, never a counter. Full reasoning in the widget exploration document.

No streaks: no streak entity exists, gift not hook
Locked vocabulary: In review → Feedback ready
Discrete segments, never a composite percent
Times viewer-local · no zone suffixes
Live Activities only for bounded live events
Lock widgets designed in grayscale (vibrant material)
Monday 7:40 AM · The glance

The Home Screen, oriented P1

The Week widget (small · ink feature card) and the This Week widget (medium · interactive) — the SakStrip relocated to where the disorientation actually happens
Week
8of 15
3 videos · due Sunday
This week's verse
تَبَارَكَ الَّذِي بِيَدِهِ الْمُلْكُ
AL-MULK · 67:1
Week 8
Due Sun 11:59 PM
Watch3 videos · 12 min
Record2 attempts available
Feedback
Continue lesson ▸
  • The Week widget is the app's orientation device relocated. The audit's #1 finding — "8 out of 15" never read as Week 8 — is answered before the app opens: serif hero numeral over the 15-segment strip, exactly the Today screen's anatomy. It is the one ink feature card on the screen, per the one-dark-card rule.
  • The strip is the week reference; the numeral names it once. No "Week 8 of 15" caption repeated under the strip (R1: one week-reference per surface).
  • The whole 15-week timeline is computable on device — zero server, zero reload-budget pressure. States: "Starts Sep 7" pre-semester, the arc above while active, "15 of 15" at close.
  • This Week renders the loop as three discrete segments, never a percent — the Apple Fitness rings lesson: two-of-three done must read as progress, not 67% failure.
  • One computed button (R2): videos remaining → Continue lesson; watched → Record; submitted → no button, the status word does the work. The button is an App Intent; recording itself rightly deep-links into the app.
  • The small pair doubles for free: StandBy, CarPlay's widget stack, and visionOS 26 all take systemSmall as-is, no entitlements.

The verse, three quiet rules P1

This week's assigned ayah — not a verse of the day. Arabic and citation only, no translation (locked). No counter, no button, no state.
This week's verse
تَبَارَكَ الَّذِي بِيَدِهِ الْمُلْكُ
AL-MULK · 67:1
This week's verse
تَبَارَكَ الَّذِي بِيَدِهِ الْمُلْكُ
AL-MULK · 67:1
Paper · and its dark-mode token swap
  • The differentiator is the semester, not the widget. Every Quran-widget app ships a random daily verse; this is the verse the student is learning to recite this week — ambient rehearsal of the actual assignment. It changes on the week boundary, a static weekly timeline.
  • Inherited verbatim from FE's most emphatic rule: the verse is the gift. Reading it on the Lock Screen and never opening the app is a success. No day-count rides along.
  • Arabic + citation only, no translation — the Today screen's locked verse-closer rule, unchanged at widget scale. Citation in mono, the numbers-only mono rule.
  • The gold bar is the widget's one flourish. It is also its only decoration — no pill, no logo-as-identity.
Tuesday 6:46 PM · Before the circle

The furnished Lock Screen P1

Inline glance · circular gauge · rectangular next-session widget with a ticking dynamic-date countdown — the schedule, zero clicks deep
Week 8 · Qari circle 7:00
Tuesday, October 27
6:46
14m
QARI CIRCLE · 7:00 PM
in 14:07
Join opens 6:45
Q QuranFlow
Qari circle at 7:00 PM
Join opens 15 minutes before start.
  • Directly attacks audit finding #2: the schedule was five clicks deep behind an external calendar link, and students missed sessions they meant to attend. Now it is on the wallpaper.
  • The countdown is a widget, not a Live Activity — FE's resolved verdict, inherited. Dynamic-date text ticks live at zero refresh budget from a precomputed timeline; weekly-recurring sessions make the timeline trivial.
  • Lock widgets render in the system's vibrant material — desaturated, colored from the wallpaper — so these are designed in grayscale hierarchy (bright = primary, dim = secondary), not Sakina brand color.
  • The 15-minute "Join opens" line matches the app's session reminder timing and its soon state; times are viewer-local with no per-item zone suffix.
  • The notification and the widget share one thread identity — they supersede, never stack.
  • These accessory families are the watch complications — same code, designed in tandem per the HIG.

The session Live Activity Gated · P3 · needs ActivityKit push

When Live Activity infra lands: T−15 through session end, a true bounded event — the Dynamic Island design, ready
Compact · leading + trailing
Qari circle13:58
Expanded · long-press
Qari circle
Tuesday session · 7:00 PM
13:58TO JOIN
Live at 7:00 · Join opens 6:45Join
  • A live class is structurally a game in progress — the one QuranFlow moment that genuinely earns a Live Activity. Starts T−15, flips to "Live now · Join" at 7:00, ends when the session ends. Well inside the 8-hour cap.
  • Gated honestly: needs ActivityKit push (server infra). The v1 lock widget on the left delivers the same countdown with none of it — this frame waits, designed.
  • Four expanded regions per the HIG: name leading, ticking numerals trailing, the action in bottom; the plum-to-gold keyline is the sanctioned way to brand the black canvas.
Wednesday 9:12 PM · The recitation, submitted

The revoke window, made visible P2

A short Live Activity covering the genuinely live part of a submission: upload, then the grace window — a designed-in safety feature students would otherwise never see
Compact · during the window
4:32
Expanded
Recitation submitted
Attempt 1 of 2 · Surah Al-Mulk
4:32REVOKE WINDOW
Changed your mind? Revoking does not use an attempt.
9:22 PM · window closed · activity ends
Surah Al-MulkIn review
  • No app in the competitive scan does this. The 5–10 minute revoke grace period exists precisely for the post-submit second thought — the moment the student has already left the app. A bounded countdown is exactly what Live Activities are for.
  • No inline Revoke button. An accidental Lock Screen tap on a destructive action is worse than a tap-through; the activity deep-links to the revoke screen instead.
  • The activity ends when the window closes, leaving the locked status word — "In review" — to the widgets. The 48-hour coach SLA is not a Live Activity: it exceeds the 12-hour lifetime and a ticking timer against the coach would manufacture urgency the copy canon bans.
  • Runs from the app itself (the student just submitted), so no push infra is needed for this one — cheaper than it looks.
Friday 3:58 PM · Feedback arrives

The state flip P1

Not a new widget — the moment the coach replies, the widgets already placed turn gold. The strongest emotional beat in the program, delivered by WidgetKit push.
Week 8
Due Sun 11:59 PM
Watch3 of 3 watched
RecordAttempt 1 · Wed 9:12 PM
FeedbackFeedback ready
Play feedback ▸
  • Attacks audit finding #3: feedback arrived and students never noticed — the old button even read as "give feedback." Here the row and the computed button both flip; gold is the flourish, spent on exactly this.
  • "Feedback ready" — the locked second state of the four-word vocabulary, verbatim. Never "Hear back."
  • Delivered by a WidgetKit push notification (a widget push token reloads the timeline the moment the coach submits, bypassing the reload budget). QuranFlow already runs push for the feedback notification type — this is incremental, not new infrastructure. Fallback: reload on notification receipt.
  • Nothing sensitive crosses the Lock Screen: the status word travels, the coach's notes and marks do not.
  • Submitted Wednesday 9:12 PM, feedback Friday 3:58 PM — 42h 46m, inside the 48-hour promise. The widget never shows that math; the coach's SLA is the coach's burden (see below), not the student's countdown.

Zero-UI: the intent fan-out P2

One App Intents investment feeds the Action button, Control Center, Lock Screen controls, Siri, and Spotlight
Record
recitation
"Play my feedback"
Siri and Spotlight resolve the same three intents the widget button computes: Continue lesson · Record recitation · Play feedback.
  • iOS 18's ControlWidget puts Record recitation on the Action button and Lock Screen: press, land in the recorder. Hint text starts with a verb, per the API's own convention.
  • App Shortcuts ship pre-configured — no user setup — and surface in Spotlight ("Continue Week 8") on day one. WWDC25's direction: write the intent once, it is discoverable everywhere, Apple Intelligence included.
  • Plumbing, not surface: these are the same computed actions as the This Week widget, exposed to three more entry points at low design cost.
Saturday 11:04 PM · The quiet moment

StandBy bedside P1

Phone charging on its side — the system strips widget backgrounds and applies the red night tint itself. The verse, scaled up, and nothing else.
11:04 · Sat Oct 31
تَبَارَكَ الَّذِي بِيَدِهِ الْمُلْكُ وَهُوَ عَلَىٰ كُلِّ شَيْءٍ قَدِيرٌ
AL-MULK · 67:1
  • Free: StandBy takes the existing small verse widget, removes its background, and renders pure typography. The calligraphy under the automatic night tint is the most beautiful frame the system gives away.
  • The last thing seen before sleep is this week's ayah — ambient rehearsal, no ask attached. Saturday night, before Sunday's deadline, the widget still refuses to nag: the deadline lives in the This Week widget as a fact, nowhere as a threat.

Sunday midnight · the strip advances P1

No fanfare state — the week boundary is the reward
Week
8of 15
Practiced · week complete
Week
9of 15
3 videos · due Sunday
Sunday 11:59 PM → Monday — one more segment, quietly
  • The week state is derived, never stored: at midnight the timeline entry simply changes. The eighth segment fills, the ninth turns gold. That is the entire celebration — consistent with a program whose progress is real (a semester) rather than manufactured (a streak).
  • "Practiced" is the fourth and final word of the locked status vocabulary — the week's loop shown closed before it turns.
Beyond the phone

Apple Watch Complications P1 · app deferred

The accessory widgets are the complications — one codebase. Smart Stack relevance does the timing; a full watch app waits for evidence.
6:52
QARI CIRCLE
Today 7:00 PM
in 8:14
WEEK 8 OF 15
3 of 3 watched · submitted
  • Post-ClockKit, the Lock Screen accessory families render on the watch face as-is — the wrist, seen sixty-plus times a day, costs nearly nothing more.
  • Smart Stack relevance hints surface the session card in the pre-session window and the week card at the student's habitual practice time — the system does the timing, no notification spent.
  • A full watch app is deferred honestly (FE precedent, and the HIG's own ordering): complications first, app only with cohort evidence.

The coach's widget P2 · role-gated

The Queue's stat hero, relocated — queue depth against the 48-hour promise
Review queue
6 waiting
Oldest 39h of 48h
Start reviewing ▸
  • Same role-gating as the Coach section of the app — admin-granted, invisible to students.
  • The gauge fills toward the SLA; oldest-first is already the Queue's default sort, so the button lands the coach exactly where the app would.
  • Ships only with push-updated data. A stale SLA gauge is worse than none; this waits for the same widget-push plumbing as the feedback flip.
Considered and set aside
IdeaWhy not
Streak widget / day counterNo streak entity exists or is planned. FE's most emphatic rule bans counters-as-hooks, and loss-aversion streak mechanics (with their freeze-upsell economy) are the scan's clearest anti-pattern for a religious learning context.
Composite "Week 72% complete"Hides partial progress — two-of-three done reads as failure. Discrete segments only.
Live Activity as daily reminderNot a bounded live event; the canonical Live Activity misuse. The deadline notification type and widget states already carry it.
Mascot / emotional-state characterDuolingo-native guilt theater; tonally wrong here.
Multi-module info-hub widgetThe Muslim Pro pattern, tempting for a multi-track program — but QuranFlow's answer to "many modules" is the computed next action, not a dashboard. One idea per widget.
Coach notes on the Lock ScreenSensitive content on a public surface. The status word travels; the feedback itself does not.
48-hour "waiting for coach" countdownExceeds Live Activity lifetime, and a ticking clock against the coach manufactures urgency the copy canon bans. "In review" suffices.
Build order

P1 · ships with the app

  1. Week widget — small + accessory families (StandBy, CarPlay, visionOS, watch complications free)
  2. This Week widget — medium, interactive
  3. Next-session Lock Screen countdown (dynamic-date)
  4. The week's verse — small + StandBy
  5. Feedback-ready state flip (piggybacks on the existing feedback push)

P2 · fast follows

  1. Submission / revoke-window Live Activity
  2. App Intents fan-out — Action button control, Siri, Spotlight
  3. Coach queue widget (needs push-updated data)

P3 · evidence-gated

  1. Session Live Activity + Dynamic Island (ActivityKit push)
  2. Smart Stack relevance tuning; watch app decision
  3. Liquid Glass visual QA — iOS 26 renders widgets through the glass material automatically; review against light, dark, tinted, and clear backgrounds

Success framing, inherited from FE: the ambient layer works if students arrive already oriented — session attendance and feedback-heard rates rise while "what week is it?" questions disappear. For the verse widget specifically, being read and never tapped is the success.

Fixture note: the demo world is fall semester 2026 — Week 1 begins Monday September 7; Week 8 runs Monday October 26 to Sunday November 1, submission due Sunday 11:59 PM student-local time. Qari circle Tuesdays 7:00 PM. The student watches Monday–Tuesday, submits attempt 1 Wednesday 9:12 PM, and the coach replies Friday 3:58 PM — 42h 46m, inside the 48-hour promise. Week 8's assignment is Surah Al-Mulk; every surface shows its opening ayah (67:1), Arabic and citation only per the locked verse-closer rule. Lock-screen frames are drawn in grayscale because the system's vibrant material desaturates them regardless. Companion reasoning document: Widget Exploration — The Ambient Layer. Format follows the Faith Essentials Ambient Layer v2 board (fe-reset-mockup.pages.dev/ambient).