Architecture Specification v2

QuranFlow Architecture Specification v2

Version: 2.0 Date: February 25, 2026 Organizing Principle: Weekly Rhythm -- "The app follows my weekly learning cycle." Status: Conditional Pass -- ready for detailed design (Year 1)


Executive Summary

The Problem in One Sentence

QuranFlow's current app provides no temporal orientation: students cannot answer "What week am I on?", "What should I be doing right now?", or "When does the next thing happen?" -- and some give up within the first two weeks.

The Architecture at a Glance

This specification defines a four-tab iOS architecture organized around a single organizing principle: the Weekly Rhythm. The app is structured to mirror the program's actual weekly cadence -- lesson unlocks Saturday, student watches and practices, submits a recording, receives audio feedback from their Quran Coach, and attends live sessions -- and to make every student's position within that rhythm immediately visible at every launch.

The four tabs:

Tab Label Purpose
1 Today Weekly dashboard: week number, status cards, primary action, upcoming sessions
2 Learn All 15 week cards with lesson, submission, and feedback co-located per week
3 Schedule Live session calendar with timezone, recordings of past sessions
4 Profile Coach info, account settings, font settings, support -- replaces hamburger menu

How Disorientation Is Solved

The Today screen is the core solution. Its dominant visual element is the Week Header: "Week 8 of 15 -- Level 2 -- Reading with Fluency" in Large Title size, the first thing the eye lands on every launch. Below it: a context-dependent Primary Action Card that changes state based on where the student is in the weekly cycle (lesson not started / lesson in progress / submission due / awaiting feedback / feedback ready / all caught up). Below that: a Status Triptych showing compact Lesson, Submission, and Feedback cards side by side, giving returning students a 5-second status read without scrolling. Below that: today's upcoming sessions with timezone always displayed.

A student who has not opened the app in three days opens it and knows -- within five seconds, without scrolling -- exactly where they stand.

Key Decisions Made

  1. Submission unified into Learn, not a standalone tab. The week-as-unit principle demands that lesson, submission, and feedback for the same week be co-located. Recording is an action within the weekly learning flow, not a standalone destination. This frees a tab slot and eliminates the cognitive split between "Learn" and "Submit."

  2. Four tabs, not five. The Phase 2 quality bar establishes a four-tab ceiling. Today (orient), Learn (learn and submit), Schedule (attend sessions), Profile (identity and settings) cover 100% of the weekly critical path. No fifth tab is justified.

  3. No hamburger menu, anywhere. All eight features previously buried in the hamburger menu (Quranic font, student level, coach identity, weekly schedule, session recordings, support, feedback archives, font size settings) now have discoverable homes in the four-tab structure. The hamburger menu pattern is eliminated entirely.

  4. Font selection is mandatory during onboarding. The non-standard Quranic font was the most disorienting P0 issue for students. The five-step onboarding flow (Welcome > Level > Font > Coach > Semester) makes font selection mandatory at Step 3 -- it cannot be skipped -- ensuring every student sees mushaf script before they ever encounter Quranic text to recite.

  5. Behind-state handled honestly and neutrally. When a student is behind, the Today screen shows the actual calendar week ("Week 8 of 15") alongside an amber banner: "You have 2 submissions to catch up on. You can submit up to 2 this week." with a one-tap "Catch Up" button. The language is functional, not shaming.

  6. Schedule is a first-class tab. Previously hidden five clicks deep behind Hamburger > Resources > external Google Calendar link, the schedule now occupies Tab 3 with a full calendar view, timezone selector, session type filters, and a toggle to session recordings of past weeks.

Validation Results

Phase 5 validated the architecture against the full Phase 2 quality bar. Verdict: Conditional Pass.

Four findings require resolution before implementation: (F1) the inactive Join Session button needs a countdown state specified in the Session Detail modal; (F2) a tap-count discrepancy in Flow 3's summary line needs correction; (F3) the pre-placement waiting state needs to specify what the Learn, Schedule, and Profile tabs show before level assignment; (F4) Year 2 appointment design should be explicitly scoped out rather than left implied. None of these findings invalidate the core architecture.

The architecture is ready to proceed to detailed design (wireframes and mockups) for Year 1, with the five findings resolved either in a document revision or during the wireframe phase.


1. Problem Brief

Version: 1.0 Date: February 25, 2026 Organizing Principle: Weekly Rhythm -- "The app follows my weekly learning cycle."


1.1 The Disorientation Problem

QuranFlow's core failure is that the app provides no temporal orientation. Students cannot answer three fundamental questions by looking at the app: "What week am I on?", "What should I be doing right now?", and "When does the next thing happen?" The program has a clear weekly cadence -- lesson, practice, submit, receive feedback, attend live sessions -- but the app treats each of these as isolated features scattered across tabs and buried menus, with no connective thread tying them to the student's actual position in the semester. The result is that students who skip reading onboarding emails (most of them) arrive in an app that gives them no sense of place, no sense of time, and no sense of sequence -- and some give up within the first two weeks.


1.2 The Weekly Rhythm

Each week within a 15-week semester follows the same critical path:

Critical completion requirement: 12 of 15 weekly submissions must be completed, plus a successful End of Course (EOC) assessment, to graduate the level. Students may submit up to 2 recordings per 7-day period, allowing catch-up if they fall behind.


1.3 Task Inventory

[Core] Tasks -- Must be reachable in 2 taps or fewer

Priority Task Current State
[Core] Sign up for program (2A.1) External sales page, outside app scope
[Core] Complete initial assessment (2A.2) Works -- assessment screen with record button appears after first login
[Core] Receive level placement (2A.3) Notification unreliable; level shown only in hamburger menu; TA assignment hidden
[Core] Know when semester starts (2B.2) Not in app at all -- communicated only via email; no countdown, no date display
[Core] Understand my weekly schedule (2B.3) Buried 5 clicks deep: Hamburger > Resources > scroll > external Google Calendar link
[Core] Know which week I'm on (3A.1) No explicit indicator; must infer from "8 out of 15 submissions unlocked"
[Core] Access this week's lesson (3A.2) Lessons tab shows list; loading screen between transitions; no topic/objective metadata
[Core] Watch instruction videos (3A.3) P0: Video playback fails -- buffers constantly, defaults to 1080p, no adaptive bitrate
[Core] Know what to submit (3B.1) Submission tab shows lesson name but not the passage; numbering says "Submission 2" not "Week 2"
[Core] View Quranic text to recite (3B.2) P0: Non-standard font by default -- proper mushaf font exists but hidden in Settings behind hamburger menu
[Core] Record my recitation (3B.3) Recording interface works but lacks attempt-limit display, recording tips, or level indicator
[Core] Review recording before submitting (3B.4) Works well -- review and re-record available; play/submit buttons positioned too close together
[Core] Submit to Quran Coach (3B.5) Accidental submissions common -- no confirmation dialog, no undo; contradictory turnaround messaging (2 vs. 5 days)
[Core] Know when feedback is ready (3C.1) P0: Broken notifications -- says "submission rejected" with no timestamp, date, submission ID, or reason
[Core] Listen to TA audio feedback (3C.2) Audio playback works but navigation to it is confusing; "Feedback" label misread as "give feedback"
[Core] See my weekly schedule (3D.1) Live tab is a wall of unstructured text; students cannot find sessions they know are scheduled
[Core] Know timezone/timing (3D.3) P0: No timezone display -- unclear if times are local; same session could show wrong day for international students
[Core] Join a live session (3D.4) Inconsistent -- some sessions clickable, others say "not yet available" with no explanation or countdown
[Core] Complete end-of-course assessment (4A.1) Likely same workflow as weekly submissions; not specifically documented as problematic
[Core] View final results (4A.2) Not documented in detail; need 12 submissions + successful EOC to graduate
[Core] Graduate to next level (4B.1) Admin-driven promotion; student receives welcome to new level
[Core] Set Quranic text font (6B.1) P0: Hidden in Hamburger > Settings; not part of onboarding; rendering errors even when set
[Core] Manage notifications (6B.2) Settings exist but notification delivery itself is broken
[Core] Understand app structure (6E.1) Non-standard top tabs + hamburger + scattered buttons; critical features hidden in unintuitive locations
[Core] Receive and act on notifications (6E.2) P0: Completely broken -- no context, no deep links, no actionable information
[Core] View available appointment slots (5A.1) Year 2 only; exists but not yet audited
[Core] Book an appointment (5A.2) Year 2 only; exists but not yet audited

[Supporting] Tasks -- Important but app still functions without them

Priority Task Current State
[Supporting] Know who my Quran Coach is (2A.4) Name in hamburger menu only; no photo, no bio, no way to message them
[Supporting] Understand program structure (2B.1) Explained only in emails and a live orientation session; no in-app walkthrough
[Supporting] Explore available resources (2B.4) 15+ items in Resources with no hierarchy, no categories, essential mixed with supplementary
[Supporting] Track progress within multi-video lessons (3A.4) No per-video watch tracking; no resume position; must rewatch to find place
[Supporting] Mark lesson complete (3A.5) One-way action -- cannot unmark; no confirmation dialog
[Supporting] View submission history (3B.6) P0: Past submissions hard to find; completed items split from pending; archive navigation tedious
[Supporting] Understand submission limits (3B.7) "2 submissions per 7-day period" displayed but no current count shown
[Supporting] Ask follow-up questions on feedback (3C.3) Text input broken -- text pushes left off screen; no TA notification; links don't work
[Supporting] Access feedback history/archives (3C.4) Filter by month/year; memory-dependent; multi-semester students have excessive history to dig through
[Supporting] Understand session types (3D.2) Labels exist (Level Class, QRC, Office Hours) but no explanation of differences
[Supporting] Add session to personal calendar (3D.5) Does not exist; students manually track sessions
[Supporting] Find recordings of missed sessions (3E.1) Hidden in hamburger menu; filter-based navigation; up to 20 sessions per week to sift through
[Supporting] Watch recorded session (3E.3) Playback glitches since backend migration; navigation doesn't update; no resume
[Supporting] See overall progress in level (3F.1) Shows "9%" with no label; redundant circle + bar; outdated "QR" branding
[Supporting] View/edit profile information (6A.1) P0: Missing billing, subscription, learning history, achievements; photo upload broken
[Supporting] Change password (6A.2) Ad-hoc inline fields on profile; no standard settings flow
[Supporting] Access support/help (6C.1) Hidden in hamburger menu; no obvious help path; no "contact my TA" option
[Supporting] Contact my TA directly (6C.2) Not possible in-app; must email coaches@quranflow.org; students resort to talking in submission recordings
[Supporting] Receive welcome materials (2C.2) Physical binder separate from app; digital welcome package not prominent
[Supporting] Transition from Level 4 to Year 2 (4B.2) Separate enrollment; different experience model (appointments replace submissions)
[Supporting] Manage appointments (5A.3) Year 2 only; not yet audited

1.4 Hidden Features Table

Feature Current Location Why It's Hidden
Quranic font selector Hamburger menu > Settings Buried 2 levels deep in a deprecated navigation pattern; not part of onboarding; most users never discover it
Student's level Hamburger menu sidebar Only visible when opening a menu users rarely explore; not on any primary screen
Assigned Quran Coach (TA) Hamburger menu sidebar Same as above; no photo or bio to make it feel personal; no communication path from it
Weekly schedule Hamburger menu > Resources > external Google Calendar link 5 clicks deep; exits the app to a browser; previously was a static PDF that went stale
Session recordings Hamburger menu > Recordings Behind hamburger + filter system (year > month); students don't know this section exists
Support / Help Hamburger menu > Support No visible help affordance on any primary screen; user must already know where to look
Feedback archives Hamburger menu > Feedback History sidebar Split from the submissions they relate to; tedious month/year filter; memory-dependent
Font size / accessibility options Hamburger menu > Settings Enlargement toggle exists but is disabled; elderly users who need it cannot find it

Pattern: The hamburger menu is a graveyard for features. Every hidden feature lives behind it. The menu itself is a deprecated iOS pattern that violates platform conventions, and its icon (a small QuranFlow logo) does not signal "menu" to users. Anything placed here is effectively invisible.


1.5 Student Lifecycle Phases

Phase 1: Enrollment & Assessment (approx. 2 weeks before semester)

The student signs up via an external sales page and receives login credentials by email. Upon first app login, they are presented with an assessment screen where they record a reading sample. Within 48 hours, a Quran Coach listens to the recording and places the student in one of four levels (Level 1-4), assigning them a same-gender Quran Coach. The student should see their level and coach prominently in-app. Currently, both are buried in the hamburger menu.

Phase 2: Pre-Semester Orientation (remaining days before Day 1)

The student is waiting for the semester to begin. They should see a countdown to semester start, welcome/tutorial videos explaining the program, and information about pre-semester "housewarming" live sessions they can attend. Currently, the app shows none of this -- the semester start date exists only in emails, there are no orientation videos in-app, and pre-semester sessions are not distinguished from regular ones.

Phase 3: Active Semester -- Weekly Cycle (15 weeks)

This is the core phase. Each week the student follows the rhythm: lesson unlocks Saturday, watch videos, practice, record and submit, receive feedback, attend live sessions. The student needs to always know what week they are on, what is due, and what has been completed. This repeats for 15 weeks. The student may fall behind and catch up (up to 2 submissions per week). Currently, there is no week indicator, no "what to do this week" summary, and the various activities (lessons, submissions, live sessions, feedback) live in disconnected tabs with no temporal context.

Phase 4: End-of-Course Assessment (final weeks of semester)

After completing at least 12 of 15 weekly submissions, the student accesses the End of Course Assessment -- a single submission that combines all concepts from the level. The Quran Coach evaluates it and determines whether the student graduates. The student needs to clearly see: EOC availability, what it covers, their submission/feedback for it, and their graduation status. This phase is not well-documented in the current app.

Phase 5: Level Transition / Graduation

If the student passes, they are promoted to the next level (e.g., Level 1 to Level 2). They may receive a new Quran Coach. The next semester's start date and onboarding cycle begins. The student returns to Phase 2 with a new level context. If the student was in Level 4, they are eligible to enroll in QuranFlow Advanced (Year 2), which has a fundamentally different model: no weekly submissions, replaced by 1:1 appointment bookings with Quran Coaches, elective-based curriculum. This transition must be clearly explained since the app interaction model changes entirely.

Phase 6: Year 2 -- Advanced (ongoing)

Year 2 students have graduated from the structured submission cycle. Their primary interaction is booking and attending 1:1 appointments with Quran Coaches, attending live sessions, and pursuing elective content. The weekly rhythm is less rigid -- driven by appointment scheduling rather than submission deadlines. This phase has not been fully audited but shares the same platform and many of the same usability problems (navigation, discoverability, schedule access).


1.6 Summary of P0 Issues

For reference, these are the six P0 (critical/blocking) issues identified in the original audit, plus one elevated from the PM discussion:

  1. Video playback failure -- lessons cannot be watched reliably (Task 3A.3)
  2. Missing submission history -- past submissions and their feedback are not accessible in a unified view (Task 3B.6)
  3. Broken notifications -- notification content is useless; no timestamp, no submission reference, no deep link (Tasks 3C.1, 6E.2)
  4. Non-standard Quranic font -- default font is not mushaf script; correct font hidden in settings (Tasks 3B.2, 6B.1)
  5. Inadequate user profile -- missing billing, subscription, learning history; broken photo upload (Task 6A.1)
  6. No timezone on live sessions -- international students cannot determine correct local time (Task 3D.3)
  7. Feedback inaccessible from progress screen -- progress shows percentages but no way to reach actual feedback (Tasks 3C.2, 3C.4) [elevated from PM discussion]

1.7 The Design Challenge

The app must be rebuilt around the weekly rhythm so that a student at any point in their lifecycle -- from pre-enrollment to Year 2 -- can open the app and immediately answer:

No emails. No manuals. No digging. The app itself must be the single source of truth for the student's relationship with the program.


2. Design Principles

Version: 1.0 Date: February 25, 2026 Input: WWDC25 Field Guide + Phase 1 Problem Brief Organizing Principle: Weekly Rhythm -- "The app follows my weekly learning cycle."


2.1 Preamble: What This Phase Is For

