Coach DrépanoCoach DrépanoLearning and progress
Algorithm transparency

Learning and progress

The “My path” lessons, points, streak, pauses, quests and badges.

Each algorithm is described with what it reads, its steps, the values it uses (with their place in the code), what it shows and its limits.

My path: points, streak, pauses, quests and badges

← All algorithms

My path: points, streak, pauses, quests and badges

My path offers one-minute lessons about sickle cell disease. Each lesson passed earns points and grows a streak of days, and a finished unit opens a chest. The rules are the same in the bot and in the app, and the server grades the answers. A mistake never costs anything.

Where you see it: In the bot: "My points and games", then "My path". In the app: the Journal tab, then "My path". You see your streak, your pauses, your quests of the day, your points and your badges.

What the algorithm reads

The calculation, step by step

A lessonA card to read, then three questions with the answer right awayThe lesson is passed with 60% right answers or more (2 out of 3)Lesson passed for the firsttime?yesno10 points, and 5 more pointswith no mistake (once perlesson)No points: replaying is forreview, without inflating thescoreLast lesson of a unit?yesnoA chest opens: 20 points, anda streak pause if the reserveis not full (2 at most)The next lesson opensStreak, pauses and crisis daysThe streak counts consecutive days with a lesson passedA crisis or hospital day protects the streak by itselfAny other missed day uses a reserve pause if the streak wasrunning the day before; with no pause, the streak restarts at zeroA pause is earned every 7 days of streak, 2 in reserve at mostThree quests a dayDo a lessonGive 5 right answersDo your daily check-inAll three done: 10 points, once a daySpaced reviewA missed question comes back the next day, then 3 and 7 days laterA right answer in review earns 1 point (5 a day at most)
Flowchart: My path: points, streak, pauses, quests and badges

The values used

Name in the codeValueRoleWhere
XP_LESSON10Points for a lesson passed for the first timesrc/trevor/conversation/chemin.py:30
XP_PERFECT5Extra points for a first lesson with no mistakesrc/trevor/conversation/chemin.py:31
XP_CHEST20Points of the chest of a finished unitsrc/trevor/conversation/chemin.py:34
XP_QUESTS10Points for the three quests of the day donesrc/trevor/conversation/chemin.py:35
XP_REVIEW_RIGHT1Point for a right answer in reviewsrc/trevor/conversation/chemin.py:32
XP_REVIEW_DAY_CAP5Daily cap of review pointssrc/trevor/conversation/chemin.py:33
QUEST_RIGHT_TARGET5Right answers targeted by the quest of the daysrc/trevor/conversation/chemin.py:36
FREEZE_EVERY7Streak days to earn a pausesrc/trevor/conversation/chemin.py:37
FREEZE_MAX2Pauses in reserve at mostsrc/trevor/conversation/chemin.py:38
REVIEW_STEPS(1, 3, 7)Days before a missed question is asked againsrc/trevor/conversation/chemin.py:39
PASS_RATIO0.6Share of right answers to pass a lessonsrc/trevor/conversation/chemin.py:42

What is shown

For each person, Trévor tracks the lessons done and the path points (added to "My points" and to the levels). It also tracks the streak, the pauses, the quests of the day and the badges.

A worked example

You pass the first lesson with 2 right answers out of 3: 10 points. You replay it with no mistake: 5 more points. You replay it again: 0 points. The next day you do a lesson: your streak goes to 2. The day after, you are in hospital: the streak holds, with no pause spent.

What this algorithm cannot do

Validation. The point scales (10, 5, 20 and 10 points) are design choices. So are the 7-day streak, the 2 pauses and the review at 1, 3 and 7 days. These choices are inspired by learning apps; no study validates them for sickle cell disease. Spaced review follows the principle of spacing reviews, without its own calibration. The medical content of the lessons is awaiting clinical review.

Code : src/trevor/conversation/chemin.py (complete_lesson, settle, series_length, claim_quests, apply_review, earn_badges), src/trevor/conversation/chemin_screens.py (chemin_context, chemin_complete, chemin_state), data/chemin/drepanocytose.json, data/chemin/badges.json

Important. These calculations guide you; they make no diagnosis and do not replace the care team's advice. In case of severe pain, fever or shortness of breath, call 144 without waiting.