DOL English Platform - Discovery Log (Working Notes)
DomainsDOL EnglishProduct1.395 words7 min read
Updated: 2026-02-15 Status: in-progress
Confirmed decisions
Phần tiêu đề “Confirmed decisions”1. Success priority (90-day)
Phần tiêu đề “1. Success priority (90-day)”- Sustainable learning habit (highest priority)
- Learning plan completion
- Score increase (when user takes mock tests)
2. Sustainable habit definition
Phần tiêu đề “2. Sustainable habit definition”- User studies >= 4 days/week for 4 consecutive weeks.
- Each valid day requires at least 1 completed + submitted exercise.
- Streak is tracked as a motivation signal.
3. Streak validity rule
Phần tiêu đề “3. Streak validity rule”- A day counts if user completes and submits any exercise.
- No constraint on exercise difficulty, completion time, or accuracy.
4. Streak freeze rule
Phần tiêu đề “4. Streak freeze rule”- If user misses 1 day after having streak, system grants exactly 1 freeze day.
- If user still does not submit during freeze day, streak resets.
- No extra freeze/rescue mechanism for now.
5. Post-submission flow
Phần tiêu đề “5. Post-submission flow”- After submitting, user goes to Result page first.
- Result page includes performance + explanations.
- On exit, user can move to Practice Management (and/or exercise bank based on context).
6. Practice Management recommendation section
Phần tiêu đề “6. Practice Management recommendation section”- Show recently completed exercise.
- Provide recommendation options:
- If result is weak: recommend easier corresponding practice.
- If result is good: recommend 1 equivalent + 1 harder practice.
- Also provide options to switch to other skills.
7. Performance tier model (latest)
Phần tiêu đề “7. Performance tier model (latest)”- Chua dat: <20%
- Can cai thien them: 20-59%
- Kha: 60-80%
- Gioi: 81-99%
- Xuat sac: 100%
8. Writing/Speaking async scoring behavior
Phần tiêu đề “8. Writing/Speaking async scoring behavior”- AI scoring can complete quickly (<1 minute) or slower (5-10 minutes).
- While pending, user may:
- Return to exercise bank, or
- Go to Practice Management.
- Practice Management must show pending-scoring item state.
- While score is pending, recommendation must NOT use score.
- Pending recommendation uses: level + topic + recent skill intent.
- User gets options for equivalent exercises and switching skill.
9. Async scoring ready notification behavior
Phần tiêu đề “9. Async scoring ready notification behavior”- When AI scoring is finished, create an in-app notification entry.
- Show a small, non-blocking popover on screen (toast-like).
- Popover actions:
- Quick open to the newly scored result page.
- Dismiss/close.
- If user takes no action, popover auto-closes after a few seconds.
- If user ignores the popover, do NOT repeat reminder.
- Keep the result item only in Notification center for later access.
10. Self-study learning plan completion (V2)
Phần tiêu đề “10. Self-study learning plan completion (V2)”- Self-study does not use a fixed, universal curriculum plan.
- Completion status is goal-based and mock-test-based:
- If mock score is below user’s target selected at onboarding -> not completed / not achieved yet.
- If mock score reaches or exceeds onboarding target -> achieved learning goal.
- Supporting progress signals:
- Number of completed exercises in a time window.
- Quality trend of exercise results over time.
- Overall score trend from exercises and/or mock tests.
- Product philosophy for success measurement: “Better every day.”
- If later performance is better than earlier baseline, it is considered positive progress.
11. Version scope clarification
Phần tiêu đề “11. Version scope clarification”- This discovery and product definition are for
V2(not V1 legacy).
12. Evidence options for “user is improving” (V2)
Phần tiêu đề “12. Evidence options for “user is improving” (V2)”- Improvement can be recognized through one or multiple evidence tracks:
- Track A: 2 consecutive mock tests with score improvement.
- Track B: average score of this week compared to last week.
- Track C: average score of this month compared to last month.
- Track D: average score of this 3-month cycle compared to previous 3-month cycle.
- Track E: at least 5 recent learning days/attempts show an upward trend without sharp drop.
- “No sharp drop” rule is hybrid:
- Use both percentage-based and program-scale thresholds.
- System applies the stricter condition.
- Rollout strategy:
- Start with shared threshold baseline for all programs.
- After 4 weeks of real usage data, calibrate thresholds per program (IELTS/TOEIC/SAT).
13. Onboarding target guardrail by program (V2)
Phần tiêu đề “13. Onboarding target guardrail by program (V2)”- Each program has a hard maximum target ceiling.
- User cannot select a target above that program ceiling.
- Example:
- IELTS max target = 9.0.
- User cannot set 10.0.
- Each program should also define:
- minimum selectable target
- fixed step size for target selection
14. Onboarding goal selection behavior (V2)
Phần tiêu đề “14. Onboarding goal selection behavior (V2)”- Goal question appears in first-time onboarding right after registration.
- Goal selection is optional (user can skip to reduce signup friction).
- If user skips and has no goal:
- they cannot compare results against target.
- target-based progress comparison is unavailable.
- User can return later to set/update goal.
- Product should use non-forced nudges to encourage goal completion over time.
- For users without goal:
- remove only goal-comparison layer and target-gap metrics.
- keep normal learning analytics:
- exercise activity statistics
- score/result trend over time
- progression signal (improving or stagnating)
- diligence/consistency usage indicators
- users can still understand whether they are improving from practice history.
- Diligence metric in V2 is hybrid:
- active submission days per week
- completed exercises per week
- active learning time per week
- Initial rollout weight:
- 40% active submission days
- 40% completed exercises
- 20% active learning time
- Active learning time counting rule:
- Count only when user has real interactions (click/type/scroll/audio interactions).
- Auto-pause when inactivity is detected to avoid idle/background inflation.
- User experience preference:
- Inactivity timeout should be lenient (not too strict) to avoid interrupting normal study flow.
- V2 timeout selection:
- Auto-pause active learning time after 90 seconds of inactivity.
- Resume behavior:
- Active time resumes automatically on the first new user interaction.
15. Goal-completion encouragement surfaces (V2)
Phần tiêu đề “15. Goal-completion encouragement surfaces (V2)”- Use multiple lightweight UI encouragement patterns (not forced):
- Profile completion percentage pattern:
- completing onboarding/goal selection increases profile completion toward 100%.
- Profile-area subtle attention marker:
- light visual indicator to drive curiosity and click-through.
- indicator is removed once user completes goal selection.
- Achievement mechanic:
- user receives an achievement badge after selecting goal.
- Practice Management reminder:
- in goal-related section, remind user they have not set goal yet and show value unlock messaging.
- Profile completion percentage pattern:
- Overall tone: encourage and reward, not block or force.
- Goal-selection achievement strategy:
- Main “goal selected” badge is granted one time only.
- No milestone logic for later goal updates (removed for simplicity).
- Goal update feedback behavior:
- When user updates target later, show a quick confirmation popover:
- “Mục tiêu của bạn đã được thay đổi.”
- When user updates target later, show a quick confirmation popover:
- Operational boundary by learning mode:
- CS/Teacher intervention applies to course-management mode only.
- Self-study mode is fully automated (no human intervention workflow).
16. Self-study retention nudges and reactivation (V2)
Phần tiêu đề “16. Self-study retention nudges and reactivation (V2)”- Reactivation should be staged by inactivity severity:
- stage 1: user loses streak
- stage 2: user has not studied for 1 week
- stage 3: user has not studied for 1 month
- stage 4: long-term dormant milestone (1 year)
- Each stage has its own dedicated reminder type (optimized per stage).
- Stage reminders are one-time triggers at each milestone (not daily repetitive reminders).
- Additional periodic reminder:
- if user remains inactive for longer term, send recurring reminder every 3 months.
- Stage overlap assumption:
- “lost streak” and “1 week inactive” are treated as sequential milestones in timeline, not simultaneous collisions.
- Primary objective for all stages:
- remind user about platform and motivate return to studying.
- CTA strategy is diversified to avoid boredom:
- explore new exercises
- quick practice
- start practicing now
- other discovery/engagement actions related to learning content
- Default reminder channels (initial V2):
- web browser push notification
- Zalo message
- Channel control:
- user can configure notification settings and enable/disable channels.
- Delivery note:
- for now, simultaneous push across available channels is acceptable.
- Content personalization by inactivity duration:
- streak-loss reminder: include lightweight recap of recent exercises, then comeback prompt.
- 1-week+ inactivity: prioritize new/trending exercises because old personal data may be stale.
- Message frequency cap during inactive periods:
- Maximum 1 reminder notification per day.
- Reactivation reset rule:
- once user returns and completes 1 exercise, reactivation chain resets immediately and a new streak begins.
- Measurement priority:
- strict reactivation success metrics are not a current priority.
Open question
Phần tiêu đề “Open question”- For the recurring 3-month reminder cycle, should it continue forever until user returns, or stop after a maximum number of attempts?