The WWDC25 Field Guide presents four diagnostic layers -- Structure, Navigation, Content, Visuals -- and a set of tests to apply at each layer. Phase 2 uses those tests not to audit the current app but to establish the standards the new architecture must meet. Every principle below is derived from the Field Guide and then sharpened against a specific QuranFlow failure from the Phase 1 problem brief.

The goal is a quality bar that is concrete enough to fail. Vague goals ("the app should feel clear") cannot be tested. Each criterion below can be answered with yes or no.


2.2 The 3 Questions Test

The WWDC25 Field Guide states this directly: "Before touching a pixel, the app must answer The 3 Critical User Questions immediately upon launch. If the user has to guess, the design has failed."

QuranFlow's current home screen fails all three. A student opens the app and sees a tab bar with unlabeled icons, a lesson list with no week context, and a hamburger menu that hides their level, coach, schedule, and every orientation tool they need. The disorientation problem identified in Phase 1 is not a content problem -- it is a structure problem. The app never tells the student where they are in time or in sequence.

The new architecture must answer all three questions from the home screen, without scrolling, on every launch, for every lifecycle phase.

Question The Architecture Must Provide How
Where am I? The student's current position in the semester, stated explicitly: week number, level, and semester phase (Pre-Semester / Active / End-of-Course) A persistent week indicator at the top of the Home tab that reads something like "Week 7 of 15 -- Level 2" with the semester phase readable in context. This must be the first thing the eye lands on. No inference required -- the student should not have to count unlocked submissions to figure out what week it is.
What can I do? The single most important action available right now, visible without scrolling A "This Week" card on the Home screen showing the weekly task state: lesson status, submission status, feedback status. The primary incomplete action is foregrounded. If the lesson is watched and the submission is not yet done, the card shows "Record this week's submission." If feedback has arrived, it shows "You have feedback from your Coach." The card collapses completed items so the student always sees what remains, not what is finished.
Where can I go? A tab bar with exactly the right destinations, labeled plainly, each one a place not an action A tab bar of no more than 4 tabs, each representing a distinct destination a student legitimately returns to: Home (current week), Learn (all lessons), Live (schedule), and a fourth covering history/profile. Every tab label is a noun, not a verb. The student can glance at the bar and know which tab holds what. No hamburger menu anywhere.

2.3 Tab Worthiness Criteria

The Field Guide test is: Is it a destination? If yes, it belongs on the tab bar. Is it an action or a subset? If yes, it does not.

QuranFlow's current navigation violates this at every level. The hamburger menu makes destinations invisible. The top-of-screen tabs (the current pattern) mix destinations with filtered views of the same data. Some items that should be tabs (Feedback, Schedule) are buried. Some items that should not be tabs (the "+" record action on some screens) are treated as primary navigation.

The following criteria govern every tab bar decision in this architecture:

A tab is worthy if:

  1. It is a place, not an action. The student navigates to it. Tapping it changes their location in the app. Tapping "Record" is an action -- it triggers a flow, not a destination. Tapping "Learn" takes the student to a place they will return to repeatedly.

  2. It is used at least once per week during an active semester. Frequency of return is the test. If a typical student visits a destination less than once per week, it does not belong on the tab bar -- it belongs one level deeper. The Live session schedule meets this bar. The Settings screen does not.

  3. Its absence would leave the student unable to complete a core task. The tab bar must cover the full critical path of the weekly rhythm: learn, submit, receive feedback, attend live sessions. Any destination not reachable from the tab bar must still be reachable in 2 taps from a tab.

  4. It represents a coherent, self-contained information space. A tab contains things that belong together. The Learn tab contains lessons. The Live tab contains scheduled sessions and session recordings. A tab is not a dumping ground for loosely related features.

A tab is NOT worthy if:

The 4-tab ceiling. QuranFlow's core weekly rhythm involves exactly four types of activity: orienting to the week (Home), learning the lesson (Learn), submitting and receiving feedback (could be unified as Practice or My Progress), and attending live sessions (Live). Four tabs. Any proposal for a fifth tab requires justification against the criteria above and against the organizing principle.


2.4 Content Principles

The WWDC25 Field Guide identifies three content-layer principles: Progressive Disclosure, layout selection (Grid vs. List vs. Collection), and grouping by human logic (Time, Progress, Pattern). Each maps directly to a QuranFlow failure.

2.4.1 Progressive Disclosure -- The Most Critical Principle for QuranFlow

The Field Guide pattern: Show the top 5 items in a collection (horizontal scroll), add a disclosure indicator, let the user tap through to the full list.

The QuranFlow problem it solves: The current Live session screen is described in the Phase 1 brief as "a wall of unstructured text." There are up to 20 live sessions per week (Quran Reading Circles, Level Classes, Office Hours) spanning multiple timings and days. Dumping all of them onto one screen means students "cannot find sessions they know are scheduled." The same problem occurs in the feedback archive (a flat list of every submission, requiring month/year filters) and in Resources (15+ items with no hierarchy).

How to apply it in QuranFlow: The Home screen applies progressive disclosure by surfacing only the current week's relevant sessions, not all sessions. The full schedule is one tap away via "See All" or the Live tab. The Learn tab shows the current week's lesson at the top, with prior weeks accessible via "See All Lessons." The feedback detail within a submission shows the coach's audio note and a summary of the comment; a "See full thread" action reveals the full comment history. Nothing is hidden permanently -- everything is one tap deeper.

The rule: No screen in the new architecture shows more than 7 items without a progressive disclosure mechanism. If a list can grow beyond 7 items, it must have a natural entry point (the top 3-5 most relevant) and a "See All" escape.

2.4.2 Grouping by Time and Progress -- Not by Feature Type

The Field Guide pattern: Group by human-centric themes: Time (Recent, This Week), Progress (Continue Watching, Drafts), Pattern (Genre, Related).

The QuranFlow problem it solves: The current architecture groups by feature type -- there is a Lessons tab, a Submissions tab, a Feedback tab. But the student does not think in feature types. They think in weeks. "What did I do in Week 6?" should return: the lesson video, the submission recording, the coach's audio feedback, and whether they attended the live session. These four things currently live in four different places with no linking mechanism.

How to apply it in QuranFlow: Time-grouping is the primary grouping strategy. The Home screen is organized around "This Week." A history view (whether in a dedicated tab or within the Practice/Progress tab) groups submissions chronologically by week: "Week 6," "Week 5," and so on -- each entry expanding to show lesson, submission, and feedback together. The Live schedule is grouped by day, then by session type, not by a flat alphabetical list of session names. Progress grouping is applied at the macro level: the student can see what is complete, what is in-progress, and what is upcoming.

The rule: Items that belong to the same week of the student's learning journey must be co-located or cross-linked. The Week 7 lesson, the Week 7 submission, and the Week 7 feedback are one unified record, not three separate items in three separate tabs.

2.4.3 Layout Selection -- List Over Grid for QuranFlow's Data

The Field Guide rule: Use grids for highly visual items (album art, photos). Use lists for text-dense or heterogeneous data. Use horizontal collections for themed groupings where you want to show a sample and let the user dive deeper.

The QuranFlow problem it solves: The core data in QuranFlow is text-heavy and status-driven: lesson titles, week numbers, submission states (Not started / In progress / Submitted / Feedback received), coach names, session times. None of this is primarily visual. A grid layout would sacrifice scannability for aesthetics. The student scanning for "Week 8 submission" needs to read titles and states quickly -- a list is correct.

How to apply it in QuranFlow: Lists are the default layout for lessons, submissions, feedback history, and live sessions. Horizontal collection rows (5 items with a "See All" disclosure) are appropriate for the Home screen to surface the current week's sessions without overwhelming the screen. A grid layout is acceptable only where visual differentiation is the point -- for example, coach avatars in a hypothetical coach directory, or thumbnail previews for session recordings. The default is always list.

The rule: No grid layout without a clear visual differentiator for each item. If the primary differentiator is text (a title, a date, a status), use a list.

2.4.4 The Squint Test Applied to QuranFlow

The Field Guide test: Squint until the screen blurs. You should still be able to identify the most important element and the structure of the page. If the screen looks like a uniform grey blob, or a decorative element overpowers content, it fails.

The QuranFlow problem it solves: The Phase 1 brief notes that the progress screen shows "9%" with no label, a redundant circle and bar display, and legacy "QR" branding. A student squinting at that screen cannot identify what 9% means or whether it is good or bad. The Live session screen is a wall of text with no visual hierarchy -- everything has equal weight, so nothing is findable.

How to apply it in QuranFlow: Every screen must have one clear visual anchor -- the element that draws the eye first and communicates the most important information. On the Home screen, the anchor is the weekly status card. On the Learn screen, the anchor is the current week's lesson. On the Live screen, the anchor is the next upcoming session. The anchor must survive the squint test: even blurred, it should be readable as "the thing that matters most right now."

The rule: Each screen has exactly one primary visual anchor. If two elements compete equally for the eye, the hierarchy is broken.

2.4.5 Standard Titles and Navigation Over Custom Patterns

The Field Guide warning: "Branding Over Utility -- Large, decorative headers that look nice but don't explain the utility."

The QuranFlow problem it solves: The hamburger menu icon is the QuranFlow logo -- a small graphic that does not signal "navigation" to users who encounter it without training. Critical features are buried behind it. The current top tab bar uses a custom pattern that mixes contexts. Labels like "Feedback" are misread as "give feedback" rather than "receive feedback."

How to apply it in QuranFlow: All navigation uses iOS standard components: a tab bar at the bottom for global destinations, a navigation bar at the top with a clear screen title and contextual actions in the top-right. Screen titles are functional, not decorative. "My Submissions" not "Your Journey." "Live Sessions" not "Community." Labels on the tab bar are single nouns that exactly describe what the tab contains. Where there is any ambiguity about a label's direction (receive vs. give), the label is rewritten to remove it -- "Coach Feedback" rather than "Feedback."


2.5 Quality Bar

These are the specific, testable criteria the architecture must meet before it is considered complete. Each is a binary test: pass or fail. Partial credit does not count.

Structure Tests

S1 -- The 3 Questions Test (10-second rule) A person who has never used QuranFlow opens the app's Home screen and is asked: "What week of the semester is this? What should you do next?" They must answer correctly within 10 seconds, using only what is visible on screen, without scrolling. Pass: They answer correctly within 10 seconds. Fail: They cannot answer, answer incorrectly, or require scrolling.

S2 -- No Hamburger Menu The architecture contains zero hamburger menus, sidebar drawers accessed via a logo, or navigation patterns that are not part of the iOS standard tab bar + navigation bar system. Pass: None exist. Fail: Any exist.

S3 -- Core Task Reach in 2 Taps Every [Core] task from the Phase 1 task inventory is reachable from the tab bar in 2 taps or fewer. "Reachable" means the student arrives at the screen where the task begins -- not necessarily that the task is complete in 2 taps. Pass: All [Core] tasks satisfy the 2-tap rule. Fail: Any [Core] task requires 3 or more taps from the tab bar.

