Design Review — Exploration A

QF Design A - Design Review & Progress Audit

Date: December 18, 2025 Version: 1.0 Purpose: Track alignment between mockup implementation and design specifications


Reference Documents

This review compares the current mockup against:

Document Location Purpose
QuranFlow-User-Capability-Map.md /reviews/ Defines [Core], [Supporting], [Enhancement] tasks
QuranFlow-Architecture-Proposals.md /reviews/ Section 4: Proposal A (Weekly Rhythm) specifications
App-Redesign-Field-Guide-WWDC25.md /reviews/reference-docs/ Design principles and diagnostic tests

Executive Summary

Overall Alignment: ~80%

The mockup successfully addresses most P0 critical issues and implements the core weekly learning cycle. Key strengths include the Schedule page (near-perfect alignment) and Submit page (excellent UX). The primary gap is temporal orientation on the Today page.


Screen-by-Screen Assessment

Today Page (client/src/pages/today.tsx)

Alignment: 60%

What's Implemented

Element Status Notes
Week indicator ⚠️ Partial Shows "Current Week 8" but missing "of 15"
Feedback alert ✅ Complete Dismissible card when feedback ready
Weekly lesson card ✅ Complete Title, description, "Start Lesson" CTA
Live session preview ✅ Complete "Live Class - Today, 7:00 PM"
Coach connection ✅ Complete Shows coach name and status
Progress bar ✅ Complete Visual progress indicator

What's Missing (per Proposal A Section 4.3)

Element Proposal A Spec Priority
"Week X of 15" format Giant header showing position in semester High
Level indicator "Level 4 • Tajweed Rules" below week High
Days countdown "3 days until Week 9 unlocks" High
Submission status card "🎙 YOUR SUBMISSION" with status High
Video progress "✓ Video 1/3 ○ Video 2/3 ○ 3/3" Medium
Timezone on sessions "12:00 PM EST" format Medium
Multiple session cards Show all today's sessions Low

WWDC25 "3 Questions" Test

Question Requirement Current Verdict
Where am I? "Week 8 of 15, Level 4" "Thursday, Dec 19" + "Current Week 8" ⚠️ Weak
What can I do? Clear primary action "Start Lesson" button visible ✅ Pass
Where can I go? Navigation visible 5-tab bottom nav ✅ Pass

Learn Page (client/src/pages/learn.tsx)

Alignment: 90%

What's Implemented

Element Status Notes
Level/Semester header ✅ Complete "Level 4 • Semester 1" badge
Segmented control ⚠️ Partial [Current Week] [All Weeks] - missing [Past Levels]
Week cards (expandable) ✅ Complete Click to expand week content
Video list with progress ✅ Complete Checkboxes per video, duration shown
Learning objectives ✅ Complete Blue info box with bullet points
Unified submission view ✅ Complete "Submit" tab within each week card
Resources tab ✅ Complete PDFs and materials accessible
"Feedback Ready" badge ✅ Complete Shows on Week 7
Video dialog ✅ Complete Modal with play button

What's Missing

Element Proposal A Spec Priority
"Past Levels" segment Third option in segmented control Low

Submit Page (client/src/pages/submit.tsx)

Alignment: 95%

What's Implemented

Element Status Notes
Week indicator ✅ Complete "Week 8" shown
Attempts counter ✅ Complete "1 of 2 Attempts Remaining"
Quranic text display ✅ Complete Amiri font, RTL, proper Arabic
Recording interface ✅ Complete Tap to record with visual feedback
Playback before submit ✅ Complete Play button after recording
Re-record option ✅ Complete Retry button visible
Confirmation dialog ✅ Complete "Submit Recitation?" with warning
Success state ✅ Complete Checkmark animation + message
Submission history ✅ Complete Week 7, Week 6 entries
"Feedback Ready" badge ✅ Complete Green badge on Week 7
Feedback sheet ✅ Complete Bottom sheet with audio playback
Follow-up questions ✅ Complete Text input to reply to coach

Architectural Note

Proposal A specifies submission should be unified into the Learn tab, with this tab slot used for "Progress" instead. Current implementation has Submit as a standalone tab. This is a design decision to evaluate.


Schedule Page (client/src/pages/schedule.tsx)

Alignment: 95%

What's Implemented

