Admin Backend Redesign Plan
QuranFlow Admin Backend Redesign Plan
Purpose: Detailed execution plan for redesigning the admin backend navigation and integrating billing as a first-class feature. Approach: Two parallel workstreams (Navigation Redesign + Billing Discovery) that converge into evaluated candidates. Prerequisites: Admin Capability Map (complete), Admin Navigation Interview Report (complete) Date: March 2026
Plan Structure
Workstream 1: Navigation Redesign Workstream 2: Billing Discovery
├─ 1.1 Define 6 frameworks ├─ 2.1 Audit checkout repo
├─ 1.2 Map real admin workflows ├─ 2.2 Map current billing workarounds
├─ 1.3 Pre-filter → 3 candidates ├─ 2.3 Research Stripe data available
├─ 1.4 Specify 3 candidate structures ├─ 2.4 Define billing screen requirements
├─ 1.5 Score via task walkthroughs └─ 2.5 Produce billing integration brief
│ │
└────────────────────┬───────────────────────────┘
│
3. Convergence
├─ 3.1 Place billing into candidates
├─ 3.2 Re-score combined candidates
└─ 3.3 Select top candidate + rationale
│
4. Open Questions
├─ 4.1 Resolve from interview
├─ 4.2 Resolve from billing discovery
└─ 4.3 Determine if follow-up interview needed
│
5. Final Output
└─ Validated candidate → ready for mockup walkthrough
Workstreams 1 and 2 run in parallel. They have no dependencies on each other until the convergence phase. They can be assigned to different people.
Workstream 1: Navigation Framework Exploration
1.1 — Define the Organizational Frameworks
Research and document each of the following frameworks as a lens for organizing the admin backend. For each one, write a short description of the principle, how it would apply to QuranFlow's admin, and what assumptions it makes about the user.
Frameworks to evaluate:
A. Object-based (current state)
- Principle: Navigation is organized by data type — Students, Lessons, Semesters, Reports.
- How it works: Each section maps to a database entity or entity group. You go to "Students" to do anything student-related, "Semesters" to do anything semester-related.
- Assumption: The admin thinks in terms of data objects and knows which object they need.
- Known problem: Single workflows span 5–9 screens across multiple sections. The interview confirmed this causes friction.
B. Domain-based (from interview)
- Principle: Navigation is organized by area of responsibility.
- How it works: The admin proposed 7 domains: Student Management, Semester Management, Content, Scheduling, Teacher Management, Reporting, Misc/Admin. Each domain contains everything relevant to that responsibility, regardless of underlying data type.
- Assumption: The admin thinks in domains of ownership — "student stuff", "semester stuff", "scheduling stuff".
- Strength: Directly reflects how the primary admin described her mental model.
- Risk: Other users (TAs, view-only admins) may not share this mental model.
C. Workflow/Task-based
- Principle: Navigation is organized by what you're trying to accomplish.
- How it works: Instead of "Semesters" as a section, you'd have "Set Up New Semester" as a guided workflow. Instead of "Students" you'd have "Handle Student Issue" or "Promote Students." The system presents tools in the sequence you need them.
- Assumption: Admin tasks are predictable enough to be codified into workflows.
- Strength: Eliminates screen-hopping by definition — the workflow brings the screens to you.
- Risk: Power users may feel constrained. Edge cases may not fit neatly into predefined workflows. Maintenance cost is higher (workflows need updating when processes change).
D. Phase-based / Temporal
- Principle: Navigation adapts based on the semester lifecycle stage.
- How it works: During setup phase, setup tools are prominent (content upload, date config, TA assignment). During active phase, monitoring tools surface (submissions, alerts, appointments). During close phase, grading and promotion tools come forward. A persistent layer handles things that don't change by phase.
- Assumption: The admin's work is strongly correlated with where they are in the semester cycle.
- Strength: The interview confirmed three distinct phases with distinct tool needs. Reduces cognitive load by hiding what's not relevant right now.
- Risk: Phase transitions aren't clean — setup and close can overlap with active. Requires the system to know what phase it's in (or the admin to tell it). Secondary users may be confused if the nav changes on them.
E. Entity-centric / CRM-style
- Principle: You start by selecting an entity (a student, a semester, a TA), then see everything about that entity on one screen.
- How it works: Search for or select a student → see their profile, level, payments, submissions, appointments, TA, semester history all on one page. Select a semester → see content status, enrollment, dates, automation, all in one place.
- Assumption: Most admin work is centered on a specific entity.
- Strength: Directly solves the "student support requires 5 screens" problem. Every entity becomes a comprehensive hub.
- Risk: Cross-entity tasks (reports, bulk operations, scheduling across all students) don't have a natural home. Requires building rich, consolidated entity pages.
F. Hub-and-spoke / Dashboard-driven
- Principle: A central dashboard surfaces exceptions and alerts; each alert links directly into the relevant workflow.
- How it works: The dashboard shows "3 students falling behind", "2 failed payments", "TA response time > 48hrs" — clicking any of them takes you into the right context with the right tools. The spoke sections still exist for direct access, but the hub is the primary entry point.
- Assumption: Most admin work is reactive — responding to issues rather than proactively navigating to sections.
- Strength: Directly addresses the interview finding that the current dashboard is useless. Shifts admin from reactive to proactive.
- Risk: Only works if the system can reliably detect exceptions. Doesn't help with planned work (semester setup) that isn't triggered by an alert.
Deliverable for 1.1:
A reference document describing each framework with its principle, application to QuranFlow admin, assumptions, strengths, and risks. This serves as the foundation for the pre-filtering in step 1.3 and the candidate definitions in step 1.4. The goal is not to evaluate all 6 equally — it's to understand each well enough to make informed decisions about which to use, which to eliminate, and which to borrow elements from.
1.2 — Map the Real Admin Workflows
Before evaluating frameworks, document the actual workflows the admin performs. These come from the interview and capability map but need to be structured as step-by-step task flows with the screens they currently touch.
Top workflows to map:
Workflow 1: Set up a new semester
- Trigger: New semester approaching
- Current screens touched: Semesters, Video Lessons, Submissions, Resources, Live Sessions, Quizzes, Welcome Package, Email Management, Tags, Teacher Assignment Criteria, TA Schedules
- Steps to document: What order things happen, what depends on what, where mistakes occur
- Interview pain points: Content re-upload, no cloning, date fields confusing, manual semester status switching
Workflow 2: Handle a student support issue
- Trigger: Student emails/reports a problem
- Current screens touched: Students, Student Report, Payments (external Stripe), Submissions, Appointments, Google Sheets (billing)
- Steps to document: How admin finds the student, what information they need to see, what actions they take
- Interview pain points: Payment data absent from backend, no consolidated student profile, can't delete submissions
Workflow 3: Close a semester / promote students
- Trigger: Semester end date approaching
- Current screens touched: Student Report, Students (individual promotions), Operations (bulk promote), Payments (external Stripe), Google Sheets (EOC tracking)
- Steps to document: Review grades → handle edge cases → promote → set up payments for continuing → deactivate leavers
- Interview pain points: Stripe payments set up before promotions finalized, deactivation disconnected from payment cancellation, automation email errors on edge cases
Workflow 4: Daily monitoring / operations
- Trigger: Daily admin check
- Current screens touched: Dashboard (currently unhelpful), Student Report, TA Reports, Appointments
- Steps to document: What does the admin check first? What alerts would they want? What do they currently check in Google Sheets instead?
- Interview pain points: Dashboard shows nothing actionable, no failed payment alerts, no TA response time tracking
Workflow 5: Manage appointments / scheduling
- Trigger: Rescheduling requests, TA availability changes, holidays
- Current screens touched: Upcoming Appointments, TA Schedules, Holidays, Students Management (live session holidays — misplaced)
- Steps to document: How rescheduling works, who initiates, what information is needed
- Interview pain points: No calendar view across all TAs, holidays split between two locations
Workflow 6: Onboard / manage a TA
- Trigger: New TA joining or TA semester transition
- Current screens touched: Teaching Assistants, TA Schedules, Student Groups, Teacher Assignment Criteria
- Steps to document: Create account → set schedule → assign students → configure criteria
Deliverable for 1.2:
A workflow document with step-by-step flows for each of the 6 workflows, annotated with: screens touched, click count, where information is missing or requires external tools, and where errors occur. This is the measuring stick for evaluating candidates.
1.3 — Pre-Filter: Why 3 Candidates, Not 6
We have enough information from the interview and capability map to eliminate frameworks that don't fit, rather than evaluating all 6 abstractly. This is the reasoning:
Eliminated as standalone approaches:
| Framework | Why it's eliminated | What we borrow from it |
|---|---|---|
| Object-based | This is the current state. It's failing — the interview confirmed single workflows span 5–9 screens. It's the baseline to measure against, not a candidate. | Nothing — this is what we're replacing. |
| Pure Workflow-based | The primary admin is a power user who would feel constrained by guided wizards. Workflows are rigid, hard to maintain when processes change, and don't help secondary users (TAs, view-only admins) who do ad-hoc lookups. | Borrow the concept of a semester setup checklist that tracks what's been configured — but as a feature within a section, not as the organizing principle for the entire nav. |
| Pure Phase-based | Phases overlap in practice (the admin confirmed semester close prep starts while the current semester is still active). Secondary users don't think in semester phases. A nav that changes based on phase would confuse anyone who isn't the primary admin. | Borrow phase-aware contextual prompts — the dashboard or semester hub can surface "you're approaching semester close, here's what needs attention" without restructuring the entire nav around phases. |
Remaining strong foundations: Domain-based, Entity-centric, Hub-and-spoke. Each has clear strengths grounded in interview evidence, and they combine naturally into hybrids. All 3 candidates below are hybrids that mix these foundations in different proportions.
1.4 — The 3 Candidate Navigation Structures
These are not abstract — each is a specific hypothesis about the best way to organize the admin backend, grounded in evidence from the interview and capability map.
Candidate A: Domain-First with Rich Entity Pages
Organizing principle: The top-level nav follows the admin's own mental model (7 domains from interview Q4). Within each domain, key entities (students, semesters, TAs) get comprehensive single-page views that consolidate everything about that entity.
Why this candidate: Directly implements what the admin asked for in the interview. The domain structure matches her description of how she thinks about the system. Adding entity-centric pages within domains solves the "I need 5 screens to handle a student issue" problem without restructuring the entire nav.
How it works:
- Top-level nav: Student Management, Semester Management, Content, Scheduling, Teacher Management, Billing, Reporting, Admin Tools
- Within Student Management: Student list → click a student → comprehensive profile page (level, TA, submissions, payments, appointments, semester history — all on one page with tabs)
- Within Semester Management: Semester list → click a semester → semester hub (dates, content status, enrollment, automation, emails — all on one page with tabs)
- Within Billing: Payment overview, subscription management, family plans, scholarships, deferments
- Dashboard: simple landing page with links to each domain (not smart/alert-driven)
Strengths from interview evidence:
- Domain structure directly from interview Q4 — highest mental model match possible
- Rich entity pages solve interview Q2 — "I wish I could see level, TA, gender, semester history, submission count, and payment status on one screen"
- Separates Students and Teachers (interview: these are different domains of responsibility, not both "People")
- Eliminates "Students Management" grab-bag (interview Q6 — "contains unrelated tools")
- Billing gets its own domain (interview Q9 — "if adding one thing: billing")
Risks:
- 8 top-level sections may feel like a lot — could cause choice overload
- Rich entity pages require significant development effort
- Secondary users (TAs) would need to navigate the same 8-section structure as the power admin
What to watch for in task walkthroughs: Does the domain structure reduce screen-hopping for all 6 workflows, or only for the ones that are already domain-aligned? Cross-domain workflows (like semester close, which touches students, billing, and the semester itself) may still require jumping.
Candidate B: Hub-and-Spoke with Domain Sections
Organizing principle: A smart dashboard is the primary workspace — it surfaces exceptions, alerts, and phase-aware prompts. Domain sections exist for direct access when the admin knows exactly where to go, but the dashboard is the starting point for most work.
Why this candidate: The interview revealed two things in tension: (1) the current dashboard is useless (Q6, Q7), and (2) much of the admin's daily work is reactive — responding to student issues, failed payments, TA delays. A hub-and-spoke model turns the dashboard into the operational nerve center the admin wished she had.
How it works:
- Dashboard (hub): action-oriented tiles — "3 failed payments", "2 TAs with >48hr response time", "5 students behind on submissions", "Semester close: 4 items remaining". Each tile links directly to the relevant screen with context preserved.
- Phase-aware prompts on dashboard: during setup → "Content upload: 3 of 7 levels complete"; during close → "12 students pending promotion decision"
- Spoke sections (secondary nav): Students, Semesters, Content, Scheduling, Teachers, Billing, Reports — for direct access
- Spoke sections are lighter than Candidate A — standard list/detail pages, not full entity hubs
Strengths from interview evidence:
- Directly addresses interview Q7 — the admin's ideal dashboard: app issues, appointment utilization, TA response alerts, failed payment alerts, students falling behind
- Addresses interview Q6 — "dashboard is inaccurate and unhelpful"
- Phase-aware prompts borrow from the phase-based framework without making it the nav structure
- Works for secondary users — TAs and view-only admins can ignore the dashboard and go directly to the section they need
Risks:
- The hub is only as good as the alert logic behind it. If exceptions aren't reliably detected, the dashboard becomes another useless page. Requires backend development to compute alerts.
- Planned work (semester setup) is proactive, not reactive — the dashboard model is weaker here
- Spoke sections are simpler, so the "student profile needs 5 screens" problem is only partially solved (alerts link to context, but the individual screens aren't consolidated)
What to watch for in task walkthroughs: Does the dashboard actually reduce screen-hopping, or does it just add one more screen (the hub) before the admin navigates to the same places they go today? The value depends on whether the alert links are deep enough.
Candidate C: Entity-Centric with Contextual Navigation
Organizing principle: The admin starts by selecting an entity (student, semester, TA) and everything about that entity is accessible from a single comprehensive page. Navigation is minimal — a search/select bar + entity type selector replaces a traditional sidebar.
Why this candidate: The interview revealed that most admin work is centered on a specific entity — "I need to handle this student's issue", "I need to set up this semester", "I need to check this TA's schedule." The object-based approach fails not because entities are the wrong concept, but because entity pages are too shallow. This candidate goes all-in on deep entity pages.
How it works:
- Top-level: Search bar + entity type selector (Student | Semester | TA | Billing | Reports)
- Student entity page: tabbed interface with Profile, Submissions, Payments, Appointments, Semester History, TA & Group. All actions available inline (promote, deactivate, cancel subscription, reset progress).
- Semester entity page: tabbed interface with Overview & Dates, Content (videos, submissions, resources, quizzes, live sessions — status of each), Enrollment, Automation & Emails, Welcome Package. Includes content cloning controls and status checklist.
- TA entity page: tabbed interface with Profile, Schedule, Assigned Students & Groups, Submission Review Stats.
- Billing section: not entity-specific — a dedicated area for cross-cutting billing views (failed payments, family plans, scholarships, deferments, payment configuration).
- Reports section: also cross-cutting — all reports in one place.
- Dashboard: lightweight — recent activity + quick search, not alert-driven.
Strengths from interview evidence:
- Most directly solves interview Q2 — the admin's #1 wish was a consolidated student profile with "level, TA, gender, semester history, submission count, and payment status" on one screen
- The semester entity page directly solves the semester setup problem (interview Q1) — everything in one place instead of 9 screens across 4 sections
- Eliminates the grab-bag problem entirely — there are no "sections" to misplace things in, just entity pages and a few cross-cutting areas
- CRM-like model is familiar from tools like Stripe dashboard, HubSpot, Salesforce
Risks:
- Cross-entity workflows are awkward. Semester close involves multiple students + the semester + billing — the admin would need to move between entity pages.
- Bulk operations (promote all students, set up payments for all continuing students) don't have a natural home on individual entity pages. Need a separate "operations" area.
- Minimal top-level nav could feel disorienting if the admin doesn't know which entity to start with (e.g., "I need to check something but I'm not sure if it's a student issue or a TA issue").
- Heaviest development effort — every entity page is essentially a mini-application.
What to watch for in task walkthroughs: Does entity-centric excel at entity-specific workflows (student support, TA onboarding) but struggle with cross-entity and bulk workflows (semester close, daily monitoring)?
What each candidate must include when fully specified:
- Full navigation tree — every screen from the current capability map placed, plus billing
- What moved — where each item came from in the current structure
- What's new — screens or consolidations the structure implies
- What's eliminated — screens merged or removed (e.g., "Students Management" grab-bag)
- Hybrid notes — which principle governs which part of the structure
1.5 — Evaluate Candidates Against Workflows
Evaluation criteria:
| Criterion | What it measures | How to score |
|---|---|---|
| Screen-hop reduction | How many screens does each top workflow require vs. current state? | Count screens per workflow. Lower = better. |
| Mental model match | Does it match how the admin described thinking in interview Q4? | High / Medium / Low with rationale. |
| Secondary user learnability | Can a TA or view-only admin find what they need without training? | Simulate: "I'm a TA, I need to check a student's submission status." Score: Obvious / Findable / Confusing. |
| Billing accommodation | Does billing fit naturally into the structure? | Natural fit / Workable / Forced. |
| Scalability | If 3 new features are added next year, does the structure hold? | Test with: "Student App Issue Reporting", "TA Performance Reviews", "Content Versioning" — where do they go? Clean / Messy. |
| Catch-all risk | Does it create dumping-ground sections? | Count orphan items. Fewer = better. |
| Implementation effort | How much backend change is needed? | Nav-only / Moderate restructuring / Significant rearchitecture. |
Task walkthrough format:
For each candidate, walk through all 6 workflows from step 1.2:
| Workflow | Candidate A (Domain-First) | Candidate B (Hub-and-Spoke) | Candidate C (Entity-Centric) |
|---|---|---|---|
| Semester setup | Screens: ?, External tools needed: ?, Key improvement: ? | ||
| Student support | |||
| Semester close | |||
| Daily monitoring | |||
| Appointment mgmt | |||
| TA onboarding |
For each cell, document:
- Number of screens the workflow touches
- Whether information needed together is on the same screen
- Where the admin would need to leave the section or use an external tool
- Whether billing data is accessible in context
- Specific improvements over the current state (reference interview pain points)
Deliverable for 1.5:
Scored comparison table with evaluation matrix and a preliminary recommendation, with rationale citing specific interview findings and workflow evidence. This feeds into Phase 3 where billing specifics get layered in.
Workstream 2: Billing & Payment Discovery
2.1 — Audit the Checkout Repo
Review the QuranFlow checkout repository on GitHub to understand the current billing implementation.
What to document:
- Technology stack: What framework/language? How is it deployed?
- Stripe integration points: Which Stripe APIs are called? (Checkout Sessions, Subscriptions, Customers, Invoices, Payment Intents?)
- Data model: What billing data is stored locally vs. only in Stripe? Is there a local subscriptions table that syncs with Stripe, or does it only exist on Stripe's side?
- Payment plans: How are different plans (monthly, semester, yearly) represented? Where is the plan configuration?
- Coupon/discount handling: How are coupons applied? (The admin backend already has a Coupons section — how does it connect to checkout?)
- Webhooks: Does the system receive Stripe webhooks? Which events? (payment_intent.succeeded, invoice.payment_failed, customer.subscription.deleted, etc.)
- Family plans: Are these represented in code at all, or purely in Google Sheets?
- Scholarship/deferment: Any code representation, or purely manual/external?
Deliverable for 2.1:
A technical brief documenting the current checkout architecture, what Stripe data flows through the system, and what data only exists externally.
2.2 — Map Current Billing Workarounds
Using the interview data (already captured in the Interview Report), consolidate every billing-related workaround into a structured list.
From the interview, we already know:
| Workaround | Tool used | What data it tracks | Who maintains it |
|---|---|---|---|
| Payment/subscription management | Stripe dashboard | All payment data | Admin |
| Family payment plans | Google Sheets | Which families, shared plans, amounts | Admin |
| Scholarship tracking | Google Sheets | Who has scholarships, amounts, terms | Admin |
| Deferment tracking | Google Sheets | Who is deferring, timeline, status | Admin |
| Student payment status lookup | Stripe + Sheets | Whether a student is paid, plan type | Admin + Support |
| Failed payment follow-up | Stripe alerts (if configured) + manual | Who missed a payment | Admin |
| Semester-end payment setup | Stripe dashboard | New subscriptions for continuing students | Admin |
| Student deactivation + payment cancel | Backend + Stripe separately | Account status + subscription status | Admin |
What to add:
- Volume estimates: How many students per semester are on family plans? Scholarships? Deferments? Instalment plans? This determines whether these need full features or lightweight tagging.
- Frequency: How often does the admin go to Stripe in a typical week? For what?
- Support staff needs: What billing questions does customer service handle? What do they currently escalate to admin because they can't see the data?
Deliverable for 2.2:
A billing workaround inventory with volume and frequency data. If volume data isn't available from existing documents, flag it as an open question for step 4.
2.3 — Research Stripe Data Available via API
Document what Stripe data could be surfaced in the admin backend, regardless of what's currently integrated.
Key Stripe objects to review:
| Stripe Object | What it contains | Admin relevance |
|---|---|---|
| Customer | Email, name, payment methods, metadata | Link to student profile |
| Subscription | Plan, status (active/past_due/canceled/trialing), current period, cancel_at | Student payment status, failed payment detection |
| Invoice | Amount, status (paid/open/uncollectible), line items, payment attempts | Payment history, failed payments |
| Payment Intent | Amount, status, payment method, failure reason | Detailed payment troubleshooting |
| Coupon / Promotion Code | Discount amount, duration, redemption count | Already in admin — verify sync |
| Product / Price | Plan names, amounts, intervals | Payment plan configuration |
Questions to answer:
- Can we read subscription status in real-time via API, or do we need webhooks for state changes?
- Is
customer.idalready stored in theuserstable (stripe_customer_idfield exists in the schema — is it populated)? - Can we get a student's full payment history with one API call, or does it require multiple?
- What Stripe data would power the "failed payment alerts" the admin requested on the dashboard?
- Can family plans be represented using Stripe's subscription model (e.g., one customer with multiple subscriptions), or does it need a custom layer?
Deliverable for 2.3:
A Stripe data availability brief listing what can be surfaced, what API calls are needed, and what limitations exist (rate limits, data freshness, etc.).
2.4 — Define Billing Screen Requirements
Based on 2.1–2.3, define what billing-related screens and features the admin backend needs.
Proposed billing surfaces:
A. Student Profile — Payment Tab
- Subscription status (active, past due, canceled)
- Current plan (monthly, semester, yearly)
- Payment history (last N payments, amounts, dates)
- Coupon/discount applied
- Special status flags: scholarship, deferment, family plan
- Actions: cancel subscription, apply discount, mark as scholarship/deferment, link to Stripe for advanced actions
B. Billing Dashboard / Alerts
- Failed payments requiring follow-up (count + list)
- Upcoming subscription renewals this week
- Students on instalment plans with remaining cycles
- Scholarship and deferment students approaching end dates
- Family plan overview
C. Payment Configuration
- Payment plans (already exists — verify if it needs enhancement)
- Coupons (already exists — verify Stripe sync)
- Scholarship and deferment management (new — replaces Google Sheets)
- Family plan management (new — replaces Google Sheets)
D. Semester Close — Payment Workflow
- List of continuing students needing payment setup
- Bulk actions: create subscriptions for promoted students
- Linked deactivation: cancel subscription + deactivate account as single action
- Status: who has paid, who hasn't, who needs follow-up
Deliverable for 2.4:
A billing feature requirements document describing each surface, what data it shows, what actions it supports, and where it would live in the admin backend.
2.5 — Produce Billing Integration Brief
Synthesize 2.1–2.4 into a single document that Workstream 1 can use during convergence.
The brief should answer:
- What billing data exists today (from 2.1) and what's only in Stripe/Sheets
- What the admin needs to see and do (from 2.2 + 2.4) — the feature requirements
- What Stripe can provide (from 2.3) — the technical feasibility
- What gaps remain — things that need custom development beyond Stripe API reads (family plans, scholarships, deferments, linked deactivation)
- Billing as nav sections — a proposed set of billing-related screens/sections that Workstream 1 candidates must accommodate
Deliverable for 2.5:
The billing integration brief — a self-contained document that tells the nav redesign team "these are the billing screens and features that need a home in your navigation structure."
Phase 3: Convergence
3.1 — Place Billing Into Navigation Candidates
Take each of the 3 candidates from Workstream 1 (step 1.5) and the billing requirements from Workstream 2 (step 2.5). For each candidate:
- Where do the billing screens naturally fit?
- Does billing become its own top-level section, or does it distribute across existing sections (e.g., payment tab on student profile, billing alerts on dashboard, payment config under semester management)?
- Does adding billing strengthen or strain the organizational structure?
3.2 — Re-Score Combined Candidates
Re-run the task walkthroughs from step 1.5, but now with billing integrated. Pay specific attention to:
- Workflow 2 (student support): Can the admin now see payment status without leaving the student context?
- Workflow 3 (semester close): Does the payment setup step fit naturally into the close workflow?
- Workflow 4 (daily monitoring): Do failed payment alerts surface where the admin would see them?
3.3 — Select Top Candidate
Based on the re-scored comparison:
- Identify the strongest candidate with rationale
- Document what it does well and where it compromises
- Note any elements worth borrowing from the other candidates
Deliverable for Phase 3:
A convergence report with the recommended navigation structure, billing placement rationale, and comparison against alternatives.
Phase 4: Open Questions
4.1 — Questions from the Interview (Already Identified)
These were flagged in the Interview Report and need resolution before finalizing the design:
| Question | Why it matters | How to resolve |
|---|---|---|
| Content cloning: linked or copied? | Determines whether "Content" is per-semester or shared. Affects nav structure — do you access content within a semester context or globally? | Decision from PM. Technical input on what the backend supports. |
| Promotion workflow sequencing: what should gate payment setup? | Determines the semester close workflow and whether payment setup is inside or after the promotion flow. | Decision from PM based on operational reality. |
| Support staff access: what do they need to handle billing independently? | Determines whether billing screens need role-based views (support sees read-only payment data vs. admin sees full controls). | Quick check with PM on what support currently escalates. |
| Scholarship and deferment volume | Determines whether these need full CRUD features or lightweight tagging on student profiles. | Numbers from PM or from Stripe/Sheets data. |
4.2 — Questions from Billing Discovery (Will Emerge from Workstream 2)
These can't be fully predicted now but will likely include:
- Is
stripe_customer_idreliably populated for all students? - Are there students with multiple subscriptions (e.g., family plans)?
- What happens to the checkout repo if billing is surfaced in the admin backend — does checkout remain separate or merge?
4.3 — Do We Need Another Interview?
Assessment based on current information:
For the navigation redesign, we likely have enough. The interview covered all three phases, the admin's mental model, pain points, workarounds, and preferences. The capability map documents every screen. What we're doing is design work — proposing structures and evaluating them — not discovery work.
For billing, we may need targeted follow-up questions (not a full interview) to fill specific gaps:
- Volume numbers (family plans, scholarships, deferments per semester)
- Support staff's current billing workflow
- Detailed steps of the semester-end payment setup process in Stripe
Recommendation: No second full interview. Instead, prepare a short list of 5–8 specific questions that emerge from Workstream 2, and get answers asynchronously (email or quick call). These questions will be known after steps 2.1 and 2.2 are complete.
Deliverable for Phase 4:
Resolved answers for all open questions, either from existing data or from targeted follow-up. Any unresolved questions documented with impact assessment.
Phase 5: Final Output
The output of this plan is a single recommended navigation structure with:
- Full navigation tree with every screen placed
- Billing screens and features integrated
- Task walkthrough evidence showing improvement over current state
- Open questions resolved or documented with mitigation
- Ready for the next step: mockup walkthrough with the admin (validation — not part of this plan)
Execution Notes
What can be delegated
- Workstream 2 (billing discovery) is almost entirely research — checkout repo audit, Stripe API review, workaround inventory. A developer or technical PM can execute this with clear deliverables.
- Step 1.2 (workflow mapping) is mechanical — translating interview findings into step-by-step flows. Can be delegated.
What needs the decision-maker
- Step 1.4 (generating candidates) requires design judgment
- Phase 3 (convergence) requires evaluating trade-offs
- Phase 4.1 (open questions) requires PM decisions
Dependencies
- Workstream 1 and Workstream 2 are independent until Phase 3
- Phase 3 requires both workstreams complete
- Phase 4 runs alongside or after Phase 3 (some questions emerge from convergence, some are known now)
- Phase 5 requires Phases 3 and 4 complete
Reference Documents
pm-docs/QuranFlow-Admin-Capability-Map.md— current state of every screenpm-docs/QuranFlow-Admin-Navigation-Interview-Report.md— interview findingspm-docs/Admin-Interview-Prompt.md— interview methodology (for designing follow-up questions)- QuranFlow checkout repo (GitHub) — billing/payment codebase