- Added REPO_INVENTORY.md with all repos, branches, remotes, and staging info - Added .gitignore - Synced all existing docs from local workspace - Centralized documentation hub for GrowQR team
18 KiB
GrowQR Curator — User Scenarios & Engagement State Machine
Date: 2026-06-19 Purpose: Map every user behavior pattern to Curator behavior, tasks, streak handling, and recovery logic.
1. Engagement States (User Behavior Patterns)
Think of the user as moving through these states, not just "active" or "inactive."
| State | Definition | Streak Status | Curator Priority |
|---|---|---|---|
| Ghost | Signed up, never completed Day 1 | 0 | Re-activation: lower friction, simpler ask |
| Day 1 Dropper | Completed Day 1, never returned | 1 then 0 | Diagnose why: too hard? too vague? time? |
| Streak Broken | Had 3-7 day streak, then missed 2-7 days | Broken | Graceful recovery: don't shame, reduce load |
| Streak Dead | Broken for 14+ days | Dead | Soft reset: treat like Week 1, new baseline |
| Sporadic | Uses platform 1-2x/week, no streak | 0-2 | Lower daily load, bigger tasks when they show up |
| Re-engaging | Returning after 7+ days, clicking around | 0 | Acknowledge absence, one task max, no guilt |
| Active | 3-14 day streak, completes daily tasks | 3-14 | Full 3-column plan, maintain momentum |
| Super-user | 14+ day streak, all 3 columns complete | 14+ | Increase difficulty, introduce market-action tasks |
| Conversion mode | Active + real interviews/offers in flight | — | Emergency override: prioritize interview/roleplay |
| Lost | 30+ days no activity, no response to nudges | — | Archive plan, send "new sprint" offer |
2. Day-by-Day Progression (The Curator's Mindset)
Day 1: The Hook
User state: Curious, low trust, high friction sensitivity.
Curator behavior:
- Measurement: Q Score baseline (5 min, max)
- Proof: Resume upload OR LinkedIn import (one click, not full audit)
- Practice: One warm-up interview (behavioral, easy, 3 min) OR skip if user seems overwhelmed
Rules:
- Show only 1-2 tasks, not 3. Third task is a bonus if they finish early.
- No long onboarding. Extract from signup data silently.
- First task must produce a visible artifact or feedback (score, feedback, draft).
- If user drops after first task: Day 2 nudge is about the artifact, not the streak.
Example nudge:
"Your Q Score baseline is ready. You scored highest on [X], lowest on [Y]. Here's one move that closes the gap in 10 minutes."
Day 2: The Habit Test
User state: Either hooked (returns easily) or testing (needs a reason).
Curator behavior:
- Measurement: Review Day 1 baseline, show one gap
- Proof: Resume headline rewrite OR first project proof point
- Practice: Interview or roleplay (still easy, 5 min)
Rules:
- If Day 1 was missed: pick up where they left off, don't reset.
- If Day 1 was completed: reference the artifact. "Your resume is uploaded. Let's fix the headline so recruiters see you."
- If Day 1 was completed but Day 2 is late: reduce to 1 task, make it the most fun/valuable.
Day 3-7: The Build Phase
User state: Either forming habit or deciding to quit.
Curator behavior:
- Full 3-column plan kicks in.
- Tasks are timeboxed (5-10 min). No 20-min tasks.
- Practice column is interview/roleplay warm-up — not hard rounds.
- Proof column is resume bullets or LinkedIn headline — not full rewrites.
Rules:
- If user misses 1 day: ignore, continue as if nothing happened.
- If user misses 2 days: next task is 1 task only, 5 min max.
- If user misses 3 days: see "Streak Recovery" below.
Day 8-14: The Gap-Fix Phase
User state: Habit forming or habit fragile.
Curator behavior:
- Tasks now reference prior work. "Your resume headline is fixed. Now let's turn one project into proof."
- Practice gets harder. Medium difficulty, 10 min.
- Proof gets real. First public post, first case study, first tailored resume.
Rules:
- If streak alive: introduce weekly review task (Day 7, Day 14) — "What changed this week?"
- If streak broken: see recovery logic.
Day 15-21: The Practice Loop
User state: Habit locked or falling off.
Curator behavior:
- Practice is the star. 2-4 interviews/roleplays per week.
- Proof is iteration. Resume v2, profile polish, second post.
- Measurement is Q Score check-in. Show movement from Day 1.
Rules:
- If Q Score moved: celebrate. "Your communication score is up 12 points from Day 1."
- If Q Score didn't move: diagnose. "Your resume proof is better, but interview practice is still light. Let's fix that."
Day 22-29: The Market Action Phase
User state: Ready to apply or already applying.
Curator behavior:
- Practice: Salary negotiation, recruiter screens, real interview prep.
- Proof: Tailored resume versions, application tracker, outreach drafts.
- Measurement: Application pipeline health, callback rate.
Rules:
- If user has no callbacks: return to proof + resume audit.
- If user has interviews: emergency override. All 3 tasks become interview/roleplay prep.
Day 30: The Close
User state: Wants to see results.
Curator behavior:
- 30-day review artifact: Day 1 vs Day 30 Q Score, proof created, interviews completed.
- Next sprint: Offer 3 options (continue, intensify, pivot).
- Streak claim: Visual reward, shareable, unlocks next ICP stage or advanced features.
Day 31+: The Loop
Curator behavior:
- Replan every 7 days.
- If 30-day sprint was successful: 60-day sprint unlocks. More advanced tasks, market-action heavy.
- If 30-day sprint was weak: repeat the weak stage (gap-fix, proof-build) with adjusted tone.
3. Scenario-by-Scenario Playbook
Scenario A: Happy Path — Active User, Completes Daily
Day 1: Q Score baseline, resume upload, warm-up interview. Day 2: Gap review, headline rewrite, behavioral interview. Day 3-7: Project proof, recruiter roleplay, LinkedIn post. Day 8-14: Resume audit, salary roleplay, application tracker. Day 15-21: Interview replay, tailored resume, matchmaking. Day 22-29: Real interview prep, offer negotiation, outreach. Day 30: Review, next sprint selection.
Curator tone: Direct, momentum-driven. "This is your interview practice step for today." Streak: Visual fire, increasing. Weekly milestone celebrations. Adaptation: None needed. System is in maintenance mode.
Scenario B: Ghost — Signed Up, Never Started Day 1
Trigger: 24h after signup, no Q Score baseline. Curator action:
- Send one nudge via notification/email: "Your Q Score takes 3 minutes. Here's the link."
- If no response in 48h: reduce ask. "Just upload your resume. One click."
- If no response in 72h: change channel. Send a WhatsApp/SMS if available.
- If no response in 7 days: archive. Mark as "cold." Re-engage in 14 days with "New sprint ready."
Curator tone: Helpful, zero pressure. No streak guilt. Task count: 1 task max. Recovery: On return, treat as Day 1 but skip onboarding. Resume from last known state.
Scenario C: Day 1 Dropper — Did Day 1, Never Returned
Trigger: 48h after Day 1 completion, no Day 2 activity. Curator action:
- Nudge references Day 1 artifact. "Your Q Score showed a communication gap. One practice fixes it."
- Offer same task type, slightly easier. If Day 1 was interview, Day 2 nudge is a 3-min warm-up.
- If no response in 72h: ask why. One question: "What stopped you: time, confusion, or not relevant?"
- If they answer: adapt plan.
- "Time" → 5-minute tasks only.
- "Confusion" → simpler tasks, more guidance.
- "Not relevant" → re-ICP or replan.
Curator tone: Curious, not accusatory. "What would make this useful?" Streak: 1. Treat as broken streak recovery.
Scenario D: Streak Broken — 3-7 Days of Silence
Trigger: Missed 3 days after active streak. Curator action:
- Day 1 of return: 1 task only. 5 minutes. No mention of missed days unless they bring it up.
- Task: Resume headline fix OR interview warm-up — something they already know how to do.
- Day 2 of return: 2 tasks. Reference the Day 1 return: "Back to building. Let's fix one proof point."
- Day 3 of return: Full 3 tasks. Resume normal plan.
Curator tone: Welcoming, no guilt. "Pick up where you left off." Streak: Reset to 1 on return. Don't show broken streak flame. Recovery speed: 3 days to full plan.
Scenario E: Streak Dead — 14+ Days of Silence
Trigger: 14 days no activity. Curator action:
- Soft reset. Treat as new 30-day sprint, but skip onboarding.
- Day 1: New Q Score baseline (or review old one). "Here's where you stand today."
- Day 2: One proof task, one practice task. Not 3.
- Week 1: Rebuild trust. Tasks must produce visible wins.
- If no return after 14 days: Send "Your new sprint is ready" message. Highlight one changed thing (e.g., new job market data, new interview template).
Curator tone: Fresh start. "New sprint. New target. Same goal." Streak: 0. Start over. Plan: Re-run ICP classifier if onboarding data is stale.
Scenario F: Sporadic — 1-2x/Week, No Streak
User archetype: Busy, platform is a tool not a habit.
Curator action:
- Don't optimize for streak. Optimize for value per session.
- When they show up: Give them the highest-impact 1 task from their current stage.
- Don't give 3 tasks. They won't do them. Give 1, with a "next time" teaser.
- Tasks are bigger: 15-20 min, not 5 min. Since they come rarely, they need bigger wins.
- Example: "You haven't practiced in 5 days. You have a real interview coming up. Here's a 10-minute roleplay."
Curator tone: Respects their time. "This is the one move for this week." Streak: Don't show streak UI. Show "last session [X] days ago" and "this week: 1 task done." Plan: Weekly plan, not daily plan. 3 tasks per week, not per day.
Scenario G: Re-engaging — Returning After 7+ Days, Browsing
Trigger: User opens app after 7+ days, clicks around but doesn't complete tasks.
Curator action:
- Detect browsing. If they open but don't start a task within 2 min: trigger a chat bubble.
- Chat: "Welcome back. What changed since you were last here?" (job, timeline, goal, nothing)
- If they say nothing: "Your Q Score was [X]. One thing improved it since then: [task]. 5 minutes."
- If they say goal changed: Re-ICP, replan, Day 1 of new sprint.
- If they say timeline moved: Adjust urgency, plan length.
Curator tone: Warm, acknowledging. "Good to see you." Task: 1 task max. Make it the one they abandoned last time.
Scenario H: Super-user — 14+ Day Streak, All 3 Columns
Curator action:
- Introduce harder tasks. Hard interview mode, executive roleplay, leadership case study.
- Introduce market-action tasks. Apply to real roles, send recruiter outreach, schedule real interviews.
- Introduce cross-service tasks. "Practice this interview, then turn the answer into a LinkedIn post."
- Unlock 60-day plan. "You've completed 30 days. Ready for the conversion sprint?"
- Add variety. Alternate interview types, alternate roleplay scenarios. Prevent boredom.
Curator tone: Partner, not coach. "You're ready for the real thing. Let's go." Streak: Celebrate 7, 14, 21, 30. Visual badges. Plan: 60-day or 90-day plan. More self-directed options.
Scenario I: Conversion Mode — Has Real Interview/Offer in Flight
Trigger: User inputs interview date, or matchmaking tracks application.
Curator action:
- Emergency override. All 3 tasks become interview/roleplay prep.
- Measurement: Q Score gap for that specific role.
- Proof: Tailored resume for that company.
- Practice: Interview or roleplay for that exact scenario.
- Countdown: "Interview in 3 days. Today: behavioral round. Tomorrow: roleplay the salary."
Curator tone: Urgent, focused. "This is your prep. Nothing else matters." Streak: Pause normal streak. Create "interview prep streak" sub-streak. Plan: Frozen. All resources directed to interview prep.
Scenario J: Lost — 30+ Days, No Response to Nudges
Curator action:
- Archive current plan.
- Send final nudge: "Your 30-day plan is paused. Start a new sprint when you're ready."
- Re-engagement trigger: New feature, new job market signal, new season, or user-initiated.
- On return: Full soft reset. New Day 1. Ask if goal changed.
Curator tone: Neutral, door open. "When you're ready." Streak: 0. Plan archived.
4. State Machine Diagram (Text)
SIGNUP
|
+--> [Day 1 complete] --> ACTIVE (Day 2)
| |
| +--> [Daily completion] --> STREAK (Day 3-7)
| | |
| | +--> [Continues] --> BUILD (Day 8-14)
| | | |
| | | +--> [Continues] --> LOOP (Day 15-21)
| | | | |
| | | | +--> [Continues] --> MARKET (Day 22-29)
| | | | | |
| | | | | +--> [Day 30] --> REVIEW (Day 31+)
| | | | | |
| | | | | +--> [Miss 3 days] --> BROKEN
| | | | | |
| | | | | +--> [Miss 14 days] --> DEAD
| | | | | |
| | | | | +--> [Has interview] --> CONVERSION
| | | | | |
| | | | | +--> [14+ streak] --> SUPER
| | | | |
| | | | +--> [Miss 3 days] --> BROKEN
| | | |
| | | +--> [Miss 2 days] --> BROKEN (early)
| | |
| | +--> [Miss 1 day] --> ACTIVE (no change)
| |
| +--> [Day 1 missed] --> GHOST
| |
| +--> [Return in 24h] --> ACTIVE (Day 1)
| |
| +--> [Return in 7d] --> RE-ENGAGING (Day 1)
| |
| +--> [No return] --> LOST
|
+--> [Day 1 partial] --> DAY 1 DROPPER
|
+--> [Return in 48h] --> ACTIVE (Day 2)
|
+--> [No return] --> GHOST
BROKEN
|
+--> [Return] --> RECOVERY (1 task, 5 min)
| |
| +--> [Day 2] --> RECOVERY (2 tasks)
| |
| +--> [Day 3] --> ACTIVE (full 3 tasks)
|
+--> [No return 14 days] --> DEAD
DEAD
|
+--> [Return] --> SOFT RESET (new Day 1)
|
+--> [No return 30 days] --> LOST
SUPER
|
+--> [Miss 1 day] --> ACTIVE (still)
|
+--> [Miss 3 days] --> BROKEN
|
+--> [Interview in flight] --> CONVERSION
CONVERSION
|
+--> [Interview done] --> ACTIVE or MARKET
|
+--> [Offer received] --> NEGOTIATION (new sub-mode)
|
+--> [Rejected] --> ACTIVE (comfort + rebuild)
SPORADIC (orthogonal, can enter from any state)
|
+--> [Weekly session] --> 1 big task
|
+--> [Increasing frequency] --> ACTIVE
5. Curator Tone Matrix by State
| State | Tone | Example Opening |
|---|---|---|
| Ghost | Invitation, zero pressure | "Your Q Score takes 3 minutes. Ready when you are." |
| Day 1 Dropper | Curious, artifact-focused | "Your resume is uploaded. Let's fix the headline." |
| Broken | Welcoming, no guilt | "Pick up where you left off. One task, 5 minutes." |
| Dead | Fresh start, optimistic | "New sprint. New target. Same goal." |
| Sporadic | Respectful, high-value | "This is the one move for this week." |
| Re-engaging | Warm, acknowledging | "Good to see you. What's changed?" |
| Active | Direct, momentum | "This is your practice step for today." |
| Super | Partner, challenger | "You're ready for the real thing. Let's go." |
| Conversion | Urgent, focused | "Interview in 3 days. Here's today's prep." |
| Lost | Neutral, door open | "When you're ready, start a new sprint." |
6. Task Count Rules by State
| State | Tasks per Day | Time per Task | Total Time |
|---|---|---|---|
| Ghost / Day 1 Dropper | 1 | 3-5 min | 5 min |
| Re-engaging / Recovery | 1 | 5 min | 5 min |
| Sporadic | 1 | 15-20 min | 20 min |
| Active | 3 | 5-10 min | 15-30 min |
| Super | 3 | 10-20 min | 30-45 min |
| Conversion | 3 | 10-15 min | 30-45 min |
7. Nudge Strategy by State
| State | Nudge Timing | Channel | Content |
|---|---|---|---|
| Ghost | 24h, 48h, 72h | In-app, email, WhatsApp | Artifact reference, reduced ask |
| Day 1 Dropper | 48h, 72h | In-app, push | "Your Q Score showed [X]. One move fixes it." |
| Broken | 24h after return | In-app | "Welcome back. One task." |
| Dead | 7d, 14d, 30d | Email, WhatsApp | "New sprint ready." / "Your market changed." |
| Sporadic | Weekly | Push | "This week's one move: [task]." |
| Active | Daily | In-app | Daily plan + streak fire |
| Super | Weekly | In-app | "30 days complete. Next sprint unlocked." |
| Conversion | Daily | In-app, push, WhatsApp | Countdown + specific prep task |
| Lost | 30d, 60d | "Start a new sprint." |
8. Summary: The 10 Scenarios at a Glance
| Scenario | Core Principle | Curator's Job |
|---|---|---|
| A. Happy path | Maintain momentum | 3 tasks/day, celebrate, escalate difficulty |
| B. Ghost | Reduce friction | 1 tiny task, multiple channels, artifact hook |
| C. Day 1 dropper | Diagnose and adapt | Ask why, adjust plan, reduce or refocus |
| D. Streak broken | Graceful recovery | 1 task, no guilt, 3-day ramp back |
| E. Streak dead | Soft reset | New Day 1, skip onboarding, rebuild trust |
| F. Sporadic | Value per session | 1 big task/week, no streak pressure |
| G. Re-engaging | Acknowledge and pivot | Chat bubble, ask what changed, 1 task |
| H. Super-user | Challenge and unlock | Harder tasks, 60-day plan, market action |
| I. Conversion | Emergency override | All tasks → interview prep, countdown |
| J. Lost | Door open | Archive, final nudge, wait for return |
End of scenarios document.