Element Status Notes
Timezone selector ✅ Complete Dropdown with EST, GMT, GST, AEDT
Timezone display ✅ Complete "NY (EST)" shown in header
Week navigator ✅ Complete < Week 8 > arrows
Calendar strip ✅ Complete Sun-Thu day selector
Session type filters ✅ Complete All / Classes / QRCs buttons
Session cards ✅ Complete Type badge, time, title, description
"Join Zoom" button ✅ Complete Primary CTA on live sessions
"Add to Calendar" button ✅ Complete + button on each session
RSVP toggle ✅ Complete "Going" state with checkmark
Attendee avatars ✅ Complete Shows "+12" attendee count
Session details dialog ✅ Complete Modal with full info
Deadline cards ✅ Complete "Submission Deadline - Friday"

What's Missing

Element Proposal A Spec Priority
None identified - -

More Page (client/src/pages/more.tsx)

Alignment: 90%

What's Implemented

Element Status Notes
Profile card ✅ Complete Avatar, name, level, semester
Stats display ✅ Complete Weeks completed, Avg Score
My Quran Coach section ✅ Complete Photo, name, Message button, Bio button
Message dialog ✅ Complete Textarea to compose message
Personal Details menu ✅ Complete Account section
Subscription menu ✅ Complete Account section
Notifications menu ✅ Complete Account section
Help Center ✅ Complete Support section
App Settings ✅ Complete Support section
Sign Out ✅ Complete Red button at bottom
Version number ✅ Complete "v2.4.0 (Build 152)"

What's Missing

Element Proposal A Spec Priority
Font settings UI Quranic font selector in Settings Medium
Session recordings archive Link to past session recordings Low

P0 Critical Issues Status

From the original usability audit, 7 P0 issues were identified:

P0 Issue Status How Addressed in Mockup
Video playback failure ⚠️ UI exists Dialog with play button (no real video streaming)
Missing submission history ✅ Fixed History section in Submit page with Week 7, Week 6
Broken notifications ✅ Fixed Dismissible feedback alert on Today page
Non-standard Quranic font ✅ Fixed Amiri font used by default in Submit page
Inadequate profile ✅ Fixed Full profile card with stats in More page
No timezone on live sessions ✅ Fixed Timezone dropdown + display in Schedule
Feedback hard to find ✅ Fixed Feedback sheet in Submit + alert on Today

Summary: 6 of 7 P0 issues addressed (video is mocked but UI exists)


[Core] Task Coverage from Capability Map

Section 2: Pre-Semester Phase

Task ID Task Priority Status Notes
2A.1 Sign up for program [Core] N/A External (out of app scope)
2A.2 Complete initial assessment [Core] ❌ Not implemented No assessment screen
2A.3 Receive level placement [Core] ❌ Not implemented No placement flow
2A.4 Know who my Quran Coach is [Supporting] ✅ Implemented More page → My Quran Coach
2B.1 Understand program structure [Supporting] ❌ Not implemented No onboarding/tutorial
2B.2 Know when semester starts [Core] ❌ Not implemented No countdown/date
2B.3 Understand my weekly schedule [Core] ✅ Implemented Schedule tab

Section 3: Weekly Learning Cycle

Task ID Task Priority Status Notes
3A.1 Know which week I'm on [Core] ⚠️ Partial Shows "Week 8" but not "of 15"
3A.2 Access this week's lesson [Core] ✅ Implemented Today + Learn pages
3A.3 Watch instruction videos [Core] ⚠️ UI only Dialog exists, no real playback
3A.4 Track progress within lessons [Supporting] ✅ Implemented Checkboxes per video
3A.5 Mark lesson complete [Supporting] ✅ Implemented Implicit via checkboxes
3B.1 Know what to submit [Core] ✅ Implemented Submit page shows passage
3B.2 View Quranic text to recite [Core] ✅ Implemented Amiri font, RTL display
3B.3 Record my recitation [Core] ✅ Implemented Recording interface
3B.4 Review before submitting [Core] ✅ Implemented Playback + re-record
3B.5 Submit to Quran Coach [Core] ✅ Implemented Confirmation dialog
3B.6 View submission history [Supporting] ✅ Implemented History section
3C.1 Know when feedback is ready [Core] ✅ Implemented Alert on Today
3C.2 Listen to TA audio feedback [Core] ✅ Implemented Feedback sheet
3C.3 Ask follow-up questions [Supporting] ✅ Implemented Text input in sheet
3D.1 See my weekly schedule [Core] ✅ Implemented Schedule tab
3D.2 Understand session types [Supporting] ✅ Implemented Type badges
3D.3 Know timezone/timing [Core] ✅ Implemented Timezone selector
3D.4 Join a live session [Core] ✅ Implemented "Join Zoom" button
3D.5 Add session to calendar [Supporting] ✅ Implemented + button
3D.6 RSVP for sessions [Enhancement] ✅ Implemented RSVP toggle