S4 -- Hidden Features Eliminated Every feature listed in the Phase 1 "Hidden Features Table" (Quranic font selector, student's level, Quran Coach identity, weekly schedule, session recordings, support/help, feedback archives, font size settings) is accessible from a primary tab or is surfaced contextually without requiring the student to know it exists. Pass: All 8 hidden features are discoverable without prior knowledge. Fail: Any of the 8 remain hidden.

Navigation Tests

N1 -- Tab Bar Destination Test Every tab on the tab bar passes the Tab Worthiness criteria: it is a destination (not an action), it is visited at least once per week during an active semester, and it represents a coherent information space. Pass: Every tab passes all three criteria. Fail: Any tab fails any criterion.

N2 -- No Actions on the Tab Bar The tab bar contains only nouns (destination labels). No tab initiates a workflow, creates a record, or performs an action. Pass: All tab labels are nouns; no tab triggers a flow. Fail: Any tab triggers an action rather than navigating to a destination.

N3 -- First Submission Without Help A new student, using only the app, can complete their first submission (watch lesson, view Quranic text, record, review, and submit) without reading an email, asking for help, or leaving the app. Pass: They complete the flow unassisted. Fail: They get stuck at any point and require external guidance.

N4 -- Return Test (5-second rule) A returning student who has not opened the app in 3 days opens it and can state their current submission status (submitted / not yet submitted / feedback received) within 5 seconds, without scrolling. Pass: Correct answer within 5 seconds. Fail: They cannot determine status, determine it incorrectly, or must scroll to find it.

Content Tests

C1 -- No Screen Exceeds 7 Unmediated Items Any list on any screen that can contain more than 7 items has a progressive disclosure mechanism (a "See All" link, a collapsed section, or a filtered default view). The default state shows no more than 7 items. Pass: No default list view shows more than 7 items without a disclosure mechanism. Fail: Any list shows 8 or more items in its default state without a "See All" path.

C2 -- The Squint Test (per screen) Each primary screen (Home, Learn, Live, and the fourth tab) has a clear visual anchor -- the single most visually prominent element. When the screen is blurred, the anchor is still identifiable as the dominant element. Pass: Each primary screen has one identifiable anchor. Fail: Any primary screen has two competing anchors, or no discernible anchor at all.

C3 -- Week-Grouped History A student looking for their Week 6 submission and feedback can find both in one location, grouped by week, without needing to navigate to separate tabs for submission vs. feedback. Pass: Week 6 submission and Week 6 feedback are co-located or cross-linked within one tap of each other. Fail: They live in separate tabs with no link between them.

C4 -- Timezone Always Displayed Every live session time display includes the timezone. There are no bare times (e.g., "7:00 PM") without an associated timezone label or confirmation that the display is in the user's local time. Pass: Every time display carries explicit timezone information. Fail: Any time is displayed without a timezone.

C5 -- Standard Quranic Font on First Encounter The first time a student views Quranic text to recite (at the submission screen), the text is displayed in the standard mushaf font (not the default non-mushaf font). The student does not need to visit Settings to correct the rendering. Pass: Mushaf font is active by default on first use. Fail: The student sees a non-standard font and must navigate to Settings to fix it.

Lifecycle Tests

L1 -- Pre-Semester State A student who has completed the initial assessment but whose semester has not yet started opens the app and sees: their assigned level, their Quran Coach's name, the number of days until semester start, and at least one action they can take now (such as watching orientation videos or attending a pre-semester housewarming session). Pass: All four elements are visible from the Home screen. Fail: Any element is missing or requires navigation beyond the Home screen to find.

L2 -- Behind Test (2 weeks behind) A student who is 2 weeks behind on submissions opens the app. They can see their current deficit (e.g., "You are 2 submissions behind -- you can submit up to 2 this week to catch up") and a direct path to begin catching up, all from the Home screen. The messaging is neutral and functional, not shame-inducing. Pass: Deficit is visible, the catch-up path is one tap away, and the language is neutral. Fail: The deficit is not shown, the path requires more than 2 taps, or the language implies failure.

L3 -- EOC Phase State A student who has completed 12 of 15 submissions opens the app during the End-of-Course Assessment phase. The Home screen shows a distinct EOC state: what the EOC is, that they are eligible to submit it, and a direct path to the EOC submission screen. Pass: EOC card is visible on Home screen; student can reach EOC submission in 2 taps. Fail: EOC is not surfaced, is indistinguishable from a regular submission, or requires more than 2 taps.

L4 -- Recovery Test A confused student who does not know what to do next can find a support path (whether that is in-app help, a way to contact their Quran Coach, or a link to support) within 2 taps from any screen. Pass: Support is reachable in 2 taps from any screen. Fail: Any screen requires more than 2 taps to reach support, or there is no visible support affordance.

Notification Tests

V1 -- Notification Deep Links Every push notification delivers the student to the specific content referenced. A "feedback received" notification navigates to the feedback for the specific submission. A "new lesson available" notification navigates to that lesson. Pass: Every notification type has a functional deep link. Fail: Any notification lands on the app's home screen or a generic tab without context.

V2 -- Notification Content Every push notification contains: what happened, which submission or session it refers to (by week number and title), and when it happened (relative timestamp). Pass: All three elements are present in every notification type. Fail: Any notification is missing any of the three elements.


2.6 Principle Priority Stack

When design decisions must trade off against each other, apply this stack in order:

  1. Temporal orientation first. If a screen does not tell the student where they are in time, it fails the organizing principle. This takes precedence over aesthetic choices, information density preferences, and feature completeness.

  2. Guidance over flexibility for the Home screen. The Home screen optimizes for the student who does not know what to do next. Flexibility (browsing, exploring, catching up on old material) is served by the other tabs.

  3. Clarity over density. When in doubt, show less and disclose progressively. A screen that shows 4 things clearly is better than a screen that shows 12 things at once.

  4. Standard platform patterns over custom ones. Every custom navigation or layout pattern requires explicit justification. The default is always iOS standard: tab bar, navigation bar, list, system text styles, semantic colors.

  5. No dead ends. Every screen state -- including empty states (no submissions yet), error states (video playback failure), and transition states (semester not yet started) -- must offer the student a clear next action or orientation. A blank screen with an error message is never acceptable.


3. Learnings from Previous Attempt

Version: 1.0 Date: February 25, 2026 Input: Architecture Proposals (A, B, C) + Design Review of Exploration A Mockup + Phase 1 Problem Brief + Phase 2 Design Principles Organizing Principle: Weekly Rhythm -- "The app follows my weekly learning cycle."


3.1 Preamble

This document extracts concrete lessons from the first attempt at implementing Proposal A as a mockup. The mockup reached approximately 80% alignment with the specification and 57% coverage of the full User Capability Map. That is a useful signal: it tells us what the Proposal A spec got right (the mockup could follow it), what the spec left ambiguous (the mockup had to improvise), and what the spec missed entirely (the mockup did not attempt it). Phase 4 must resolve every gap identified here.


3.2 What Worked in Proposal A (Preserve These)

3.2.1 The Schedule Page -- Near-Perfect Execution (95% alignment)

The Schedule page is the strongest screen in the mockup and the strongest section of the Proposal A spec. It implements: timezone selector with multiple options (EST, GMT, GST, AEDT), timezone display in the header, week navigator with arrows, calendar day strip, session type filters (All / Classes / QRCs), session cards with type badges and descriptions, Join Zoom buttons, Add to Calendar buttons, RSVP toggles with attendee counts, session detail modals, and deadline cards showing submission cutoffs. The design review found zero missing elements.

Why it worked: The spec was precise. It described the exact components, their states, and their relationships. It left nothing for the implementer to guess. The Schedule page also maps to a well-understood pattern (calendar views) that has clear iOS conventions.

Preserve: The full Schedule page design. Carry it forward as-is into Phase 4. It solves the P0 timezone issue, eliminates the 5-click-deep Google Calendar link, and passes every quality bar test from Phase 2 (C4: Timezone Always Displayed, S3: Core Task Reach, S4: Hidden Features Eliminated for schedule).

3.2.2 The Submit Page -- Excellent Submission UX (95% alignment)

The Submit page implements the core recording workflow correctly: week indicator, attempts counter ("1 of 2 Attempts Remaining"), Quranic text display in Amiri font with RTL rendering, tap-to-record with visual feedback, playback before submit, re-record option, confirmation dialog with explicit warning, success state with animation, submission history showing prior weeks, "Feedback Ready" badge, feedback bottom sheet with audio playback, and follow-up question input.

Why it worked: The submission flow is the most linear workflow in the app -- record, review, submit. Linear flows are easiest to spec and implement. The spec addressed the P0 issues directly (confirmation dialog for accidental submissions, proper Quranic font, submission history).

Preserve: The recording interface, confirmation dialog, feedback sheet pattern, and submission history list. These solve P0 issues (missing submission history, non-standard font, accidental submissions) and pass quality bar tests (C5: Standard Quranic Font on First Encounter, N3: First Submission Without Help).

3.2.3 The Learn Page -- Unified Week View (90% alignment)

The Learn page implements the key Proposal A insight: organizing content by week rather than by feature type. It uses expandable week cards that contain lesson videos (with checkboxes and duration), learning objectives, a submission sub-tab, and a "Feedback Ready" badge. The segmented control ([Current Week] [All Weeks]) enables progressive disclosure -- current week expanded, past weeks collapsed.

Why it worked: Grouping by week is the architectural decision most aligned with the Weekly Rhythm principle. The Phase 2 design principles (Content Principle 2: Grouping by Time and Progress) demand that "items belonging to the same week must be co-located." The Learn page does this.

Preserve: The week-as-unit grouping pattern, expandable week cards, the co-location of lesson + submission + feedback within a single week entry, and the segmented control for temporal filtering. This directly satisfies quality bar test C3 (Week-Grouped History).

3.2.4 The More Page -- Coach and Profile Surfacing (90% alignment)

The More page surfaces previously hidden features: profile card with avatar, name, level, and semester; stats display; My Quran Coach section with photo, name, message button, and bio; account management (Personal Details, Subscription, Notifications); Help Center; App Settings; and Sign Out. The coach section is prominent, not buried.

Why it worked: The More page is a standard iOS pattern (Settings/Profile hub) and the spec was clear about what belongs here. Moving the Quran Coach from the hamburger menu to a prominent section with a message action solves the discoverability problem identified in Phase 1.

Preserve: The coach section design, the profile card, and the overall More page organization. These satisfy quality bar tests S4 (Hidden Features Eliminated for coach identity and support) and L4 (Recovery Test -- support reachable in 2 taps).

3.2.5 The P0 Resolution Pattern

Six of seven P0 issues were addressed in the mockup. This validates that the Proposal A architecture creates natural homes for the fixes:

Preserve: The principle that every P0 fix must have a visible, discoverable home in the primary tab structure -- not buried in settings or secondary screens.


3.3 What Didn't Work (Fix These)

3.3.1 The Today Page Failed the 3 Questions Test (60% alignment)

This is the single most important failure. The Today page is the home screen -- the first thing a student sees on every launch. Phase 2's quality bar test S1 requires that a person who has never used QuranFlow can answer "What week of the semester is this?" and "What should you do next?" within 10 seconds, without scrolling. The mockup's Today page fails this test.

Specific failures:

Why it matters: The Today page IS the Weekly Rhythm. If the home screen does not foreground the week, the organizing principle is not implemented. Phase 2's Principle Priority Stack puts "Temporal orientation first" above all other concerns. A Today page that shows a date instead of a week number has inverted the priority.

Fix required: The Today page must be completely redesigned with the week header as the dominant visual element, the level below it, a progress bar, a countdown, and status cards for lesson, submission, and upcoming sessions -- all without scrolling.

3.3.2 Tab Structure Deviates from Proposal A

The mockup uses: Today | Learn | Submit | Schedule | More. Proposal A specifies: Today | Learn | Schedule | Progress | More.

Two deviations:

Why it matters: The tab bar is the skeleton of the information architecture. Phase 2's Tab Worthiness Criteria state that a tab must be "a place, not an action" and must "represent a coherent, self-contained information space." Submit-as-a-tab is debatable: it is arguably an action (recording) dressed as a destination. Progress-as-a-tab is clearly a destination (the student's full history). This is a structural decision that Phase 4 must resolve definitively.

3.3.3 Pre-Semester Phase Is Completely Absent (12% coverage)

The mockup implements 1 of 8 pre-semester capabilities. Missing entirely:

Why it matters: Phase 2's quality bar test L1 (Pre-Semester State) requires that a student who has completed assessment but whose semester has not started sees: their assigned level, their Quran Coach's name, the number of days until semester start, and at least one action they can take now. The mockup cannot pass this test. Onboarding is where the app either hooks or loses the student. Phase 1 identifies that students who skip onboarding emails arrive to an app that "gives them no sense of place, no sense of time, and no sense of sequence -- and some give up within the first two weeks." The in-app onboarding must compensate for this.

3.3.4 No "Behind" State Handling

The mockup shows a student at Week 8 with normal progress. It does not address what happens when a student is behind. Phase 2's quality bar test L2 (Behind Test) requires: visible deficit messaging ("You are 2 submissions behind"), a catch-up path reachable in one tap, and neutral (not shaming) language. Proposal A's own trade-off analysis flagged this as a risk: "Students significantly behind may feel shame seeing 'Week 8' when they're on Week 5."

Why it matters: A substantial portion of students fall behind. The 12-of-15 completion requirement with 2-submissions-per-week catch-up policy means the app must actively support recovery. If the Today page only shows the current calendar week without acknowledging the student's actual position, it creates cognitive dissonance and potential shame. Phase 4 must design the behind state explicitly.

3.3.5 End-of-Course Assessment Phase Is Absent (0% coverage)

Zero implementation of Section 4 capabilities: EOC assessment screen, final results display, graduation flow, Level 4-to-Year 2 transition. Phase 2's quality bar test L3 (EOC Phase State) requires a distinct EOC card on the Home screen when the student has completed 12+ submissions and is eligible.

3.3.6 Session Recordings Are Missing (0% coverage)

Section 3E of the capability map (Find recordings, Filter recordings, Watch recordings, Track watched recordings) is at 0%. The Phase 1 Hidden Features Table lists session recordings as hidden behind "hamburger menu > Recordings > filter by date." The mockup does not surface them. Proposal A places them in "Progress tab > Past Sessions section" and in "Schedule > Past weeks," but since the Progress tab was not implemented, recordings have no home.

3.3.7 Font Settings UI Not Implemented

The mockup defaults to Amiri font (solving the P0 for first encounter), but there is no Settings UI for changing the font after onboarding. The Phase 1 audit notes that the font selector is one of 8 hidden features that must become discoverable. Phase 2 test S4 requires all 8 to be accessible without prior knowledge.


3.4 Elements from Proposals B and C Worth Incorporating

From Proposal B (Dashboard Command Center)

1. The Three-Card Dashboard Layout

Proposal B's home screen uses three equal-weight status cards side by side: Lesson (with video count), Submission (with status), and Feedback (with new count). Each card has a clear state and a single action button. This is a more information-dense approach than Proposal A's stacked cards, but it solves a real problem: the returning student who wants to assess all three statuses simultaneously without scrolling.

How to incorporate: The Today page should borrow the triptych pattern -- three status indicators visible in the top half of the screen -- but use it within Proposal A's temporal framework. The week header remains dominant at the very top; below it, three compact status cards (Lesson, Submission, Feedback) give the at-a-glance status. Below those, the day's sessions. This merges Proposal B's density with Proposal A's temporal anchoring. It directly serves the Phase 2 Return Test (N4): a returning student can state their submission status within 5 seconds.

2. Dedicated Feedback Tab Concept (Pending + History)

Proposal B gives Feedback its own tab with two views: Pending (submissions awaiting feedback) and History (all past feedback in chronological order, no complex date filters). This is a simpler, more scannable alternative to the current proposal's "feedback lives inside each week in the Learn tab."

How to incorporate: If Phase 4 decides that Progress deserves a tab, the Progress tab should adopt the Pending + History structure from Proposal B. Pending submissions at the top, then a reverse-chronological feed of all feedback grouped by week. This solves the feedback archives problem (Phase 1 Hidden Feature) and passes quality bar test C3 (Week-Grouped History). The key insight from B is that feedback should be browsable as a timeline, not only accessible by drilling into individual weeks.

3. Live Tab Combining Schedule + Recordings

Proposal B's Live tab uses a toggle: Schedule | Recordings. This co-locates the two things that relate to synchronous sessions -- upcoming ones and recorded past ones. It is more discoverable than Proposal A's approach (recordings in Progress tab, separate from Schedule).

How to incorporate: The Schedule tab should include a secondary access point to session recordings -- either as a toggle or as a "Past Sessions" section below the current week's schedule. Students who come to the Schedule tab looking for a session they missed should find the recording in the same location, not in a different tab.

4. Profile Tab with Full Account Hub

Proposal B's Profile tab includes: photo, name, level, week; My Quran Coach with message action; Account (Personal Information, Subscription & Billing, Learning History); Settings (Quranic Font Style, Notifications, Display); and Support (Help Center, Contact Support, FAQ). This is more comprehensive than the mockup's More page, particularly the inclusion of Learning History and the explicit "Quranic Font Style" setting.

How to incorporate: The More/Profile tab should adopt this full structure. Learning History is important for multi-semester students. The font setting must be explicitly labeled and accessible. These are Phase 1 requirements (Hidden Features Table, P0 font issue).

From Proposal C (Guided Journey)

1. The "Your Next Step" Single-Task Focus

Proposal C's Now tab shows exactly one task with a hero card: "YOUR NEXT STEP: Watch Lesson Video -- Video 2 of 3: Practice Stretches -- 12 minutes -- [Watch Now]." Below it, a single "Up Next" preview. This extreme focus is too restrictive as the default architecture (it fails Phase 2's Return Test because returning students cannot see full status), but the underlying pattern -- a context-dependent primary CTA that changes based on the student's state -- is valuable.

How to incorporate: The Today page should have a context-dependent primary action that adapts to the student's state within the weekly cycle. The state machine from Proposal C is precise and should be adopted:

This state machine should drive the primary action on the Today page, but the other status cards remain visible so the student retains full context.

2. The Journey Visualization (Progress as a Map)

Proposal C's Progress tab shows a vertical journey map: Week 1 through Week 15, each with a status indicator (completed, in-progress, upcoming), the current position highlighted, and achievements below. This is a motivating, scannable visualization that answers "how far have I come" at a glance.

How to incorporate: The Progress tab (if it earns a tab slot) should include a journey map as its header element. The map provides the macro-level temporal orientation that complements the Today page's micro-level (this week) orientation. Week 1 through Week 15, the student's current position, completed weeks, and the EOC assessment at the end. Tapping any completed week should expand to show that week's lesson, submission, and feedback -- preserving the week-as-unit grouping. This visualization also provides a natural home for the EOC assessment (Week 15 becomes "EOC Assessment" at the end of the journey).

3. Guided Onboarding Sequence

Proposal C specifies a multi-step onboarding: Welcome > Font selection (required) > Meet your Quran Coach > See your journey map > Land on Week 1. This is the most thorough onboarding of the three proposals. Proposals A and B mention onboarding but are less prescriptive.

How to incorporate: Adopt Proposal C's onboarding structure but adapt it for the Weekly Rhythm context:

  1. Welcome to QuranFlow + level placement confirmation
  2. Font selection (required, not skippable -- solves P0)
  3. Meet your Quran Coach (name, photo, brief bio)
  4. Your semester overview (Week 1 of 15, start date, weekly rhythm explanation)
  5. Land on Today page with Week 1 context

This ensures Phase 2 test L1 (Pre-Semester State) can pass and addresses Phase 1's finding that students who skip emails are completely lost.

4. The "Connect" Concept for Human Touchpoints

Proposal C groups all human connection into a single tab: Quran Coach, upcoming sessions, community, and support. While "Connect" as a standalone tab is not justified under Phase 2's Tab Worthiness Criteria (it mixes multiple information spaces), the insight is valid: the student's relationship with their coach, with live sessions, and with support are all interpersonal. These should feel connected, even if they live in different tabs.

How to incorporate: The Quran Coach should appear in multiple places contextually -- on feedback screens (who gave this feedback), on submission screens (who will review this), on the Today page (as a presence, not just in the More tab). Support should be reachable from multiple entry points: the More tab, a help icon on complex screens, and within the onboarding flow. The "interpersonal" layer should be woven through the app rather than isolated in one tab.


3.5 Open Design Questions

Phase 4 must make definitive decisions on each of these. They cannot be deferred.

Q1: What earns a spot on the tab bar?

The mockup uses: Today | Learn | Submit | Schedule | More (5 tabs). Proposal A specifies: Today | Learn | Schedule | Progress | More (5 tabs).

The core tension: Submit and Progress both have legitimate claims to a tab slot, but Phase 2 caps the tab bar at 4-5. If submission is folded into Learn (as Proposal A intends), the Learn tab carries the heaviest load in the app -- lessons, videos, recording, submission, and per-week feedback. Is that too much for one tab? Conversely, if Submit keeps its own tab, where does Progress live? And does a standalone Submit tab violate the "place not action" criterion?

Phase 4 must commit to one tab bar and justify every slot against the Tab Worthiness Criteria from Phase 2.

Q2: What dominates the home screen above the fold?