Section 6: Cross-Cutting Capabilities

Task ID Task Priority Status Notes
6A.1 View/edit profile [Supporting] ✅ Implemented More page profile
6B.1 Set Quranic text font [Core] ⚠️ Partial Default font works, no settings UI
6B.2 Manage notifications [Core] ✅ UI exists Menu item in More
6C.1 Access support/help [Supporting] ✅ Implemented Help Center in More
6E.1 Understand app structure [Core] ✅ Implemented 5-tab bottom nav

Proposal A Architectural Comparison

Tab Bar Structure

Position Proposal A Current Implementation Match
Tab 1 Today Today
Tab 2 Learn Learn
Tab 3 Schedule Submit ❌ Different
Tab 4 Progress Schedule ❌ Different
Tab 5 More More

Key Deviation: Proposal A unifies submission INTO the Learn tab and uses slot 3 for Schedule and slot 4 for Progress (feedback history + stats + achievements). Current implementation has Submit as a standalone tab.

Today Page Layout Comparison

Element Proposal A Wireframe Current Implementation
Header "☪ QuranFlow [Bell] [User]" "[Date] [Avatar]"
Week display "WEEK 8 OF 15" (giant) "Current Week 8" (small badge)
Level display "Level 4 • Tajweed Rules" Not shown
Progress "53%" with bar "65%" with bar
Countdown "3 days until Week 9 unlocks" Not shown
Lesson card Title + video progress + CTA Title + description + CTA
Submission card Status + date + CTA Not on Today (separate tab)
Sessions Multiple cards with timezone Single card without timezone

Gap Analysis Summary

High Priority Gaps

  1. "Week X of 15" format - Critical for orientation
  2. Level indicator on Today - Users need context
  3. Days until next week countdown - Temporal anchoring
  4. Submission status on Today - Core info missing from dashboard

Medium Priority Gaps

  1. Tab structure alignment - Submit vs Progress decision needed
  2. Pre-semester countdown/onboarding - No first-time experience
  3. Font settings UI - Feature exists but not accessible
  4. Video progress on Today card - Shows which videos watched

Low Priority Gaps

  1. "Past Levels" segment in Learn - Archive access
  2. Session recordings archive - Mentioned in Proposal A
  3. Multiple session cards on Today - Currently shows one

Recommendations

Immediate Priorities

  1. Update Today page header to show "Week 8 of 15 • Level 4"
  2. Add countdown text below week indicator
  3. Add submission status card to Today page

Design Decisions Needed

  1. Tab structure: Keep Submit as standalone, or merge into Learn and create Progress tab?
  2. Pre-semester flow: Scope for initial implementation?

What's Working Well (Preserve)


Appendix: File Inventory

File Purpose Lines
client/src/pages/today.tsx Home/dashboard 139
client/src/pages/learn.tsx Curriculum browser 281
client/src/pages/submit.tsx Recording & history 251
client/src/pages/schedule.tsx Calendar & sessions 276
client/src/pages/more.tsx Profile & settings 163
client/src/App.tsx Router & layout 30

Appendix: Capability Map Implementation Checklist

Visual overview of implementation status against the User Capability Map.

Legend:


Section 2: Pre-Semester Phase

Pre-Semester Coverage: 1/8 (12%)


Section 3: Weekly Learning Cycle

3A: Lessons

3B: Submissions

3C: Feedback

3D: Live Classes

3E: Recordings

3F: Progress Tracking

Weekly Cycle Coverage: 26/35 (74%)


Section 4: End of Semester Phase

End of Semester Coverage: 0/4 (0%)


Section 5: Year 2 Differences

Year 2 Coverage: 0/4 (0%) (Year 2 is out of initial scope)


Section 6: Cross-Cutting Capabilities

Cross-Cutting Coverage: 4/7 (57%)


Summary Statistics

Section Implemented Partial Not Done Total Coverage
2. Pre-Semester 1 0 7 8 12%
3. Weekly Cycle 22 4 9 35 74%
4. End of Semester 0 0 4 4 0%
5. Year 2 0 0 4 4 0%
6. Cross-Cutting 4 2 1 7 57%
TOTAL 27 6 25 58 57%

Note: Year 2 (Section 5) and End of Semester (Section 4) are intentionally out of scope for initial mockup. Excluding these, coverage is 27/50 (54%) fully implemented with 6 partial.


End of Document