The mockup leads with a date and a small "Current Week 8" badge. Proposal A specifies a giant "WEEK 8 OF 15" header with level, progress bar, and countdown. Proposal B uses a dense three-card layout. Proposal C uses a single hero task.

The Phase 2 priority stack is clear: temporal orientation first. The week indicator must be the dominant visual element. But how much of the remaining above-the-fold space goes to status cards versus the primary CTA versus upcoming sessions? The design review shows that when the spec is vague about visual hierarchy, the implementation defaults to a generic date-driven layout. Phase 4 must spec the visual hierarchy in exact detail -- what is largest, what is second, what is below the fold.

Q3: Are submissions and feedback unified or separate?

Three possible models:

The Phase 2 content principle says "items that belong to the same week must be co-located." This favors unification. But the design review shows that the mockup's standalone Submit tab has excellent UX (95% alignment). The question is whether unification into Learn would preserve that UX quality or degrade it by making Learn too complex.

Phase 4 must decide: Is submission a step within the weekly learning flow (unified) or a destination in its own right (standalone)?

Q4: Where does the schedule live relative to other tabs?

Proposal A gives Schedule its own tab (slot 3). This is justified by the Phase 1 finding that the schedule was hidden 5 clicks deep. But the mockup also demonstrates that Schedule is the strongest implementation -- it works perfectly as a standalone tab.

The question is whether Schedule's tab slot is better used for something else. Could schedule be a section within the Today page (next 24-48 hours of sessions) plus a "See Full Schedule" drill-down, freeing a tab slot for Progress? Proposal B's approach (Live tab combining Schedule + Recordings) is worth considering.

Phase 4 must weigh: Is Schedule important enough to justify a permanent tab, or can it be served adequately through the Today page + a secondary access path?

Q5: How does the app handle "you're behind"?

The mockup does not address this. Proposal A acknowledges the risk but does not specify the behind-state design. Phase 2 test L2 requires: visible deficit, one-tap catch-up path, neutral language.

Questions:

Q6: Where does feedback history live?

Three options emerged from the proposals:

The Phase 1 problem brief identifies feedback archives as a hidden feature (currently behind "Hamburger > Feedback History sidebar > month/year filter"). The fix must make feedback browsable without complex filtering. The Phase 2 test C3 requires that Week 6 submission and Week 6 feedback are co-located within one tap.

The question: Is "co-located within each week" sufficient, or does the student also need a flat chronological feed of all feedback? The answer is probably both -- feedback accessible within each week in Learn AND a full timeline in Progress. But this dual-location approach must be designed so it feels like two views of the same data, not two separate features.

Q7: How does onboarding work?

None of the mockup screens address onboarding. The three proposals suggest different approaches: Proposal A mentions an onboarding card on the Today page; Proposal B mentions a "quick setup" prompt; Proposal C specifies a full multi-step guided flow.

Questions:


3.6 Coverage Gaps

These are the areas of the User Capability Map at 0% or critically low coverage. Phase 4 must design explicit solutions for each.

0% Coverage -- Must Be Designed from Scratch

Section 4: End of Semester Phase (0/4 capabilities)

The EOC is not a separate screen concept -- it is a state change in the existing architecture. Phase 4 should design it as a special-state week card (Week 15 or "EOC Week") that surfaces in the Learn tab and on the Today page when the student is eligible. Graduation should be a state change in the Progress tab. The Level 4-to-Year 2 transition needs at minimum a clear explanation screen, since the interaction model changes entirely (submissions replaced by appointment booking).

Section 5: Year 2 Differences (0/4 capabilities)

Year 2 may be out of initial scope, but Phase 4 must at minimum design the architecture to accommodate it. The tab bar and information architecture should not need to be rebuilt when Year 2 is added. At a minimum, Phase 4 should identify which tabs change for Year 2 students and ensure the architecture can flex.

Section 3E: Session Recordings (0/4 capabilities)

Recordings need a home. The most natural location is within the Schedule tab (past sessions become watchable recordings) or within the Learn tab (recordings as supplementary material for each week). Phase 4 must decide.

Low Coverage -- Needs Significant Work

Section 2: Pre-Semester Phase (12% -- 1 of 8 capabilities)

Only "Meet assigned Quran Coach" is implemented (via More page). Missing: assessment flow, level placement, program orientation, semester countdown, pre-semester sessions, resource exploration. Phase 4 must design the pre-semester state of the Today page and the onboarding flow.

Section 3F: Progress Tracking (partial -- no grades, no pace comparison)

These require the Progress tab to exist. Phase 4 must decide what "grades" means in context (coaches give qualitative audio feedback, not numeric grades) and how "expected pace" is communicated without shame.

Section 6: Cross-Cutting Capabilities (57% -- missing font settings UI, resources access, community board)

Font settings is a P0-adjacent fix. Resources and Community are lower priority but need a home in the architecture.


3.7 Summary Table: Status of Key Architectural Decisions

Decision Proposal A Spec Mockup Implementation Gap Phase 4 Must
Week header format "WEEK 8 OF 15" giant header "Current Week 8" small badge Critical Spec exact visual hierarchy
Level on home screen "Level 4 -- Tajweed Rules" Not shown Critical Include in header
Countdown "3 days until Week 9 unlocks" Not shown High Include below week header
Submission on Today Status card with state + CTA Separate tab, not on Today High Design status card
Tab structure Today/Learn/Schedule/Progress/More Today/Learn/Submit/Schedule/More Structural Make final tab bar decision
Onboarding Mentioned but not detailed Not implemented Critical Design full onboarding flow
Behind state Risk acknowledged, not designed Not implemented Critical Design deficit messaging + catch-up
EOC phase Not specified Not implemented High Design EOC state
Session recordings "Progress > Past Sessions" Not implemented Medium Assign a location
Font settings UI "More > Settings > Display" Menu item only Medium Build settings screen
Journey visualization Not in Proposal A Not implemented Medium Borrow from Proposal C

4. Architecture Specification

Version: 1.0 Date: February 25, 2026 Input: Phase 1 Problem Brief + Phase 2 Design Principles + Phase 3 Learnings + All Source Files Organizing Principle: Weekly Rhythm -- "The app follows my weekly learning cycle."


4.1 Concept & Philosophy

The Mental Model: "My Weekly Planner"

The student opens QuranFlow and sees a planner organized around the current week of their 15-week semester. The app knows what week it is, what the student has done, and what remains. It presents this information the way a well-organized planner would: the current week is front and center, the weekly tasks are listed with their status, and the upcoming schedule is visible at a glance. The student does not browse. The student does not explore. The student opens the app, sees where they are, and picks up where they left off.

This is not a content library where learners choose what to study. It is not a social platform where learners interact with a community. It is a structured 15-week program with a fixed weekly cadence, and the app reflects that structure directly. The organizing principle is temporal: the week is the unit of work, the semester is the arc, and the student's position within both is always visible.

Why This Fits QuranFlow's Users

QuranFlow's students are busy adults, many older, many balancing families and jobs. The PM captured it precisely: "Not everybody is an exploration type... they just want a plug and play experience. What do I need to do? Just let me know, I'll do it. Don't make me think about the process." These users do not read onboarding emails. They do not explore menus. They open the app expecting it to tell them what matters right now.

A weekly-rhythm architecture serves this user because it eliminates decision-making. The student does not choose what to study -- the week determines it. The student does not figure out what to submit -- the current week's assignment is surfaced. The student does not hunt for their schedule -- it appears in temporal context. The app makes one promise: open it any day during the semester, and you will know exactly where you stand and what to do next.

How It Solves the Disorientation Problem

The Phase 1 problem brief identifies disorientation as the core failure: students cannot answer "What week am I on?", "What should I be doing?", or "When does the next thing happen?" The weekly-rhythm architecture solves this by making all three answers visible on the home screen at all times. The week number is the dominant visual element. The student's task status (lesson watched, submission done, feedback received) is shown as a checklist. The next scheduled event is displayed with a countdown. No inference, no calculation, no digging.

Position on the Guidance-Flexibility Spectrum

This architecture sits at approximately 70% guidance, 30% flexibility. The home screen is fully guided -- it tells the student what to do. The Learn tab offers moderate flexibility -- the student can browse all weeks, not just the current one. The Schedule tab offers full flexibility -- the student can view any week's sessions and recordings. The Profile tab is purely informational. The architecture is opinionated about what matters now but permissive about what the student can access.

How It Incorporates the Strongest Ideas

From the Dashboard approach (Proposal B): The three-card status triptych on the home screen -- Lesson, Submission, Feedback -- each showing a compact state with a single action. This gives the returning student instant status without scrolling.

From the Guided Journey approach (Proposal C): The context-dependent primary action that changes based on the student's state within the weekly cycle. The state machine (lesson not started, lesson in progress, submission due, awaiting feedback, feedback ready, all caught up) drives what the home screen emphasizes. Also adopted: the journey visualization as a progress map, and the structured multi-step onboarding sequence.

From the Weekly Rhythm approach (Proposal A): The week-as-unit grouping, the temporal header, the semester progress bar, the co-location of lesson, submission, and feedback within each week, and the schedule as a first-class tab.


4.2 Navigation Structure

Tab Bar Design

Tab Icon Suggestion Label Contains Why Tab-Worthy
1 house.fill Today Current week dashboard, status cards, next session, primary CTA The home screen. Visited on every app launch. Answers the 3 Questions.
2 book.fill Learn All 15 week cards (lesson + submission + feedback per week), journey map The learning content destination. Visited at least weekly to watch lessons and review past weeks. Coherent information space: the student's full learning record.
3 calendar Schedule Weekly calendar, session cards, session recordings, deadline display The schedule was hidden 5 clicks deep. It is used weekly. It is a coherent information space (time-based). The mockup proved it works excellently as a standalone tab.
4 person.crop.circle Profile Coach info, account settings, font settings, support, resources, stats Houses all identity, settings, and support features. Visited at least weekly (to check coach, access help). Eliminates the hamburger menu entirely.

Tab bar justification against the Tab Worthiness Test:

Tab 1 -- Today: A destination (the student's weekly dashboard). Used on every launch. Its absence would leave the student without orientation. It is a coherent space: the current week's status.

Tab 2 -- Learn: A destination (the student's learning library organized by week). Used at least weekly to watch lessons, submit recordings, and review feedback. Its absence would leave the student unable to complete core tasks. It is a coherent space: all learning content grouped by week.

Tab 3 -- Schedule: A destination (the student's calendar of live sessions and recordings). Used at least weekly to check session times. Its absence would leave the student unable to attend live sessions. It is a coherent space: all time-based events.

Tab 4 -- Profile: A destination (the student's identity and settings hub). Used at least weekly to check coach information or access support. Its absence would leave hidden features (font, coach, support, resources) without a home. It is a coherent space: everything about the student's account and preferences.

Why 4 tabs, not 5: Phase 2 establishes a 4-tab ceiling. The four tabs above cover the full critical path: orient (Today), learn and submit (Learn), attend sessions (Schedule), and manage identity/get help (Profile). A fifth tab (Progress or Submit) does not meet the threshold. Submission is folded into Learn because it is a step within the weekly learning flow, not a standalone destination. Progress is folded into Learn as a journey map header. The 4-tab bar is the simplest structure that covers 100% of the weekly rhythm.

Key Decision: Submission Lives Inside Learn

Phase 3 identified this as the most important structural question. The decision: submission is unified into the Learn tab, within each week card.

Rationale:

  1. Phase 2's content principle states that items belonging to the same week must be co-located. The Week 7 lesson, the Week 7 submission, and the Week 7 feedback are one unit of work.
  2. A standalone Submit tab violates the "place not action" criterion. Recording is an action, not a destination. A student goes to Learn to engage with their weekly content; recording is one step in that engagement.
  3. The mockup proved that the submission UX is excellent at 95% alignment. That UX does not require its own tab -- it requires a well-designed recording screen accessible from within the week card. The recording interface, confirmation dialog, and feedback sheet are preserved exactly as implemented.
  4. Freeing the tab slot allows Profile to absorb all hamburger-menu content, eliminating the need for a "More" catch-all.

Tab 1: Today -- Screen Hierarchy

Level 0: Today (home screen)

No sub-screens navigate downward from Today. It is a dashboard. All interactive elements navigate laterally to other tabs or open modals:

Empty state (pre-semester): Countdown to semester start, level and coach info, orientation video card, pre-semester sessions card.

Tab 2: Learn -- Screen Hierarchy

Level 0: Learn (journey map + week list) Level 1: Week Detail (expanded week card with Lesson / Submission / Feedback segments) Level 2: Video Player (full-screen video playback) Level 2: Recording Screen (Quranic text display + recording interface) Level 2: Feedback Detail (audio playback + comment thread)

The Learn tab uses an expandable-card pattern. The journey map is the header (a compact vertical timeline of all 15 weeks showing completed, current, and upcoming). Below it, week cards are listed in reverse chronological order with the current week at the top, expanded by default.

Each week card contains three segments accessed via an internal segmented control: Lesson | Submission | Feedback.

Empty state (pre-semester): Journey map showing "Week 1 of 15" with all weeks as upcoming. A single card: "Your first lesson unlocks on [date]. Here's what to expect." with a link to the orientation video.

Tab 3: Schedule -- Screen Hierarchy

Level 0: Schedule (weekly calendar view with session cards) Level 1: Session Detail (modal sheet with full session info, Zoom link, add-to-calendar) Level 1: Recordings (accessed via "Past" toggle, showing recorded sessions)

The Schedule tab uses the design from the mockup, which achieved 95% alignment and zero missing elements. It includes: timezone selector in the header, week navigator with arrows, calendar day strip, session type filters (All / Classes / QRCs / Office Hours), session cards with type badges, Join Zoom buttons, Add to Calendar buttons, RSVP toggles, and deadline cards.

A segmented control at the top provides access to recordings: Upcoming | Past. The Past view shows recorded sessions for previous weeks, with session type labels, dates, and watch status indicators. This solves the session recordings discoverability problem -- students who come to Schedule looking for a missed session find the recording in the same location.

Empty state (pre-semester): Shows pre-semester "housewarming" sessions if any are scheduled. If none, shows "Sessions begin [semester start date]" with the weekly schedule overview (what types of sessions happen each week).

Tab 4: Profile -- Screen Hierarchy

Level 0: Profile (identity card, coach section, menu groups) Level 1: Personal Details (name, email, phone, photo upload) Level 1: Subscription & Billing (plan, payment history) Level 1: Learning History (past levels completed, dates, performance) Level 1: Notifications Settings (push toggle, email preferences, notification types) Level 1: Quranic Font Settings (font selector with preview, font size) Level 1: Display Settings (text size, accessibility options) Level 1: Help Center (FAQ, contact support categories: General, Tech, Billing) Level 1: Resources (organized by category: Essential, Supplementary, Reference) Level 1: About QuranFlow (version, legal)

The Profile tab surfaces every feature previously buried in the hamburger menu. The coach section is prominent -- positioned directly below the profile card, with the coach's photo, name, bio, and a "Message Coach" button. This ensures the coach relationship is visible and the communication channel is discoverable.

Empty state: Never truly empty. Even pre-semester, the profile card shows the student's name, level, and assigned coach.


4.3 Screen Specifications

Screen: Today

Purpose: Show the student exactly where they are in the semester and exactly what to do next, without scrolling.

Content (top to bottom):

Navigation Bar:

Week Header (dominant visual element):

This header is the visual anchor of the screen. It is the largest text element. It answers "Where am I?" instantly.

Primary Action Card (context-dependent):

A single prominent card that changes based on the student's state within the weekly cycle. The card has a colored left border (accent color), a title, a subtitle, and a single action button.

The state machine determines the card content:

State Card Title Card Subtitle Button Label
Lesson not started "This Week's Lesson" "Week 8: [Topic Name] -- 2 videos, 8 min total" "Start Lesson"
Lesson in progress "Continue Your Lesson" "Video 2 of 3 remaining -- [Topic Name]" "Continue"
Lesson done, no submission "Ready to Submit" "Week 8 submission -- [Passage Reference]" "Record Submission"
Submission sent, awaiting feedback "Submission Sent" "Submitted [relative time]. Your coach typically responds within 48 hours." "View Submission"
Feedback ready "Feedback from [Coach Name]" "Week 8 feedback is ready to review" "Listen to Feedback"
All done for week "You're All Caught Up" "Great work this week. Your next lesson unlocks in [X] days." "Review Past Weeks"

Status Triptych (three compact status indicators in a horizontal row):

Borrowed from Proposal B. Three small cards side by side, each showing one status:

Card Icon Status Text (examples) Tap Action
Lesson book.fill "2 of 3 videos watched" or "Complete" with checkmark Navigate to Learn > current week > Lesson
Submission mic.fill "Not submitted" or "Submitted [date]" or "1 of 2 attempts used" Navigate to Learn > current week > Submission
Feedback message.fill "No new feedback" or "1 new -- Week 7" with badge Navigate to Learn > current week > Feedback

These three cards answer "What can I do?" and serve the returning student who wants to assess status in 5 seconds.

Upcoming Sessions Section:

Behind State Banner (conditional):

If the student is behind on submissions, a banner appears between the week header and the primary action card:

The language is neutral and functional. It states the fact and offers the path. It does not say "you're behind" or "you're falling behind." It says what can be done.

States:

State What Changes Example
Default / Active Week Full layout as described above Week 8, lesson available, no submission yet
Submission Pending Primary action card shows "Submission Sent" state; Submission status card shows "Submitted [date]" Awaiting coach feedback
Feedback Ready Primary action card shows "Feedback from [Coach Name]" with accent highlight; Feedback status card shows badge New audio feedback to review
All Done for Week Primary action card shows "You're All Caught Up" with relaxed green tone; all three status cards show checkmarks Lesson watched, submitted, feedback reviewed
Behind Behind banner visible above primary action card; primary action card shows oldest incomplete task 2 weeks behind, showing Week 6's lesson
Pre-Semester Week header replaced with countdown: "Semester starts in [X] days"; Primary card shows orientation video; Status triptych replaced with: Level, Coach, and Start Date cards 5 days before Week 1
Empty / First Use (post-assessment) Waiting for level placement: "We're reviewing your assessment. You'll be placed in a level within 48 hours." Assessment submitted, no placement yet
EOC Phase Primary action card shows "End of Course Assessment" with eligibility status; journey progress ring shows near-complete Week 15, 12+ submissions done

Behaviors:

Connection to other screens:


Screen: Learn (Journey Map + Week List)

Purpose: Show the student's complete learning journey organized by week, with the current week expanded and ready for action.

Content (top to bottom):

Navigation Bar:

Journey Map Header:

A compact horizontal visualization of the 15-week semester:

The journey map provides macro-level orientation. It answers "how far have I come" at a glance.

Segmented Control:

Week Cards (the core content):

Each week card is a collapsible container with a header showing:

When expanded, the week card contains an internal segmented control: Lesson | Submission | Feedback

Lesson Segment:

Submission Segment:

Feedback Segment:

States:

State What Changes Example
Default / Active Week Current week expanded with Lesson segment active; videos partially watched Week 8, 2 of 3 videos watched
Submission Pending Submission segment shows "Under Review" status with timestamp Submitted 6 hours ago
Feedback Ready Week card header shows "Feedback Ready" badge; Feedback segment contains audio player Coach's audio feedback available
All Done for Week Week card header shows "Complete" badge in green; all segments show completed states All videos watched, submission done, feedback reviewed
Behind Multiple incomplete weeks visible when viewing "All Weeks"; oldest incomplete week highlighted with amber border Weeks 5 and 6 incomplete, currently Week 8
Pre-Semester Journey map shows all weeks as upcoming; single orientation card replaces week list Before Week 1
Empty / First Use Journey map visible but empty; message: "Your first lesson unlocks on [date]" Enrolled but semester not started
EOC Phase An additional card at the top: "End of Course Assessment" with distinct styling; only appears when student has 12+ submissions completed Week 15 area

Behaviors:

Connection to other screens:


Screen: Recording Screen (Level 2 within Learn)

Purpose: Allow the student to view the Quranic passage, record their recitation, review it, and submit to their coach.

Content (top to bottom):

Navigation Bar:

Week and Attempt Info:

Quranic Text Display:

Recording Interface:

Confirmation Dialog (on submit tap):

Success State (after confirmed submit):

States:

State What Changes
Ready to Record Quranic text displayed, Record button prominent
Recording Waveform animation, Stop button
Review Playback controls visible, Re-record and Submit buttons
Submitting Loading indicator on Submit button
Success Checkmark animation, confirmation message
No Attempts Left Record button disabled, message: "You've used both attempts this week. Your next attempt opens [date]."

Behaviors:

Connection to other screens:


Screen: Video Player (Level 2 within Learn)

Purpose: Play lesson videos with reliable playback and progress tracking.

Content:

Behaviors:

Connection to other screens:


Screen: Schedule

Purpose: Show the student's weekly live session schedule with timezone clarity, session details, and access to recordings of past sessions.

Content (top to bottom):

Navigation Bar:

Timezone Selector (drops down on tap):

Segmented Control:

Upcoming View:

Week Navigator:

Calendar Day Strip:

Session Type Filters:

Session Cards (list below filters):

Each session card shows:

Deadline Cards (interspersed with sessions):

Recordings View:

Week Navigator: Same as Upcoming view

Recordings List:

States:

State What Changes Example
Default / Active Week Current week's sessions displayed with today highlighted Tuesday of Week 8, 3 sessions today
Session Live Now Session card shows "Live Now" with pulsing indicator; "Join Zoom" button prominent QRC happening right now
No Sessions Today "No sessions scheduled for today. Next session: [day], [time]" Saturday (no sessions on this day)
Pre-Semester Shows pre-semester housewarming sessions; header says "Pre-Semester Sessions" Before Week 1
Empty "Sessions begin when your semester starts on [date]." Enrolled but no sessions yet

Behaviors:

Connection to other screens:


Screen: Profile

Purpose: Provide access to the student's identity, their coach relationship, all settings, and support -- replacing the hamburger menu entirely.

Content (top to bottom):

Navigation Bar:

Profile Card:

Quick Stats Row:

My Quran Coach Section:

Menu Groups:

Account:

Settings:

Support:

Bottom:

States:

State What Changes Example
Default Full profile with all sections Mid-semester student
Pre-Semester Status shows "Pre-Semester"; Learning History may be empty for first-time students New enrollment
Post-Graduation Status shows "Level Complete -- Awaiting Next Semester"; Learning History shows completed level Between semesters
Year 2 Transition Additional section appears: "QuranFlow Advanced" with information about the Year 2 program and enrollment link Level 4 graduate

Behaviors:

Connection to other screens:


Screen: Notification Sheet (Modal from Today)

Purpose: Show the student all recent notifications in one place with deep links to relevant content.

Content:

States:


4.4 Critical User Flows

Flow 1: First-Time Student Opens the App (Onboarding)

Precondition: Student has submitted their initial assessment and received level placement. They open the app for the first time post-placement.

Step Action Screen Result
1 Open app Onboarding Step 1 "Welcome to QuranFlow" card with student's name
2 Tap "Get Started" Onboarding Step 2 "You've been placed in Level [X]" with level description
3 Tap "Next" Onboarding Step 3 Font selection: "Choose your Quranic text style" with Amiri Quran (mushaf) pre-selected and a preview. Student taps "Confirm" or changes selection.
4 Tap "Confirm" Onboarding Step 4 "Meet Your Quran Coach" showing coach photo, name, bio, and "Your coach will review your weekly submissions and send personalized feedback."
5 Tap "Next" Onboarding Step 5 "Your Semester" -- a mini journey map showing Week 1 through 15, start date, weekly rhythm explanation: "Each week: Watch lesson, Submit recording, Get feedback, Attend live sessions."
6 Tap "Start Learning" Today screen (pre-semester or Week 1) Lands on Today with full context. If pre-semester, shows countdown. If Week 1, shows first lesson card.

Total taps on critical path: 5 (Welcome > Level > Font > Coach > Semester > Today) Time estimate: 60-90 seconds Why this works: Each step delivers one piece of essential information. Font selection (the P0 fix) happens before the student ever sees Quranic text. The coach introduction happens before the student ever receives feedback. The semester overview happens before the student has to navigate the app independently.


Flow 2: Watch This Week's Lesson

Precondition: Active semester, Week 8. Lesson available but not started.

Step Action Screen Result
1 Open app Today Primary action card shows "This Week's Lesson -- Week 8: [Topic]. 2 videos, 8 min total."
2 Tap "Start Lesson" Learn tab, Week 8 expanded, Lesson segment Video list visible: Video 1 (unchecked, 4:12), Video 2 (unchecked, 3:48). Learning objectives displayed.
3 Tap Video 1 Video Player Video plays. Student watches.
4 Video ends or student taps "Back to Lesson" Learn tab, Week 8, Lesson segment Video 1 now shows checkmark. Video 2 still unchecked.
5 Tap Video 2 Video Player Second video plays.
6 Video ends Learn tab, Week 8, Lesson segment Both videos checked. "Mark Lesson Complete" button appears.
7 Tap "Mark Lesson Complete" Learn tab, Week 8, Lesson segment Confirmation dialog: "Mark Week 8 lesson complete?" Student confirms. Lesson status updates to "Complete."

Total taps on critical path: 5 (Open app > Start Lesson > Video 1 > Video 2 > Mark Complete) Actual engagement taps: 2 to reach first video from app launch Why this works: The Today screen surfaces the lesson as the primary action. One tap reaches the video list. One more tap starts the video. No hunting.


Flow 3: Submit Weekly Recording

Precondition: Week 8 lesson watched. Student ready to submit.

Step Action Screen Result
1 Open app Today Primary action card shows "Ready to Submit -- Week 8 submission."
2 Tap "Record Submission" Learn tab, Week 8 expanded, Submission segment Quranic text visible in mushaf font. "Record Submission" button visible. Attempts: "2 of 2 Remaining."
3 Tap "Record Submission" Recording Screen Full Quranic text display. Large record button.
4 Tap Record Recording Screen (recording state) Waveform animation. Student recites.
5 Tap Stop Recording Screen (review state) Playback controls appear. Re-record and Submit buttons visible.
6 Tap Play (optional) Recording Screen (review state) Student listens to their recording.
7 Tap Submit Confirmation Dialog "Submit This Recording? This will be sent to Coach [Name]. You will have 1 attempt remaining."
8 Tap "Submit" (confirm) Recording Screen (success state) Checkmark animation. "Recording Submitted. Your coach will respond within 48 hours."
9 Tap "Return to Week 8" Learn tab, Week 8, Submission segment Submission shows "Under Review" status.

Total taps on critical path: 7 (Open > Record Submission > Record Submission button > Record > Stop > Submit > Confirm) Taps from app launch to recording start: 3 Why this works: The path from app launch to recording is direct. The confirmation dialog prevents accidental submissions. The success state sets clear expectations about feedback timing.


Flow 4: Check and Respond to Feedback

Precondition: Coach has sent audio feedback for Week 7 submission.

Step Action Screen Result
1 Open app (or receive push notification) Today Primary action card shows "Feedback from Coach [Name] -- Week 7 feedback is ready to review." Feedback status card shows badge.
2 Tap "Listen to Feedback" Learn tab, Week 7 expanded, Feedback segment Coach avatar, audio player, timestamp.
3 Tap Play on audio player Learn tab, Week 7, Feedback segment Audio feedback plays through device speakers.
4 (Optional) Type follow-up question Learn tab, Week 7, Feedback segment Text input field: "Ask a follow-up question..." Student types and taps Send.
5 Tap Send Learn tab, Week 7, Feedback segment Comment posted. Coach notified. Comment appears in thread.

Total taps on critical path: 3 (Open > Listen to Feedback > Play) Why this works: Feedback is surfaced on the Today screen the moment it arrives. One tap reaches the audio player. No hunting through archives or filters.

Alternative entry via push notification:

Step Action Result
1 Receive push notification: "Feedback Ready -- Week 7. Coach Amina reviewed your submission." Notification banner on device
2 Tap notification App opens to Learn tab, Week 7, Feedback segment with audio player ready

Taps from notification: 1


Flow 5: Find and Join a Live Session

Precondition: Active semester. A QRC is scheduled for today at 7:00 PM EST.

Step Action Screen Result
1 Open app Today Upcoming Sessions section shows "QRC -- 7:00 PM EST -- Sisters Reading Circle"
2 Tap session card Schedule tab, session highlighted Session detail modal: full description, coach name, "Join Zoom" button, "Add to Calendar" button, RSVP toggle.
3 Tap "Join Zoom" (if within 15 min of start) External: Zoom app opens Student joins the live session.

Total taps on critical path: 2 (Open > session card > Join Zoom) Alternative: Navigate to Schedule tab directly (1 tap from tab bar), select day, find session (1-2 taps). Why this works: Today's sessions are visible on the home screen. Join is 2 taps away. Timezone is always displayed. No ambiguity about when or where.


Flow 6: Catch Up After Missing a Week

Precondition: Student is at calendar Week 8 but has not submitted for Weeks 6 and 7. They are 2 submissions behind.

Step Action Screen Result
1 Open app Today Behind banner: "You have 2 submissions to catch up on. You can submit up to 2 this week." Primary action card shows Week 6 lesson (the oldest incomplete).
2 Tap "Catch Up" Learn tab, scrolled to Week 6 expanded Week 6 card open. Lesson segment shows unwatched videos.
3 Watch Week 6 videos Video Player Student watches.
4 Navigate to Week 6 Submission segment Learn tab, Week 6, Submission segment Quranic text and Record button ready.
5 Record and submit Week 6 Recording Screen > Confirmation > Success Submission sent. "1 of 2 catch-up submissions used this week."
6 Return to Learn tab Learn tab Week 6 shows "Under Review." Week 7 is the next incomplete week. Its card is highlighted.
7 Repeat for Week 7 Same flow Week 7 submitted.
8 Return to Today Today Behind banner gone. Primary action card now shows Week 8 lesson (current week).

Total taps for one catch-up submission: Same as Flow 3 (7 taps) Why this works: The behind banner is visible immediately. The "Catch Up" button takes the student to the right place. The system tracks catch-up submissions against the 2-per-week limit. The language is functional ("You can submit up to 2 this week") not shaming ("You're behind").


Flow 7: Pre-Semester Experience

Precondition: Student completed assessment, placed in Level 2, assigned Coach Amina. Semester starts in 5 days.

Step Action Screen Result
1 Open app (first time after onboarding) Today (pre-semester state) Week header replaced with: "Semester starts in 5 days" with date. Three cards below: Level ("Level 2 -- Reading with Fluency"), Coach ("Coach Amina" with photo), Start Date ("January 15, 2026 -- Saturday").
2 Scroll down Today (pre-semester state) Primary action card: "Get Ready for Your Semester" with orientation video thumbnail and "Watch Now" button. Below: "Pre-Semester Sessions" showing any housewarming sessions available.
3 Tap "Watch Now" Video Player Orientation video plays explaining the weekly rhythm, what resources are available, and how to use the app.
4 Return to Today Today (pre-semester state) Orientation card now shows "Watched" checkmark.
5 Tap a housewarming session Schedule tab Session detail with Join Zoom button.

Why this works: The student is never in a state where the app is empty or confusing. Pre-semester has its own clear purpose: orient, prepare, get excited. The countdown eliminates the "when does semester start?" emails entirely.


Flow 8: End-of-Semester Assessment and Graduation

Precondition: Student has completed 13 of 15 weekly submissions. It is Week 15. EOC assessment is available.

Step Action Screen Result
1 Open app Today (EOC state) Primary action card: "End of Course Assessment. You've completed 13 submissions and are eligible for the EOC. This assessment covers all concepts from Level 2." Button: "Begin Assessment." Journey progress ring shows 93%.
2 Tap "Begin Assessment" Learn tab, EOC week card expanded Special EOC card at the top of the Learn tab. Distinct styling (gold/amber border). Shows: "End of Course Assessment -- Level 2" with description of what it covers, the Quranic passage for assessment, and "Record EOC Submission" button.
3 Tap "Record EOC Submission" Recording Screen (EOC variant) Same recording interface. Header says "End of Course Assessment." Passage is the EOC passage.
4 Record, review, submit Recording Screen > Confirmation > Success "EOC Assessment Submitted. Your coach will evaluate your submission and determine your graduation status. This may take up to 5 business days."
5 (Wait for results) Today Primary action card shows "EOC Under Review. Results expected by [date]."
6 Results arrive (notification) Today Primary action card: "Congratulations! You've graduated Level 2." with celebration visual (confetti animation or equivalent). Below: "Your Results" card showing coach's feedback, pass status, and "Next: Level 3" information.
7 Tap "View Results" Learn tab, EOC card Full results: Coach's audio feedback on EOC, written evaluation if any, graduation confirmation.
8 Tap "Continue to Level 3" Profile or modal Information about next semester: start date, new level description, whether coach changes. If Level 4 graduate: "You're eligible for QuranFlow Advanced" with enrollment information (see Section 4.9).

Total taps from results notification to viewing results: 2 Why this works: The EOC is not a hidden feature. It surfaces automatically when the student is eligible. The results communication is clear and celebratory. The transition to the next level or Year 2 is explicit.


4.5 Surfacing Strategy

Every feature that was previously hidden behind the hamburger menu now has a discoverable home.

Currently Hidden New Location Taps to Reach How User Discovers It
Quran Coach (TA) Profile tab -- "My Quran Coach" section with photo, name, bio, Message button. Also visible on Today screen during pre-semester as one of the three intro cards. Coach name appears on feedback audio in Learn tab. 1 (Profile tab) Prominent section with photo on Profile tab. Name appears contextually on Today (pre-semester) and on feedback screens.
Weekly schedule Schedule tab -- dedicated tab with calendar view, timezone, session cards, filters. Preview on Today screen showing today's upcoming sessions. 1 (Schedule tab) or 0 (visible on Today) Tab bar makes it permanently visible. Today screen shows a preview.
Session recordings Schedule tab -- "Recordings" segment via toggle [Upcoming / Recordings]. 2 (Schedule tab > Recordings toggle) Toggle is visible on the Schedule tab's main screen. Students looking for a missed session find recordings in the same place they look for live sessions.
Mushaf font setting Onboarding step 3 (mandatory during first launch). Profile tab > Settings > Quranic Font for later changes. Also accessible via inline font picker on the Recording Screen. 0 (onboarding sets it), 2 (Profile > Quranic Font), or 1 (inline picker on Recording Screen) Onboarding ensures every student sets it before seeing Quranic text. Inline picker on Recording Screen provides in-context access.
Support/help Profile tab -- "Support" section with Help Center, Contact Support, and Resources. 2 (Profile > Help Center) Profile tab is always accessible via tab bar. Support section has clear labeling. Help Center provides self-service FAQ.
Feedback archives Learn tab -- feedback is inside each week card's Feedback segment. Browse all weeks via "All Weeks" view. Feedback for any week is accessible by expanding that week card. 2 (Learn tab > expand week > Feedback segment) Feedback is co-located with the submission it relates to. No separate archive to navigate. Browsing "All Weeks" shows feedback status badges on each week card.
Student level Today screen -- always visible in the week header: "Week 8 of 15 -- Level 2." Profile tab -- profile card shows level. Learn tab -- journey map header shows level. 0 (visible on Today without any taps) Permanently displayed on the home screen. Cannot be missed.
Submission history Learn tab -- each week card contains a submission history within the Submission segment. "All Weeks" view shows all weeks with submission status badges. 2 (Learn tab > expand week > Submission segment) Submission is co-located with the lesson it relates to. Each week card shows whether a submission exists and its status.
Semester start date Today screen (pre-semester state) -- countdown: "Semester starts in [X] days" with date. Onboarding step 5 shows the date. 0 (visible on Today during pre-semester) Impossible to miss. It is the dominant element on the Today screen when the semester has not started.
Resources Profile tab -- "Resources" section within Support, organized by category (Essential, Supplementary, Reference). Level Notes PDF linked in the Lesson segment of week cards. 2 (Profile > Resources) Organized by importance. Essential resources (Level Notes) are also accessible from within the learning flow.

4.6 State Management

Temporal Events

New week unlocks (Saturday):

Submission deadline approaches (2 days before, 1 day before):

Live session about to start (15 minutes before):

Session is live:

Semester about to end (1 week before EOC deadline):

User Actions

Completes a lesson video:

Submits a recording:

Listens to feedback:

Asks a follow-up question:

RSVPs for a session:

External Events

Feedback arrives from coach:

Schedule changes (session time changed, cancelled, or new session added):

New announcement posted:

Notification received (general):


4.7 Edge Cases & Empty States

Pre-Semester Student

Context: Completed assessment, placed in a level, assigned a coach. Semester has not started.

Today screen:

Learn tab: Journey map shows all 15 weeks as upcoming. Below: a single card "Your first lesson unlocks on [date]. In the meantime, watch the orientation video to learn how the program works." Orientation video embedded.

Schedule tab: Shows pre-semester sessions if any. If none: "Live sessions begin on [date]. Here's what to expect each week:" followed by a schedule overview (types of sessions, typical days and times).

Profile tab: Full profile with coach section, settings (including font), and resources. No empty states here.

Week 1 Student (First Day)

Context: Semester just started. First lesson unlocked. No submissions yet. No feedback.

Today screen:

Learn tab: Week 1 card expanded. Lesson segment shows videos. Submission segment: "Watch the lesson first, then record your submission." Feedback segment: "Submit your recording to receive feedback."

Behind indicator: Not shown. The student is not behind -- they are at the beginning.

Caught-Up Student

Context: Mid-semester. All lessons watched, all submissions on time, feedback reviewed.

Today screen:

Behind Student

Context: Calendar says Week 8. Student has only completed through Week 5.

Today screen:

Critical design decision -- What "Week 8 of 15" means when behind: The header always shows the calendar week (Week 8) because this is an objective fact tied to the semester timeline. Showing "Week 5" (where the student's content is) would mislead them about time remaining. Instead, the behind banner bridges the gap: the student sees they are in Week 8 of the semester but have Week 6 and 7 content to catch up on. This is honest without being shaming.

Learn tab: All weeks are visible in "All Weeks" view. Incomplete weeks (6 and 7) show "Incomplete" badges with amber borders. Current week (8) shows as the newest card. The student can work on any incomplete week.

End-of-Semester Student

Context: Week 15. Student has 13 submissions completed. EOC is available.

Today screen:

Learn tab: EOC card appears at the very top with distinct styling (gold/amber border, graduation cap icon). Regular week cards below. Journey map shows the student near the end of the track with the EOC marker highlighted.

Year 2 Transition (Level 4 Graduate)

Context: Student has graduated from Level 4. They are eligible for QuranFlow Advanced (Year 2).

Today screen (post-graduation state):

Learn tab: Journey map shows all 15 weeks completed with EOC passed. Below: a card explaining Year 2 and what to expect. All past week content remains accessible for review.


4.8 Onboarding

Trigger

Onboarding triggers on the first app launch after the student has received their level placement (assessment complete, level assigned, coach assigned). If the student opens the app before placement (assessment submitted but not yet reviewed), they see a waiting state: "We're reviewing your assessment. You'll be placed in a level within 48 hours." with a progress indicator.

What Onboarding Must Accomplish

  1. Confirm the student's level placement
  2. Set the Quranic font to mushaf (mandatory)
  3. Introduce the assigned coach
  4. Show the semester timeline and weekly rhythm
  5. Set notification preferences
  6. Land the student on the Today screen with full context

The Flow

Step 1: Welcome

Step 2: Your Level

Step 3: Choose Your Font (Required -- cannot be skipped)

Step 4: Meet Your Coach

Step 5: Your Semester

Step 6: Notification Permission (System)

Landing:

Constraints Met


4.9 End-of-Semester & Graduation

EOC Assessment Flow

Eligibility: The student must have completed at least 12 of 15 weekly submissions. The EOC becomes available in Week 14 or 15 (program-defined timing).

How it surfaces:

  1. Today screen: When the student is eligible, the primary action card transitions to EOC state: "End of Course Assessment -- You've completed [N] of 15 submissions and are eligible. This assessment covers all concepts from Level [X]." Button: "Begin Assessment."

  2. Learn tab: An EOC card appears at the top of the week list, above Week 15 (or after Week 15, as the culminating item). It has distinct styling: gold/amber border, graduation cap icon, "End of Course Assessment" header. The card contains:

    • Description: "This final submission covers all concepts from your level. Record your best recitation of the assigned passage."
    • Quranic text passage for the EOC
    • "Record EOC Submission" button
    • Same recording interface as weekly submissions
  3. Journey map: The EOC is the final node on the journey map, appearing after Week 15. When the student is eligible, this node is highlighted and interactive.

If not yet eligible:

Results Communication

Timeline: Results take up to 5 business days (longer than weekly feedback, because the coach evaluation is more thorough).

Waiting state:

Results arrive (via push notification):

Pass (Graduation):

Fail (did not pass EOC):

Transition to Next Level (Level 1-3 graduates)

After passing EOC:

  1. Transition card on Today: "You're moving to Level [X+1]! Here's what to expect:" with a brief description of the next level's focus.
  2. Key information displayed:
    • Next level name and description
    • Next semester start date (if known) or "Enrollment for next semester opens [date]"
    • Whether the coach changes: "You'll continue with Coach [Name]" or "You'll be assigned a new coach for Level [X+1]"
  3. Action: "Enroll in Level [X+1]" button (if enrollment is open) or "We'll notify you when enrollment opens"
  4. Access to past content: All completed level content remains accessible in Learn tab under a "Past Levels" section (accessible via a filter or segmented control on the Learn tab)

Year 2 Information (Level 4 Graduates)

After passing Level 4 EOC:

This is a special transition because the learning model changes entirely. The transition card is more detailed:

  1. Celebration: Same graduation celebration as other levels.

  2. Year 2 Introduction Card:

    • "You've Completed QuranFlow Essentials!"
    • "You're now eligible for QuranFlow Advanced -- our continued learning program for graduates."
    • Key differences explained clearly:
      • "No more weekly submissions -- you've mastered that skill"
      • "1-on-1 appointments with Quran Coaches for personalized guidance"
      • "Elective-based curriculum -- choose what you want to focus on"
      • "Live sessions continue (QRCs, Office Hours)"
    • "Enrollment is separate and opens [date]"
  3. If enrolled in Year 2: The app transitions to Year 2 mode. The tab bar remains the same (Today, Learn, Schedule, Profile) but the content adapts:

    • Today screen: Shows upcoming appointments instead of weekly lesson/submission/feedback
    • Learn tab: Shows elective content instead of sequential week cards; no submission segments
    • Schedule tab: Includes appointment booking alongside live sessions (new "Appointments" section)
    • Profile tab: Unchanged
  4. If not enrolled: The app shows a graceful post-graduation state with access to all past content and information about Year 2.


Summary of Key Decisions

Decision Resolution Rationale
Tab bar composition Today, Learn, Schedule, Profile (4 tabs) Covers the full critical path. Eliminates hamburger menu. Each tab passes the Tab Worthiness Test.
Submission as tab vs. unified Unified into Learn, within each week card Week-as-unit grouping (Phase 2 Content Principle). Recording is an action, not a destination. Frees tab slot for Profile.
Home screen dominant element "Week [N] of 15" as the giant header Temporal orientation first (Phase 2 Principle Priority Stack). Fixes the core disorientation problem.
Feedback location Inside each week card in Learn (Feedback segment) + surfaced on Today when new Co-located with the submission it relates to (Phase 2 test C3). Also browsable by scrolling through weeks. No separate archive needed.
Schedule prominence Own tab (Tab 3) Was hidden 5 clicks deep. Used weekly. The mockup proved it works excellently standalone.
Behind-state handling Amber banner on Today with neutral language and "Catch Up" button. Calendar week always shown honestly. Neutral and functional, not shaming. Catch-up path is one tap away. Shows real week so student understands time remaining.
Feedback history access Browse "All Weeks" in Learn, expand any week, open Feedback segment No complex month/year filters. Feedback is always adjacent to its submission. Week-grouped as required by Phase 2 test C3.
Onboarding model 5-step guided flow (Welcome > Level > Font > Coach > Semester) with mandatory font selection Addresses P0 font issue. Completable under 2 minutes. Not a tutorial. Information findable later in Profile and Learn.
Session recordings location Schedule tab > Recordings toggle Students who look for a missed session find recordings where they look for live sessions. Natural co-location.
Year 2 architecture Same tab bar, content adapts (appointments replace submissions, electives replace sequential weeks) Tab structure does not need rebuilding for Year 2. Architecture flexes to accommodate a different learning model.

Quality Bar Validation

Checking the architecture against every test from Phase 2:

Structure Tests

S1 -- The 3 Questions Test (10-second rule):

S2 -- No Hamburger Menu: Zero hamburger menus in the architecture. All features housed in the 4-tab structure. PASS.

S3 -- Core Task Reach in 2 Taps: Verified against every [Core] task:

S4 -- Hidden Features Eliminated: All 8 hidden features from Phase 1 have new discoverable homes (verified in Section 4.5). PASS.

Navigation Tests

N1 -- Tab Bar Destination Test: Today (destination), Learn (destination), Schedule (destination), Profile (destination). All are places. All are visited weekly. All are coherent information spaces. PASS.

N2 -- No Actions on the Tab Bar: Today, Learn, Schedule, Profile -- all nouns, all destinations. No "Record," "Submit," or "+" on the tab bar. PASS.

N3 -- First Submission Without Help: Flow 3 demonstrates the full submission path from app launch. Onboarding introduces the weekly cycle. The Today screen surfaces the submission action. The Learn tab provides the recording interface. No emails, no external help needed. PASS.

N4 -- Return Test (5-second rule): Today screen shows the submission status card: "Submitted [date]" or "Not submitted" or "Feedback ready." Visible without scrolling. PASS.

Content Tests

C1 -- No Screen Exceeds 7 Unmediated Items: Today: max 7 items (header, primary card, 3 status cards, sessions section, behind banner). Learn: weeks are collapsed by default; only current week expanded. Schedule: sessions filtered by day (typically 3-5 per day). PASS.

C2 -- The Squint Test: Today: week header is the dominant element. Learn: current week card is the dominant element. Schedule: calendar strip and today's sessions are dominant. Profile: profile card is dominant. PASS (each screen has one clear anchor).

C3 -- Week-Grouped History: Week 6 submission and Week 6 feedback are in the same week card, two segments apart (Submission | Feedback). Within one tap of each other. PASS.

C4 -- Timezone Always Displayed: Schedule tab displays timezone in header and on every session card. Today screen's session preview includes timezone. PASS.

C5 -- Standard Quranic Font on First Encounter: Onboarding step 3 sets mushaf font before the student ever sees Quranic text. Default is Amiri Quran. PASS.

Lifecycle Tests

L1 -- Pre-Semester State: Today screen shows: level (card 1), coach name and photo (card 2), days until semester start (header), and orientation video (primary action card). All four elements visible. PASS.

L2 -- Behind Test: Behind banner on Today: "You have [X] submissions to catch up on. You can submit up to 2 this week." Catch-up path is 1 tap ("Catch Up" button). Language is neutral. PASS.

L3 -- EOC Phase State: EOC card is the primary action on Today when eligible. "Begin Assessment" button reaches EOC submission in 2 taps. PASS.

L4 -- Recovery Test: Profile tab is 1 tap away from any screen. Help Center is 2 taps from any screen (Profile > Help Center). Coach messaging is 2 taps from any screen (Profile > Message Coach). PASS.

Notification Tests

V1 -- Notification Deep Links: Every notification type has a defined deep link target (specified in Section 4.6 and the Notification Sheet screen). Feedback notifications link to Learn > Week > Feedback. Session reminders link to Schedule > Session. PASS.

V2 -- Notification Content: Every notification includes: what happened (type), which submission/session (by week number and title), and when (relative timestamp). Specified in Notification Sheet content. PASS.


Capability Map Coverage Estimate

Section Capabilities Covered Total Coverage
2. Pre-Semester 7 of 8 (excluding 2A.1 external signup) 8 88%
3. Weekly Cycle 33 of 35 35 94%
4. End of Semester 4 of 4 4 100%
5. Year 2 3 of 4 (elective selection deferred) 4 75%
6. Cross-Cutting 7 of 7 7 100%
TOTAL 54 of 58 58 93%

The architecture provides a defined home for 93% of all capabilities in the User Capability Map. The 4 uncovered items are: external signup (out of scope), elective selection for Year 2 (deferred to Year 2 design phase), and two minor enhancements (community board -- deprioritized per PM assessment that it "lacks vision"; detailed performance analytics -- available as a future enhancement to the Learn tab).


5. Validation Report

Version: 1.0 Date: February 25, 2026 Input: Phase 4 Architecture Specification v1.0 Validator role: Independent review against Phase 2 quality bar, WWDC25 Field Guide tests, User Capability Map [Core] tasks, and P0 issues from Phase 1 Verdict: CONDITIONAL PASS -- architecture is sound; 4 findings require resolution before implementation


5.1 How This Validation Was Conducted

Each test was evaluated by checking the specific claim against the specific evidence in the Phase 4 document. Where the architecture makes a tap-count claim, the actual flow table was traced step by step and the count was verified independently. Where the architecture claims a feature is discoverable, the path was reconstructed from the screen specifications and navigation hierarchy. Failures and borderline cases are noted explicitly. The architecture's own self-assessment (Section 4's "Quality Bar Validation") was treated as a claim to be verified, not as evidence.


5.2 Validation Checklist

The following tests are drawn from the WWDC25 Field Guide and Phase 2 design principles. Each is evaluated against the Phase 4 architecture specification.

Test Result Evidence
Orientation test PASS Today screen Week Header: "Week 8 of 15 -- Level 2 -- Reading with Fluency" is the dominant visual element, Large Title size, first thing rendered. No scrolling needed. This directly answers "what week am I on?"
First task test PARTIAL PASS Onboarding (Flow 1) + Flow 3 together cover the first submission path. Onboarding handles font, coach intro, and semester overview before first use. The recording flow itself is fully specified. However, the flow table for Flow 3 claims "4 taps from app launch to recording start" but the actual count is 3 pre-recording taps (Open > "Record Submission" on Today > Submission segment > "Record Submission" button) -- the discrepancy is examined in the Tap Count Audit below. The path is clear and functional.
Return test PASS The status triptych (Lesson / Submission / Feedback cards) plus the primary action card are both above the fold on Today, no scrolling required. A returning student who has submitted sees "Submitted [date]" on the Submission card immediately. Phase 2 test N4 is satisfied.
Recovery test PASS Profile tab is 1 tap from any screen (tab bar). Help Center is 2 taps (Profile tab > Help Center row). Coach messaging is 2 taps (Profile tab > Message Coach button). The architecture specifies this explicitly in Section 4.5 ("Support: 2 taps, Profile > Help Center") and in the L4 lifecycle test evidence.
Tab bar test PASS Four tabs: Today (destination -- the weekly dashboard), Learn (destination -- learning content library), Schedule (destination -- calendar and sessions), Profile (destination -- identity and settings). Each passes the Tab Worthiness Test: each is a place, each is visited at least weekly during an active semester, each represents a coherent information space. No action is on the tab bar.
3 Questions test PASS "Where am I?" -- Week header on Today is the dominant element: "Week 8 of 15 -- Level 2." "What can I do?" -- Primary action card changes based on state; status triptych shows all three statuses. "Where can I go?" -- 4-tab bar at the bottom, labeled with single nouns (Today, Learn, Schedule, Profile). All three answers are visible on the Today screen without scrolling.
Lifecycle test PASS WITH NOTE Pre-semester: handled (countdown header, level/coach/start-date cards, orientation video, housewarming sessions). Active semester: the core design. End-of-semester: EOC state is specified on both Today and Learn. Year 2 transition: specified in Section 4.9. Note: the architecture does not specify what a student sees if they open the app BEFORE their assessment has been reviewed (post-submission, pre-placement). Section 4.8 mentions a waiting state ("We're reviewing your assessment") but does not specify which tab they land on or what the tab content shows. This gap is documented in the Gaps section below.
Behind test PASS Amber banner between Week Header and Primary Action Card: "You have [X] submissions to catch up on. You can submit up to 2 this week." "Catch Up" button navigates in 1 tap to the oldest incomplete week. Language is neutral (catch-up framing, not shame framing). Calendar week always shown honestly ("Week 8 of 15" even when behind). L2 lifecycle test criteria are all met.

5.3 [Core] Task Coverage

The following table traces every [Core]-tagged task from the User Capability Map (Sections 2-6) through the Phase 4 architecture. The tap count is measured from the tab bar -- meaning the student is already in the app, on a tab. "0 taps" means visible on the current screen. "1 tap" means one interaction from the tab bar or current screen. All counts assume the student is starting from the app launch state (Today screen visible).

Task Screen Taps to Reach Status
2A.2 -- Complete initial assessment Assessment screen (pre-onboarding flow) 0 -- shown on first launch before level placement COVERED. Specified in Onboarding section 4.8: waiting state exists if assessment submitted but placement not yet received.
2A.3 -- Receive level placement Onboarding Step 2 (first launch after placement) + Today pre-semester state 0 -- presented during onboarding; then visible on Today and Profile COVERED. Placement shown in onboarding and persisted on Today (pre-semester cards) and Profile card.
2B.2 -- Know when semester starts Today screen (pre-semester state) 0 -- dominant header on Today when pre-semester COVERED. "Semester Starts in [X] Days" replaces the Week Header in pre-semester state. Date is explicit. Also shown in Onboarding Step 5.
2B.3 -- Understand my weekly schedule Schedule tab 1 -- tap Schedule tab COVERED. Schedule is a dedicated tab. Section 4.5 confirms "Was hidden 5 clicks deep. It is used weekly." Now 1 tap. Timezone is always displayed.
3A.1 -- Know which week I'm on Today screen 0 -- Week Header is the dominant visual element COVERED. "Week 8 of 15 -- Level 2" is the first thing the student sees on any launch.
3A.2 -- Access this week's lesson Today > Learn tab (current week, Lesson segment) 1 -- tap "Start Lesson" on Today's primary action card (goes to Learn) COVERED. Primary action card on Today surfaces this as the dominant CTA when lesson is not complete. Alternative: 1 tap to Learn tab, then the current week is expanded by default.
3A.3 -- Watch instruction videos Video Player (Level 2 within Learn) 2 -- Learn tab > tap video row COVERED. Video Player spec addresses P0 (adaptive bitrate, native controls, single-tap full-screen, full-width display). Section 4.3 Video Player screen is fully specified.
3B.1 -- Know what to submit Learn tab, Week card, Submission segment 2 -- Learn tab > current week > Submission segment (or 1 tap via Today's primary action card "Record Submission") COVERED. Submission segment shows the Quranic text, passage reference, and attempts counter. Also surfaced directly on Today when lesson is done.
3B.2 -- View Quranic text to recite Learn tab, Submission segment AND Recording Screen 2 from Learn tab; also visible in Submission segment before navigating to Recording Screen COVERED. Quranic text shown in Submission segment and again on Recording Screen. Mushaf font (Amiri Quran) is the default, set during onboarding. P0 fix confirmed.
3B.3 -- Record my recitation Recording Screen (Level 2 within Learn) 3 -- Learn tab > current week > Submission segment > "Record Submission" button COVERED. Recording Screen spec includes: waveform visualization, elapsed time counter, clear Record/Stop/Play/Submit states, attempt counter display.
3B.4 -- Review recording before submitting Recording Screen (review state) 3 then automatic -- same as above; review state is reached after stopping COVERED. After stopping, playback controls appear automatically. Play and Submit are visually separated (left/right, different colors and sizes).
3B.5 -- Submit to Quran Coach Recording Screen > Confirmation Dialog 4 to reach confirmation -- Learn > Submission segment > Record Submission > Record > Stop > Submit (then confirm) COVERED. Confirmation dialog is mandatory ("prevents accidental submissions -- P0 fix"). Turnaround time is consistent: "48 hours" throughout.
3C.1 -- Know when feedback is ready Today screen (feedback state) and Notification Sheet 0 -- Today primary action card changes to "Feedback from [Coach Name]" state; push notification deep-links directly COVERED. Push notification content is specified (V2 test). Deep link goes to Learn > Week > Feedback. Feedback status card on Today shows badge.
3C.2 -- Listen to TA audio feedback Learn tab, Week card, Feedback segment 2 -- Learn tab > relevant week > Feedback segment (or 1 tap from Today's "Listen to Feedback" primary action) COVERED. Label is "Listen to Feedback" not just "Feedback" -- addresses the mislabeling P0. Audio player with play/pause, scrubber, and duration is specified.
3D.1 -- See my weekly schedule Schedule tab 1 -- tap Schedule tab COVERED. Dedicated tab with calendar day strip, week navigator, session cards. Timezone always displayed.
3D.3 -- Know timezone/timing Schedule tab (all session displays) 1 -- visible on Schedule tab header and all session cards COVERED. Phase 2 test C4 requires every time display to include timezone. Architecture specifies "7:00 PM EST" format on session cards, Schedule tab header shows current timezone, and timezone selector is accessible.
3D.4 -- Join a live session Schedule tab > Session Detail (modal) 2 -- Today > session card (navigates to Schedule), then "Join Zoom" button; or Schedule tab > session card COVERED. "Join Zoom" button is active when session is within 15 minutes of start or live. Status states specified (Upcoming / Live Now / Ended).
4A.1 -- Complete end-of-course assessment Learn tab, EOC card (top of week list) 2 -- Today "Begin Assessment" > Learn tab EOC card; or Learn tab directly COVERED. EOC card has distinct styling, eligibility indicator, passage display, and "Record EOC Submission" button. Section 4.9 specifies the full flow.
4A.2 -- View final results Today (results state) and Learn (EOC card) 1 from notification; 2 from Today > "View Results" > Learn EOC card COVERED. Results communication specified: pass state (celebration), fail state (retake path), coach audio feedback linked.
4B.1 -- Graduate to next level Today (transition card) and Profile (updated level) 0 -- surfaced automatically on Today after results COVERED. Transition card on Today shows next level name, semester start date, and coach continuity. Profile updates to show completed level.
5A.1 -- View available appointment slots (Year 2) Schedule tab (Year 2 mode, Appointments section) 1 -- Schedule tab (which gains an Appointments section in Year 2 mode) PARTIALLY COVERED. Section 4.9 states "Schedule tab: Includes appointment booking alongside live sessions (new 'Appointments' section)" but the Appointments section is not specified in any screen spec. No detail on how slots are displayed, what the appointment type taxonomy looks like, or how timezone handling works for 1:1 appointments.
5A.2 -- Book an appointment (Year 2) Schedule tab, Appointments section 2 estimated UNDERSPECIFIED. Referenced in Section 4.9 but no screen spec provided. Flagged as a gap.
6A.1 -- View/edit profile information Profile tab > Personal Details 2 -- Profile tab > Personal Details row COVERED. Profile card shows photo (tappable to change, gallery AND camera -- fixing the camera-only bug), name, level, semester. Personal Details sub-screen covers name, email, phone. Billing via Subscription & Billing. Learning History sub-screen covers past levels.
6B.1 -- Set Quranic text font Onboarding Step 3 (mandatory) and Profile > Settings > Quranic Font, and inline on Recording Screen 0 (set during onboarding), 2 (Profile > Quranic Font), or 1 (inline font picker on Recording Screen) COVERED. This is the P0 fix. Font is set to mushaf by default in onboarding. Cannot be skipped during onboarding. Accessible later via Profile and inline on Recording Screen.
6B.2 -- Manage notifications Profile tab > Notifications 2 -- Profile tab > Notifications row COVERED. Notification types specified: Feedback, Sessions, Announcements, Deadlines. Push toggle and email preferences included.
6C.1 -- Access support/help Profile tab > Help Center 2 -- Profile tab > Help Center row COVERED. Help Center within Support section of Profile. FAQ by topic, Contact Support with category selection. Phase 2 L4 test verified: within 2 taps from any screen.
6E.1 -- Understand app structure Tab bar (persistent) and Onboarding 0 -- tab bar always visible; onboarding explains the weekly rhythm COVERED. Standard iOS bottom tab bar with 4 clearly labeled destination tabs. Onboarding Step 5 explains the weekly rhythm. No hamburger menu.
6E.2 -- Receive and act on notifications Notification Sheet (modal from Today) and push notifications 1 -- tap bell icon on Today; or 0 -- push notification arrives on device COVERED. Notification Sheet specifies: type icon, title, subtitle, relative timestamp, unread indicator, and deep-link behavior for each notification type. V1 and V2 tests addressed.

[Core] Task Coverage Summary

Total [Core] tasks in User Capability Map: 27 Fully covered: 24 Partially covered or underspecified: 3 (Year 2 appointment tasks 5A.1 and 5A.2, and the pre-assessment waiting state for 2A.2) Not covered: 0

Note: Tasks 5A.1, 5A.2, and 5A.3 (Year 2 appointment management) are referenced in the architecture but have no corresponding screen specifications. The architecture explicitly defers this to a Year 2 design phase, which is a reasonable decision but should be documented as out-of-scope rather than counted as covered.


5.4 P0 Issue Resolution

The six P0 issues from the original audit, plus "feedback hard to find" from the PM Discussion (treated as P0 in the Capability Map):

P0 Issue How Architecture Addresses It Verdict
Video playback failure Video Player screen spec: "Adaptive bitrate streaming (not locked to 1080p -- this fixes the P0 video playback failure)." Native iOS player. Single-tap full-screen with large touch target. Full-width display. These are requirements passed to engineering, not design constraints. ADDRESSED -- requirement is explicit. Requires engineering validation.
Missing submission history Submission history is in each week card's Submission segment (Learn tab). "All Weeks" view shows all 15 weeks with submission status badges. No separate archive with month/year filters. Any past submission is 2 taps away: Learn tab > expand that week > Submission segment. ADDRESSED -- fundamentally better than the current state. History is co-located with the lesson and feedback it belongs to.
Broken notifications Notification Sheet specifies: type icon, title with context ("Feedback Ready -- Week 7"), subtitle with coach name, relative timestamp, unread indicator. Deep links are defined for each notification type. Phase 2 tests V1 (deep links) and V2 (content completeness) both addressed. Sections 4.6 and 4.8 are explicit. ADDRESSED -- content and deep-link requirements are fully specified. Fixing the underlying delivery system is an engineering concern separate from design architecture.
Non-standard Quranic font Onboarding Step 3 is mandatory -- cannot be skipped -- and pre-selects Amiri Quran (mushaf) with a live preview. Font is set before the student ever encounters Quranic text. Also accessible via Profile > Settings > Quranic Font and via inline font picker on the Recording Screen. Phase 2 test C5 is met. ADDRESSED -- this is the strongest P0 fix in the architecture. The mandatory onboarding step eliminates the root cause (users never finding the setting).
Inadequate profile Profile tab is a full screen specification: profile card (photo via gallery OR camera -- fixing the camera-only bug), name, level, semester status. Sub-screens for: Personal Details, Subscription & Billing, Learning History, Notifications, Font Settings, Display, Help Center, Resources. Coach section is prominently featured with photo, bio, and Message button. ADDRESSED -- the scope of the Profile tab in this architecture is dramatically larger than the current implementation. Every gap from the audit is covered.
No timezone on live sessions Schedule tab always shows timezone in the header and on every session card (format: "7:00 PM EST"). Timezone selector in the Schedule tab header. Today screen session previews also include timezone. Phase 2 test C4 is explicit: "Every time display carries explicit timezone information." ADDRESSED -- timezone is a first-class display requirement throughout the architecture.
Feedback hard to find Feedback is inside each week card's Feedback segment in Learn. It is also surfaced on Today the moment it arrives ("Feedback from Coach [Name]" primary action card with badge). Push notification deep-links directly to the relevant week's Feedback segment. Label is "Listen to Feedback" not the ambiguous "Feedback." Section 4.5 explains feedback archive access: "No complex month/year filters. Feedback is always adjacent to its submission." ADDRESSED -- feedback discoverability is fundamentally improved. The labeling fix ("Listen to Feedback") addresses the misinterpretation problem directly.

P0 Resolution verdict: All 7 P0 issues are addressed at the architecture/design level. Two items (video playback and notification delivery) have engineering dependencies that the architecture cannot guarantee but correctly specifies.


5.5 Tap Count Audit

The following audits the claimed tap counts against the actual flow steps in the Phase 4 document. A "tap" is defined as one deliberate user interaction (press, tap). Opening the app does not count as a tap. Navigating to a tab counts as 1 tap.

Claimed: All [Core] tasks reachable in 2 taps (Phase 2 test S3)

Action Architecture's Claim Actual Count (traced from flow tables and screen specs) Pass?
Know what week I'm on 0 taps (visible on Today) 0 -- Week Header is the first element on Today. PASS
Know when semester starts 0 taps (Today, pre-semester) 0 -- Week Header replaced with countdown in pre-semester state. PASS
Access this week's lesson 1 tap ("Start Lesson" on Today CTA) 1 -- tap "Start Lesson" on primary action card navigates to Learn, current week, Lesson segment. OR: tap Learn tab (1 tap; current week is expanded by default). PASS
Watch instruction videos 2 taps (Learn > video row) 2 -- tap Learn tab (1), tap video row in Lesson segment (2). Note: if coming from Today's "Start Lesson" CTA, Learn tab loads with week already expanded, so tapping a video is tap 2 overall. PASS
View Quranic text 2 taps (Learn > Submission segment) 2 -- tap Learn tab (1), tap Submission segment within the current expanded week card (2). Quranic text is visible in Submission segment directly; Recording Screen shows it again. PASS
Record my recitation 3 taps to reach Recording Screen Trace: tap Learn tab (1), Submission segment is visible in expanded current week -- tap "Record Submission" button in Submission segment (2), this opens Recording Screen. The Record button itself is tap 3. So: 2 taps to reach the Recording Screen; 3 taps to actually begin recording. The S3 test says "reachable from the tab bar in 2 taps or fewer" meaning "the student arrives at the screen where the task begins." The Recording Screen is the screen where recording begins, reached in 2 taps. PASS (2 taps to reach Recording Screen)
Submit to Quran Coach Architecture claims "2 taps to reach recording screen" Recording Screen is 2 taps from Learn tab (Learn tab > "Record Submission" in Submission segment). After that: tap Record (3), tap Stop (4), tap Submit (5), tap confirm (6). The S3 test asks for "the screen where the task begins" -- the Recording Screen is reached in 2. Submission itself is a 6-step flow from the tab bar but that is inherent to the task. PASS (2 taps to reach screen; 6 total to complete)
Know when feedback is ready 0 taps (Today screen shows badge and primary action card changes) 0 -- primary action card on Today transitions automatically to "Feedback from [Coach Name]" state when feedback arrives. Feedback status card also updates. PASS
Listen to TA feedback 1 tap from Today ("Listen to Feedback" on primary action card) 1 -- tap "Listen to Feedback" navigates to Learn > relevant week > Feedback segment. Audio player is immediately visible. PASS
See weekly schedule 1 tap (Schedule tab) 1 -- tap Schedule tab. PASS
Know timezone/timing 1 tap (Schedule tab shows timezone in header) 1 -- tap Schedule tab. Timezone is displayed in the navigation bar area. It is also visible on Today's session cards (0 taps if sessions are visible today). PASS
Join a live session 2 taps (Today > session card > Join Zoom) Flow 5 table: Open app (Today), tap session card (1 -- this navigates to Schedule with session highlighted), then tap "Join Zoom" (2). BUT: this is 2 taps to join, which satisfies S3. Note: "Join Zoom" is only active within 15 minutes of start. Before that, the Join button is not available -- see FINDING 1 below. PASS (with caveat on timing)
Understand app structure 0 taps (tab bar is always visible) 0 -- bottom tab bar with 4 labeled destinations is permanently visible. Onboarding explains the rhythm. PASS
Receive and act on notifications 1 tap (bell icon on Today) 1 -- tap notification bell opens Notification Sheet modal with deep-link tap targets. PASS
Find support 2 taps (Profile tab > Help Center) 2 -- tap Profile tab (1), tap Help Center row (2). PASS
Find schedule 1 tap (Schedule tab) 1 -- tab bar. PASS
Submit recording (screen to screen) Architecture says 4 taps from launch Flow 3 table says: Open app (Today with "Record Submission" CTA), tap "Record Submission" (1 -- opens Learn, Submission segment), tap "Record Submission" button in Submission segment (2 -- opens Recording Screen), tap Record (3), tap Stop (4), tap Submit (5), tap Confirm (6). The architecture's own summary says "Taps from app launch to recording start: 4" -- let's trace that: Open app (Today) > tap "Record Submission" on primary action card (1 -- goes to Learn, Week 8, Submission segment) > tap "Record Submission" button (2 -- goes to Recording Screen) > tap Record button (3). That is 3 taps to start recording, not 4. The architecture claims 4 but the actual flow gives 3. DISCREPANCY -- see FINDING 2
Check feedback Architecture claims "2 taps (Learn > Feedback segment)" From Today: tap "Listen to Feedback" on primary action card (1 -- goes to Learn, relevant week, Feedback segment already open). That is 1 tap, not 2. From Learn tab directly: tap Learn tab (1), expand relevant week or it may already be expanded (if current week has feedback, it shows the badge), tap Feedback segment (2). So it is 1 tap from Today or 2 taps from Learn tab. The claim of "≤3 taps" is easily met. PASS (1 tap from Today, 2 from Learn tab)

5.6 Findings and Recommendations

FINDING 1 -- Join Session Tap Count is Misleading (Medium Severity)

What the architecture claims: "Total taps on critical path: 2 (Open > session card > Join Zoom)" for Flow 5.

What actually happens: The "Join Zoom" button is only active "when session is within 15 minutes of start or currently live." If a student taps a session card outside that window, they reach the Session Detail modal -- but the Join button is inactive. They cannot join from there. To join, they must wait until the button activates. This is not a design flaw (the session cannot be joined before it starts), but the tap-count claim conflates two different moments in time. The claim is technically true only at the exact moment the student is joining a live or imminent session. For any other use of the 2-tap path (checking session details, adding to calendar, RSVPing), the count is accurate but the "Join" action is not available.

Impact: The 2-tap-to-join claim is correct for the live-session scenario. It is potentially confusing in documentation when the student follows the same 2-tap path and finds the Join button grayed out.

Recommendation: In the Session Detail modal spec, explicitly state what the student sees when "Join Zoom" is inactive: a countdown ("Join available in [X] hours [Y] minutes") so the modal is useful and not confusing at any time of day. The Architecture section 4.3 Schedule screen addresses "Not yet available" as a P1 fix but does not specify what inactive Join looks like in the modal. This needs to be specified.


FINDING 2 -- Tap Count Discrepancy in Flow 3 Summary (Low Severity)

What the architecture claims: "Taps from app launch to recording start: 4" (Flow 3 summary line).

What the actual flow table shows:

The recording starts at tap 3, not tap 4. The flow table itself has 9 steps but only 7 are actual taps -- steps 1 and 6 are passive events (opening app, listening to recording). The "4" figure appears to be an error in the summary line. The actual count (3 taps to recording start) is better than claimed, not worse.

Impact: The architecture passes its own targets -- this is a documentation inconsistency, not a design failure. However, it signals that the tap counts in the summary lines were not cross-checked against the actual flow tables. Other summary claims may have similar drift.

Recommendation: Before finalizing the document for handoff to engineering, reconcile every tap-count summary line against its corresponding flow table. Specifically check Flow 2's "5 taps on critical path" (tracing: Today > Start Lesson (1) > Learn tab with Lesson segment > video tap (2) > back (3) > Video 2 tap (4) -- that's 4 taps to complete two videos, not 5 including "Mark Complete" which would be 5 -- this appears correct), and Flow 5's "2 taps" claim which is correct only at join time.


FINDING 3 -- Pre-Assessment Waiting State is Underspecified (Medium Severity)

The gap: Section 4.8 (Onboarding) notes: "If the student opens the app before placement (assessment submitted but not yet reviewed), they see a waiting state: 'We're reviewing your assessment. You'll be placed in a level within 48 hours.'" Section 4.3 Today screen mentions it: "Empty / First Use (post-assessment) -- Waiting for level placement."

What is missing: No specification of what the other tabs show in this state. If a student taps Learn, Schedule, or Profile before receiving placement, what do they see? The current architecture specifies Today's waiting state but leaves the other three tabs undefined. This matters because:

  1. Students will explore the app while waiting 48 hours for placement
  2. An empty or broken tab during this waiting period creates the exact disorientation the architecture is designed to prevent
  3. Phase 2 Principle 5 ("No dead ends") requires that every state provides a clear next action or orientation

Impact: Medium. This is a transition state that every student passes through. If the other tabs show errors or empty screens, it undermines the onboarding experience at the most critical moment (first impressions).

Recommendation: Add a "Pre-Placement" state to the Learn, Schedule, and Profile tab specifications. Minimum viable:


FINDING 4 -- Year 2 Appointment Flow Has No Screen Specification (Low-to-Medium Severity, Scope-Dependent)

The gap: The architecture correctly identifies Year 2 as a different learning model and describes how the tab bar adapts. Section 4.9 states: "Schedule tab: Includes appointment booking alongside live sessions (new 'Appointments' section)." But no screen specification exists for:

Why this matters: The architecture document covers Year 1 Year-2 transition at the graduation level (Section 4.9) and at the tab-adaptation level ("Today screen: Shows upcoming appointments instead of weekly lesson/submission/feedback") but the actual interaction model for Year 2 is unspecified. Three [Core] tasks for Year 2 students (5A.1, 5A.2, 5A.3) have no home in the architecture's screen specs.

Scope judgment: If Year 2 is explicitly out of scope for this design phase, this should be stated clearly in the document as a known gap rather than left implied. The Capability Map Coverage table in Section 4 says "75%" for Year 2 but the reality is closer to 25% (only the transition experience is designed; the actual Year 2 interaction model is not).

Recommendation: Either (a) add a note to Section 4.9 explicitly stating "Year 2 interaction design is deferred to a separate design phase; this architecture covers only the Year 1-to-Year 2 transition experience" and remove Year 2 tasks from the coverage count, or (b) add a basic Year 2 screen specification for the Schedule tab's Appointments section and the Learn tab's elective content view. Option (a) is faster and honest.


FINDING 5 -- C1 (7-Item Rule) Needs Verification for Live Session Edge Cases (Low Severity)

The concern: Phase 2 test C1 states "No default list view shows more than 7 items without a progressive disclosure mechanism." The architecture claims PASS.

The edge case: The Schedule tab's session list is filtered by day by default (the calendar day strip highlights the current day). This is an effective progressive disclosure mechanism -- it reduces a potential 20-session week to the 3-5 sessions on a given day. However, the architecture does not specify a maximum number of sessions per day before a further disclosure mechanism is triggered. On a day with, say, 8 sessions (multiple QRC time slots across different gender/level groupings), the list would exceed 7 items.

Evidence from Phase 1: "Up to 20 sessions per week" is documented. While 8+ sessions in a single day is unlikely, it is not impossible during peak weeks.

Impact: Low. The day-level filtering already provides strong scannability. The failure mode (8+ sessions on one day) is rare and still preferable to the current "wall of unstructured text" described in the audit.

Recommendation: Add a soft cap to the Schedule tab spec: "If more than 7 sessions are displayed for a single day, group them by session type (Level Classes, QRCs, Office Hours) with collapsed sections, each expandable. Show count in collapsed header: 'QRCs (5)' -- tap to expand." This would satisfy C1 formally and improve scannability on dense days.


5.7 Summary Assessment

What the Architecture Gets Right

The architecture's core design decisions are well-reasoned and directly address the problems identified in the audit. The weekly rhythm organizing principle is correct for this user population. The four-tab structure is correct -- it passes the Tab Worthiness Test at every position. The Today screen design is the strongest part of the document: the week header as the dominant visual element, the context-dependent primary action card, and the status triptych together solve the disorientation problem completely.

The P0 issues are resolved in the right places. Font is addressed in onboarding (not just settings). Feedback is co-located with submissions (not in a separate archive). Notifications are specified with content and deep links. The schedule is a tab (not 5 clicks deep). The profile is a full information hub (not a minimal screen).

The progressive disclosure approach throughout (day-filtered sessions, "This Week" default on Learn, collapsed week cards, "See Full Schedule" from Today) is correct and consistent with the WWDC25 Field Guide principles.

The lifecycle state machine is thorough: pre-semester, active (default, submission pending, feedback ready, all done, behind), EOC phase, graduation, Year 2 transition. Each state is specified for the Today and Learn screens. This is production-ready thinking.

What Needs Resolution Before Implementation

Finding Severity Action Required
F1: Join button inactive state not specified Medium Add countdown/status copy to Session Detail modal for non-live sessions
F2: Tap count discrepancy in Flow 3 Low Reconcile all flow summary tap counts against flow tables
F3: Pre-placement waiting state incomplete Medium Specify Learn, Schedule, and Profile tab content in pre-placement state
F4: Year 2 appointment flow unspecified Low-Medium Explicitly scope out Year 2 design or add basic spec
F5: C1 edge case on dense schedule days Low Add session-type grouping with collapse on days with 7+ sessions

Overall Verdict

CONDITIONAL PASS. The architecture satisfies all mandatory Phase 2 quality bar criteria for Year 1 design. The four open findings are gaps rather than design failures -- they do not invalidate the core structure or require revisiting the fundamental decisions. Findings F1 and F3 should be resolved before the document is handed to engineering, as they affect states that every student will encounter. Findings F2, F4, and F5 can be addressed in a targeted revision or carried forward into the detailed design phase with explicit documentation.

The architecture is ready to proceed to detailed design (wireframes/mockups) for Year 1, with the understanding that the five findings above are resolved either in a document revision or in the wireframe phase.


Appendix: Source Materials

The following 8 documents were the primary inputs to this specification. Each phase output drew on a subset of these materials; the complete list represents the full evidence base behind the architectural decisions.

# Document Description
1 QuranFlow App - Usability & Design Audit - Nov 27.md The original structured audit report organized by screen/feature area. Contains the 6 P0 findings, P1-P3 severity classifications, and the systematic screen-by-screen analysis using NNG/HEART methodology. The primary reference for what is broken and why.
2 Quranflow-review-transcript Raw voice notes from the usability review session. Contains unfiltered observations, reactions, and context that shaped the tone and framing of the redesign. Preserves nuances that the structured audit summarizes away.
3 PM-Discussion-Dec2-Lejla.md Notes from the December 2 discussion with the PM. Contains the "plug and play" user insight, the clarification of catch-up rules (2 submissions per 7-day period), the 12-of-15 graduation requirement, and the elevation of "feedback inaccessible from progress screen" to P0 status.
4 QuranFlow-User-Capability-Map.md The complete user capability map organizing all 58 student tasks across 6 lifecycle phases. The authoritative task inventory used to measure architecture coverage (target: 93%). Also the source of [Core] vs. [Supporting] task classification.
5 QuranFlow-Architecture-Proposals.md Three complete architecture proposals (A: Weekly Rhythm, B: Dashboard Command Center, C: Guided Journey) each with tab bar designs, screen hierarchy, critical flows, and trade-off analysis. The proposals were the input to the first mockup attempt and the comparative analysis in Phase 3.
6 DESIGN-REVIEW-of-Exploration-A.md Detailed design review of the Exploration A mockup against the Proposal A specification. Identified the 60% alignment on the Today page, the 95% alignment on Schedule and Submit pages, and the structural deviation (Submit as standalone tab vs. unified into Learn). The primary input to Phase 3's "what didn't work" analysis.
7 DESIGN-REVIEW-of-Exploration-B.md Design review of the Exploration B mockup. Provided additional data points on the three-card dashboard pattern and the Pending + History feedback structure borrowed into this architecture.
8 App-Redesign-Field-Guide-WWDC25.md The WWDC25 Field Guide providing the diagnostic framework: the 3 Questions Test, Tab Worthiness criteria, Progressive Disclosure principles, layout selection rules (Grid vs. List), the Squint Test, and the Principle Priority Stack. The methodological backbone of Phase 2's quality bar, against which Phase 5 validated the final architecture.