{"/apps/duolingo":{"id":"app_aa53f1e66af074aa4385","slug":"duolingo","name":"Duolingo","description":"","brandColor":"#64748b","iconUrl":"https://www.flownato.com/design/icons/duolingo.webp","categorySlug":"education","categoryName":"Education","platform":"Android","version":null,"lastRiddenAt":"2026-10-17T20:48:22.054198+00:00","releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","knowledgeRevisionId":"knowledge_revision_232e16e787a54651896fbbac85b68a68","counts":{"journeys":9,"screens":137,"elements":573},"journeys":[{"id":"creating_a_profile","slug":"duolingo--creating_a_profile","title":"Creating a profile","description":"After the first lesson, set a streak goal, create a profile with Google and land on the signed-in course path.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"After the first lesson, finish the post-lesson setup prompts and create a profile with a Google account to reach signed-in Home","boundary":{"kind":"safe_product_boundary","rationale":"App confirmed 'profile successfully created' and showed the signed-in Home course path. Task grouping: standalone. Recorded take from the post-lesson habit message through Google profile creation to signed-in Home; reminder, streak goal, widget and contact prompts are single prompts inside it.","boundary_occurrence_id":"occ_c37bbe627178ff9df7ca7dfb","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Onboarding","role":"primary","termKey":"new_user_experience.onboarding","parentTermKey":"new_user_experience"}],"primaryTaxonomy":{"name":"Onboarding","role":"primary","termKey":"new_user_experience.onboarding","parentTermKey":"new_user_experience"},"flowPatterns":[{"name":"Onboarding","role":"primary","termKey":"new_user_experience.onboarding","parentTermKey":"new_user_experience"}],"catalogRole":"primary","journeyFamilyId":"account","familyName":"Creating a profile","familyGoal":"After the first lesson, finish the post-lesson setup prompts and create a profile with a Google account to reach signed-in Home","familySummary":"After the first lesson, set a streak goal, create a profile with Google and land on the signed-in course path.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":true,"captureStatus":"complete","screenCount":15,"previewCount":3,"lockedScreenCount":12,"previewScreens":["/api/v1/assets/product_asset_293b3fd271c6410bbc1c9469","/api/v1/assets/product_asset_ac6496f0a394c0f500603466","/api/v1/assets/product_asset_51ecb9bf1e23dea125657a95"],"previewLabels":["Build a daily habit","Streak started","Streak reminders"],"routeSlug":"creating-a-profile","canonicalPath":"/flows/duolingo/creating-a-profile","branches":[],"anchoredUtilities":[],"connections":[],"variants":[]},{"id":"checking_your_league","slug":"duolingo--checking_your_league","title":"Checking your league","description":"Open the Leaderboards tab from the course path, get past the first-time intro and see your rank, weekly XP and the promotion zone in the Bronze League.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Check your league standing from Learn home via the leaderboard tab","boundary":{"kind":"safe_product_boundary","rationale":"Bronze League standings shown with own rank, weekly XP, promotion zone and days remaining Task grouping: standalone. Starts at signed-in Learn home and reaches the user's league standings through the leaderboard tab and its one-time intro; this is the mission's main task.","boundary_occurrence_id":"occ_e6afe73d697cc02cf823412b","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"},"flowPatterns":[{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"}],"catalogRole":"primary","journeyFamilyId":"leaderboards","familyName":"Checking your league","familyGoal":"Check your league standing from Learn home via the leaderboard tab","familySummary":"Open the Leaderboards tab from the course path, get past the first-time intro and see your rank, weekly XP and the promotion zone in the Bronze League.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":true,"captureStatus":"complete","screenCount":3,"previewCount":3,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_87d17e2e0a82b5aedafd4229","/api/v1/assets/product_asset_250373b33191cbb2ccc7a600","/api/v1/assets/product_asset_9e83d3e983f5ef7be6fd3e83"],"previewLabels":["Course path","Leaderboards intro","Bronze League standings"],"routeSlug":"checking-your-league","canonicalPath":"/flows/duolingo/checking-your-league","branches":[{"id":"viewing_a_learner_profile","slug":"duolingo--viewing_a_learner_profile","title":"Viewing a learner's profile","description":"Tap a learner in the league ranking to open their profile, which here is private and cannot be followed.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Open a ranked learner's profile from the leaderboard","boundary":{"kind":"safe_product_boundary","rationale":"Rank-1 learner's profile opened; it is private and cannot be followed Task grouping: standalone. Optional side task: opening a competitor's profile from a ranking row on the same league list.","boundary_occurrence_id":"occ_a368e5c0f0510dbd6743656c","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"}],"primaryTaxonomy":{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"},"flowPatterns":[{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"}],"catalogRole":"subflow","journeyFamilyId":"viewing_a_learner_profile","familyName":"Viewing a learner's profile","familyGoal":"Open a ranked learner's profile from the leaderboard","familySummary":"Tap a learner in the league ranking to open their profile, which here is private and cannot be followed.","parentJourneyFamilyId":"leaderboards","parentJourneyFamilyIds":["leaderboards"],"isFree":false,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_b1a056728704b88524f487e5","/api/v1/assets/product_asset_74083925b7e5841272ad7b8c"],"previewLabels":["League ranking","Learner profile"],"routeSlug":"viewing-a-learner-s-profile","canonicalPath":"/flows/duolingo/viewing-a-learner-s-profile","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"league_to_learner_profile","type":"branch","label":"Opening a competitor's profile is an optional side task from the league standings list; the child keeps the ranking screen and its row tap before the profile.","parentJourneyId":"checking_your_league","anchorStepId":"checking_your_league_step_02","anchorStepTitle":"Bronze League standings","childJourneyId":"viewing_a_learner_profile","childEntryStepId":"viewing_a_learner_profile_step_01","childEntryStepTitle":"Learner profile","returnStepId":null,"returnStepTitle":null,"sortOrder":3}}],"anchoredUtilities":[],"connections":[],"variants":[]},{"id":"checking_your_quests","slug":"duolingo--checking_your_quests","title":"Checking your quests","description":"Open the Quests tab from the course path and read your friends and daily quest progress, time left and rewards.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Check quest progress, time left and rewards on the Quests tab from signed-in Learn home","boundary":{"kind":"safe_product_boundary","rationale":"Quests tab read in full: friends and daily quest goals, progress, time left and reward chests. Task grouping: standalone. Starts from a clean relaunch into signed-in Learn home and opens the Quests tab, where the learner reads quest progress and rewards; that read is the full outcome.","boundary_occurrence_id":"occ_a7425d35d46d3c0893052fbe","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"},"flowPatterns":[{"name":"Viewing statistics","role":"primary","termKey":"content.viewing_statistics","parentTermKey":"content"}],"catalogRole":"primary","journeyFamilyId":"quests","familyName":"Checking your quests","familyGoal":"Check quest progress, time left and rewards on the Quests tab from signed-in Learn home","familySummary":"Open the Quests tab from the course path and read your friends and daily quest progress, time left and rewards.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":true,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_aef56f283f16fe3a1ed023fe","/api/v1/assets/product_asset_3341eaa64ac52d5e8f5a1773"],"previewLabels":["Course path","Quests"],"routeSlug":"checking-your-quests","canonicalPath":"/flows/duolingo/checking-your-quests","branches":[],"anchoredUtilities":[],"connections":[],"variants":[]},{"id":"continuing_the_course","slug":"duolingo--continuing_the_course","title":"Continuing the course","description":"Start the next lesson from the course path, answer every exercise, collect the post-lesson rewards and return to the updated path.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Continuing the course","boundary":{"kind":"safe_product_boundary","rationale":"Lesson 2 of 4 finished at 25 XP, 100% accuracy, 9:44; post-lesson score reward (+50 gems), daily quest chest (+9 gems) and streak 1 to 2 were shown, the Super trial was skipped without paying, and Learn home shows the advanced node with streak 2 and 579 gems. Task grouping: standalone. Starts at a clean relaunch into signed-in Learn home and completes the next path lesson. The Walker marker ended at the results screen, but the app continues on its own through rewards, the trial offer, the streak and the widget prompt back to Learn home with visible path progress, so the boundary was extended to that settled return.","boundary_occurrence_id":"occ_4abbad73c7d80df43942aceb","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"},"flowPatterns":[{"name":"Completing a session","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"catalogRole":"primary","journeyFamilyId":"lessons","familyName":"Completing a lesson","familyGoal":"Complete the first lesson of the new course","familySummary":"Start the first lesson, answer its picture, translation, matching and listening exercises, and finish on the lesson results.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":false,"captureStatus":"complete","screenCount":62,"previewCount":3,"lockedScreenCount":59,"previewScreens":["/api/v1/assets/product_asset_cb85aabf5b3d53a3c5e26c7d","/api/v1/assets/product_asset_fcc2d537a3511cc12df3cbfd","/api/v1/assets/product_asset_8e4a693e70691064146a1db1"],"previewLabels":["Course path","Lesson popover","Pick the image for Milch"],"routeSlug":"continuing-the-course","canonicalPath":"/flows/duolingo/continuing-the-course","branches":[{"id":"checking_a_word_meaning","slug":"duolingo--checking_a_word_meaning","title":"Checking a word's meaning","description":"Tap a new word in a lesson exercise to see what it means.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Check a new word's meaning during a lesson exercise","boundary":{"kind":"safe_product_boundary","rationale":"Tapping the dotted word 'Kekse' showed the hint tooltip 'cookies'. Task grouping: standalone. Separately recorded optional in-lesson help (word meaning tooltip) on the same unit path; related to the main flow by a branch relation rather than being a required lesson step.","boundary_occurrence_id":"occ_db405bb015853cb508fa2b06","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"lesson_side_tasks","familyName":"Checking a word's meaning","familyGoal":"Check a new word's meaning during a lesson exercise","familySummary":"Tap a new word in a lesson exercise to see what it means.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_47757bf66be8c9f01ac3efda","/api/v1/assets/product_asset_d958d585e9f34be07d8743b7"],"previewLabels":["Dotted new word","Meaning tooltip"],"routeSlug":"checking-a-word-s-meaning","canonicalPath":"/flows/duolingo/checking-a-word-s-meaning","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_word_hint","type":"branch","label":"The same picture-exercise surface as the parent's first exercise; the word hint was recorded separately in the next lesson, so the child starts on its own exercise and has no return into the parent.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_02","anchorStepTitle":"Pick the image for Milch","childJourneyId":"checking_a_word_meaning","childEntryStepId":"checking_a_word_meaning_step_00","childEntryStepTitle":"Dotted new word","returnStepId":null,"returnStepTitle":null,"sortOrder":1}},{"id":"viewing_an_answer_explanation","slug":"duolingo--viewing_an_answer_explanation","title":"Viewing an answer explanation","description":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Open an explanation of a correct answer during a lesson","boundary":{"kind":"safe_product_boundary","rationale":"Explain My Answer for 'tschuess = bye' showed that it is a casual goodbye, with two example sentences and CONTINUE LESSON. Task grouping: standalone. Separately recorded optional in-lesson help: reaching a correct answer and opening Explain My Answer to read the explanation; related to the main flow by a branch relation.","boundary_occurrence_id":"occ_57f3e1aad043a4af39582c85","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"viewing_an_answer_explanation","familyName":"Viewing an answer explanation","familyGoal":"Open an explanation of a correct answer during a lesson","familySummary":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":12,"previewCount":3,"lockedScreenCount":9,"previewScreens":["/api/v1/assets/product_asset_8a3f72dc36e1bdc29d54f249","/api/v1/assets/product_asset_89cb4cea9ac684c3a9ea7140","/api/v1/assets/product_asset_d7c25b3f417655a24ad106ef"],"previewLabels":["Pick the image for Kekse","Cookies selected","Correct, no explanation"],"routeSlug":"viewing-an-answer-explanation","canonicalPath":"/flows/duolingo/viewing-an-answer-explanation","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_explain_answer","type":"branch","label":"The parent's correct-answer banner shows EXPLAIN MY ANSWER; the child opens that option on a sentence exercise in a separately recorded later lesson, so it starts on its own first exercise with no return into the parent.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_13","anchorStepTitle":"Correct","childJourneyId":"viewing_an_answer_explanation","childEntryStepId":"viewing_an_answer_explanation_step_00","childEntryStepTitle":"Pick the image for Kekse","returnStepId":null,"returnStepTitle":null,"sortOrder":2}},{"id":"reading_the_unit_guidebook","slug":"duolingo--reading_the_unit_guidebook","title":"Reading the unit guidebook","description":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Read the unit guidebook's key phrases and tips from Learn home","boundary":{"kind":"safe_product_boundary","rationale":"Unit 1 guidebook read: key phrases with translations and the und/oder/mit tip table. Task grouping: standalone. Separately recorded optional side task of the course-lesson flow: the learner opens the unit guidebook from Learn home and reads its content (visible result). Its parentage is expressed by the branch relation from the main flow's Learn home step, not as a required part of the lesson path.","boundary_occurrence_id":"occ_1d810710b53fde0cada7af98","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"reading_the_unit_guidebook","familyName":"Reading the unit guidebook","familyGoal":"Read the unit guidebook's key phrases and tips from Learn home","familySummary":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":3,"previewCount":3,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_05be2fcb8d82276497aa0883","/api/v1/assets/product_asset_05be761f98cff6aed83d717c","/api/v1/assets/product_asset_af687e4981b99e74a1aafdad"],"previewLabels":["Open the guidebook","Key phrases","Grammar tip"],"routeSlug":"reading-the-unit-guidebook","canonicalPath":"/flows/duolingo/reading-the-unit-guidebook","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_guidebook","type":"branch","label":"The guidebook button on the Unit 1 header of the parent's final course-path screen opened the unit guidebook; no return to the course path was recorded.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_61","anchorStepTitle":"Back on the course path","childJourneyId":"reading_the_unit_guidebook","childEntryStepId":"reading_the_unit_guidebook_step_01","childEntryStepTitle":"Key phrases","returnStepId":null,"returnStepTitle":null,"sortOrder":3}}],"anchoredUtilities":[],"connections":[],"variants":[{"id":"continuing_the_course","slug":"duolingo--continuing_the_course","title":"Continuing the course","description":"Start the next lesson from the course path, answer every exercise, collect the post-lesson rewards and return to the updated path.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Continuing the course","boundary":{"kind":"safe_product_boundary","rationale":"Lesson 2 of 4 finished at 25 XP, 100% accuracy, 9:44; post-lesson score reward (+50 gems), daily quest chest (+9 gems) and streak 1 to 2 were shown, the Super trial was skipped without paying, and Learn home shows the advanced node with streak 2 and 579 gems. Task grouping: standalone. Starts at a clean relaunch into signed-in Learn home and completes the next path lesson. The Walker marker ended at the results screen, but the app continues on its own through rewards, the trial offer, the streak and the widget prompt back to Learn home with visible path progress, so the boundary was extended to that settled return.","boundary_occurrence_id":"occ_4abbad73c7d80df43942aceb","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"},"flowPatterns":[{"name":"Completing a session","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"catalogRole":"primary","journeyFamilyId":"lessons","familyName":"Completing a lesson","familyGoal":"Complete the first lesson of the new course","familySummary":"Start the first lesson, answer its picture, translation, matching and listening exercises, and finish on the lesson results.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":false,"captureStatus":"complete","screenCount":62,"previewCount":3,"lockedScreenCount":59,"previewScreens":["/api/v1/assets/product_asset_cb85aabf5b3d53a3c5e26c7d","/api/v1/assets/product_asset_fcc2d537a3511cc12df3cbfd","/api/v1/assets/product_asset_8e4a693e70691064146a1db1"],"previewLabels":["Course path","Lesson popover","Pick the image for Milch"],"routeSlug":"continuing-the-course","canonicalPath":"/flows/duolingo/continuing-the-course","branches":[{"id":"checking_a_word_meaning","slug":"duolingo--checking_a_word_meaning","title":"Checking a word's meaning","description":"Tap a new word in a lesson exercise to see what it means.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Check a new word's meaning during a lesson exercise","boundary":{"kind":"safe_product_boundary","rationale":"Tapping the dotted word 'Kekse' showed the hint tooltip 'cookies'. Task grouping: standalone. Separately recorded optional in-lesson help (word meaning tooltip) on the same unit path; related to the main flow by a branch relation rather than being a required lesson step.","boundary_occurrence_id":"occ_db405bb015853cb508fa2b06","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"lesson_side_tasks","familyName":"Checking a word's meaning","familyGoal":"Check a new word's meaning during a lesson exercise","familySummary":"Tap a new word in a lesson exercise to see what it means.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_47757bf66be8c9f01ac3efda","/api/v1/assets/product_asset_d958d585e9f34be07d8743b7"],"previewLabels":["Dotted new word","Meaning tooltip"],"routeSlug":"checking-a-word-s-meaning","canonicalPath":"/flows/duolingo/checking-a-word-s-meaning","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_word_hint","type":"branch","label":"The same picture-exercise surface as the parent's first exercise; the word hint was recorded separately in the next lesson, so the child starts on its own exercise and has no return into the parent.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_02","anchorStepTitle":"Pick the image for Milch","childJourneyId":"checking_a_word_meaning","childEntryStepId":"checking_a_word_meaning_step_00","childEntryStepTitle":"Dotted new word","returnStepId":null,"returnStepTitle":null,"sortOrder":1}},{"id":"viewing_an_answer_explanation","slug":"duolingo--viewing_an_answer_explanation","title":"Viewing an answer explanation","description":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Open an explanation of a correct answer during a lesson","boundary":{"kind":"safe_product_boundary","rationale":"Explain My Answer for 'tschuess = bye' showed that it is a casual goodbye, with two example sentences and CONTINUE LESSON. Task grouping: standalone. Separately recorded optional in-lesson help: reaching a correct answer and opening Explain My Answer to read the explanation; related to the main flow by a branch relation.","boundary_occurrence_id":"occ_57f3e1aad043a4af39582c85","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"viewing_an_answer_explanation","familyName":"Viewing an answer explanation","familyGoal":"Open an explanation of a correct answer during a lesson","familySummary":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":12,"previewCount":3,"lockedScreenCount":9,"previewScreens":["/api/v1/assets/product_asset_8a3f72dc36e1bdc29d54f249","/api/v1/assets/product_asset_89cb4cea9ac684c3a9ea7140","/api/v1/assets/product_asset_d7c25b3f417655a24ad106ef"],"previewLabels":["Pick the image for Kekse","Cookies selected","Correct, no explanation"],"routeSlug":"viewing-an-answer-explanation","canonicalPath":"/flows/duolingo/viewing-an-answer-explanation","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_explain_answer","type":"branch","label":"The parent's correct-answer banner shows EXPLAIN MY ANSWER; the child opens that option on a sentence exercise in a separately recorded later lesson, so it starts on its own first exercise with no return into the parent.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_13","anchorStepTitle":"Correct","childJourneyId":"viewing_an_answer_explanation","childEntryStepId":"viewing_an_answer_explanation_step_00","childEntryStepTitle":"Pick the image for Kekse","returnStepId":null,"returnStepTitle":null,"sortOrder":2}},{"id":"reading_the_unit_guidebook","slug":"duolingo--reading_the_unit_guidebook","title":"Reading the unit guidebook","description":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Read the unit guidebook's key phrases and tips from Learn home","boundary":{"kind":"safe_product_boundary","rationale":"Unit 1 guidebook read: key phrases with translations and the und/oder/mit tip table. Task grouping: standalone. Separately recorded optional side task of the course-lesson flow: the learner opens the unit guidebook from Learn home and reads its content (visible result). Its parentage is expressed by the branch relation from the main flow's Learn home step, not as a required part of the lesson path.","boundary_occurrence_id":"occ_1d810710b53fde0cada7af98","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"reading_the_unit_guidebook","familyName":"Reading the unit guidebook","familyGoal":"Read the unit guidebook's key phrases and tips from Learn home","familySummary":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":3,"previewCount":3,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_05be2fcb8d82276497aa0883","/api/v1/assets/product_asset_05be761f98cff6aed83d717c","/api/v1/assets/product_asset_af687e4981b99e74a1aafdad"],"previewLabels":["Open the guidebook","Key phrases","Grammar tip"],"routeSlug":"reading-the-unit-guidebook","canonicalPath":"/flows/duolingo/reading-the-unit-guidebook","branches":[],"anchoredUtilities":[],"connections":[],"relation":{"id":"course_to_guidebook","type":"branch","label":"The guidebook button on the Unit 1 header of the parent's final course-path screen opened the unit guidebook; no return to the course path was recorded.","parentJourneyId":"continuing_the_course","anchorStepId":"continuing_the_course_step_61","anchorStepTitle":"Back on the course path","childJourneyId":"reading_the_unit_guidebook","childEntryStepId":"reading_the_unit_guidebook_step_01","childEntryStepTitle":"Key phrases","returnStepId":null,"returnStepTitle":null,"sortOrder":3}}],"anchoredUtilities":[],"connections":[]},{"id":"completing_first_lesson","slug":"duolingo--completing_first_lesson","title":"Completing a lesson","description":"Start the first lesson, answer its picture, translation, matching and listening exercises, and finish on the lesson results.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Completing a lesson","boundary":{"kind":"safe_product_boundary","rationale":"All 11 exercises answered correctly; results show 25 XP and 100% accuracy. Task grouping: standalone. Recorded take starting at the first-lesson offer; the customer completes a lesson with a visible result. Starting on onboarding's last screen does not make it a side task.","boundary_occurrence_id":"occ_df2bd7ade3bd722e30c85a56","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Starting & Completing","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"},"flowPatterns":[{"name":"Completing a session","role":"primary","termKey":"content.starting_completing","parentTermKey":"content"}],"catalogRole":"primary","journeyFamilyId":"lessons","familyName":"Completing a lesson","familyGoal":"Complete the first lesson of the new course","familySummary":"Start the first lesson, answer its picture, translation, matching and listening exercises, and finish on the lesson results.","parentJourneyFamilyId":null,"parentJourneyFamilyIds":[],"isFree":false,"captureStatus":"complete","screenCount":52,"previewCount":3,"lockedScreenCount":49,"previewScreens":["/api/v1/assets/product_asset_6dc6c6ea3465c637141bf4b7","/api/v1/assets/product_asset_5ba8820a93eb56c0705b8ce9","/api/v1/assets/product_asset_c7c41e731e581f7e966b1819"],"previewLabels":["First lesson offer","Exercise 1: pick the image","Tea selected"],"routeSlug":"completing-a-lesson","canonicalPath":"/flows/duolingo/completing-a-lesson","branches":[],"anchoredUtilities":[],"connections":[]}]}],"utilities":[],"subflows":[{"id":"checking_a_word_meaning","slug":"duolingo--checking_a_word_meaning","title":"Checking a word's meaning","description":"Tap a new word in a lesson exercise to see what it means.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Check a new word's meaning during a lesson exercise","boundary":{"kind":"safe_product_boundary","rationale":"Tapping the dotted word 'Kekse' showed the hint tooltip 'cookies'. Task grouping: standalone. Separately recorded optional in-lesson help (word meaning tooltip) on the same unit path; related to the main flow by a branch relation rather than being a required lesson step.","boundary_occurrence_id":"occ_db405bb015853cb508fa2b06","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"lesson_side_tasks","familyName":"Checking a word's meaning","familyGoal":"Check a new word's meaning during a lesson exercise","familySummary":"Tap a new word in a lesson exercise to see what it means.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_47757bf66be8c9f01ac3efda","/api/v1/assets/product_asset_d958d585e9f34be07d8743b7"],"previewLabels":["Dotted new word","Meaning tooltip"],"routeSlug":"checking-a-word-s-meaning","canonicalPath":"/flows/duolingo/checking-a-word-s-meaning","variants":[]},{"id":"viewing_a_learner_profile","slug":"duolingo--viewing_a_learner_profile","title":"Viewing a learner's profile","description":"Tap a learner in the league ranking to open their profile, which here is private and cannot be followed.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Open a ranked learner's profile from the leaderboard","boundary":{"kind":"safe_product_boundary","rationale":"Rank-1 learner's profile opened; it is private and cannot be followed Task grouping: standalone. Optional side task: opening a competitor's profile from a ranking row on the same league list.","boundary_occurrence_id":"occ_a368e5c0f0510dbd6743656c","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"}],"primaryTaxonomy":{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"},"flowPatterns":[{"name":"Viewing profile","role":"primary","termKey":"account_management.viewing_profile","parentTermKey":"account_management"}],"catalogRole":"subflow","journeyFamilyId":"viewing_a_learner_profile","familyName":"Viewing a learner's profile","familyGoal":"Open a ranked learner's profile from the leaderboard","familySummary":"Tap a learner in the league ranking to open their profile, which here is private and cannot be followed.","parentJourneyFamilyId":"leaderboards","parentJourneyFamilyIds":["leaderboards"],"isFree":false,"captureStatus":"complete","screenCount":2,"previewCount":2,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_b1a056728704b88524f487e5","/api/v1/assets/product_asset_74083925b7e5841272ad7b8c"],"previewLabels":["League ranking","Learner profile"],"routeSlug":"viewing-a-learner-s-profile","canonicalPath":"/flows/duolingo/viewing-a-learner-s-profile","variants":[]},{"id":"reading_the_unit_guidebook","slug":"duolingo--reading_the_unit_guidebook","title":"Reading the unit guidebook","description":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Read the unit guidebook's key phrases and tips from Learn home","boundary":{"kind":"safe_product_boundary","rationale":"Unit 1 guidebook read: key phrases with translations and the und/oder/mit tip table. Task grouping: standalone. Separately recorded optional side task of the course-lesson flow: the learner opens the unit guidebook from Learn home and reads its content (visible result). Its parentage is expressed by the branch relation from the main flow's Learn home step, not as a required part of the lesson path.","boundary_occurrence_id":"occ_1d810710b53fde0cada7af98","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"reading_the_unit_guidebook","familyName":"Reading the unit guidebook","familyGoal":"Read the unit guidebook's key phrases and tips from Learn home","familySummary":"Open the unit guidebook from the course path and read its key phrases and grammar tip.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":3,"previewCount":3,"lockedScreenCount":0,"previewScreens":["/api/v1/assets/product_asset_05be2fcb8d82276497aa0883","/api/v1/assets/product_asset_05be761f98cff6aed83d717c","/api/v1/assets/product_asset_af687e4981b99e74a1aafdad"],"previewLabels":["Open the guidebook","Key phrases","Grammar tip"],"routeSlug":"reading-the-unit-guidebook","canonicalPath":"/flows/duolingo/reading-the-unit-guidebook","variants":[]},{"id":"viewing_an_answer_explanation","slug":"duolingo--viewing_an_answer_explanation","title":"Viewing an answer explanation","description":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","accentColor":"#64748b","appSlug":"duolingo","appName":"Duolingo","brandColor":"#64748b","appId":"app_aa53f1e66af074aa4385","capturedAt":"2026-10-17T20:48:22.054198+00:00","userGoalStatus":"completed","variant":{"account_state":"unknown"},"goal":"Open an explanation of a correct answer during a lesson","boundary":{"kind":"safe_product_boundary","rationale":"Explain My Answer for 'tschuess = bye' showed that it is a casual goodbye, with two example sentences and CONTINUE LESSON. Task grouping: standalone. Separately recorded optional in-lesson help: reaching a correct answer and opening Explain My Answer to read the explanation; related to the main flow by a branch relation.","boundary_occurrence_id":"occ_57f3e1aad043a4af39582c85","recovery_occurrence_ids":[],"confirmation_occurrence_id":null},"releaseId":"ccb1a378-d6d4-4397-9c4c-2f5b0bb2fbd6","taxonomy":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"primaryTaxonomy":{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"},"flowPatterns":[{"name":"Reading","role":"primary","termKey":"content.reading","parentTermKey":"content"}],"catalogRole":"subflow","journeyFamilyId":"viewing_an_answer_explanation","familyName":"Viewing an answer explanation","familyGoal":"Open an explanation of a correct answer during a lesson","familySummary":"Answer lesson exercises until one offers an explanation, then open it and read why the answer is right.","parentJourneyFamilyId":"lessons","parentJourneyFamilyIds":["lessons"],"isFree":false,"captureStatus":"complete","screenCount":12,"previewCount":3,"lockedScreenCount":9,"previewScreens":["/api/v1/assets/product_asset_8a3f72dc36e1bdc29d54f249","/api/v1/assets/product_asset_89cb4cea9ac684c3a9ea7140","/api/v1/assets/product_asset_d7c25b3f417655a24ad106ef"],"previewLabels":["Pick the image for Kekse","Cookies selected","Correct, no explanation"],"routeSlug":"viewing-an-answer-explanation","canonicalPath":"/flows/duolingo/viewing-an-answer-explanation","variants":[]}],"unplacedSubflows":[],"animations":[{"id":"anim_110229333fd4786a46e1fb20","title":"Mascot energy battery reward","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4353,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_110229333fd4786a46e1fb20/video","stillUrl":"/api/v1/animations/anim_110229333fd4786a46e1fb20/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_c52d3d197e817e3826b356aa","title":"Owl splash reveals welcome screen","type":"launch","typeLabel":"Launch","element":"Splash","trigger":"auto","durationMs":2012,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c52d3d197e817e3826b356aa/video","stillUrl":"/api/v1/animations/anim_c52d3d197e817e3826b356aa/still"},{"id":"anim_fbe3b4f59bb8aff45fee8772","title":"Owl mascot blinks, rings bell","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":6604,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_fbe3b4f59bb8aff45fee8772/video","stillUrl":"/api/v1/animations/anim_fbe3b4f59bb8aff45fee8772/still"},{"id":"anim_7e99b1e7811d8260c692e1da","title":"Success sheet with confetti burst","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Bottom sheet","trigger":"tap","durationMs":3852,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_7e99b1e7811d8260c692e1da/video","stillUrl":"/api/v1/animations/anim_7e99b1e7811d8260c692e1da/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_a424a01d7458d6a8c8ac15d0","title":"Mascot energy battery reward","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4394,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_a424a01d7458d6a8c8ac15d0/video","stillUrl":"/api/v1/animations/anim_a424a01d7458d6a8c8ac15d0/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_c103ef926b87bb7833b1801c","title":"Reminders sheet dismisses","type":"overlays","typeLabel":"Sheets and dialogs","element":"Bottom sheet","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c103ef926b87bb7833b1801c/video","stillUrl":"/api/v1/animations/anim_c103ef926b87bb7833b1801c/still","flow":{"title":"Checking your league","path":"/flows/duolingo/checking-your-league"}},{"id":"anim_32cfaaa5611430dcd2f8ecb9","title":"Lightning strike combo celebration","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Bottom sheet","trigger":"tap","durationMs":2949,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_32cfaaa5611430dcd2f8ecb9/video","stillUrl":"/api/v1/animations/anim_32cfaaa5611430dcd2f8ecb9/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_433d067e02e6d46dda3096c1","title":"Perfect energy burst","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4151,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_433d067e02e6d46dda3096c1/video","stillUrl":"/api/v1/animations/anim_433d067e02e6d46dda3096c1/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_6b207b943dcc8fc141e268f9","title":"Five in a row owl celebration","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":3421,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_6b207b943dcc8fc141e268f9/video","stillUrl":"/api/v1/animations/anim_6b207b943dcc8fc141e268f9/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_ed4704b47757410654416ab8","title":"Epic chest bursts open","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4627,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_ed4704b47757410654416ab8/video","stillUrl":"/api/v1/animations/anim_ed4704b47757410654416ab8/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_0e20a4639184280c8dfcf4c9","title":"Owl delivers energy refill","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4319,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_0e20a4639184280c8dfcf4c9/video","stillUrl":"/api/v1/animations/anim_0e20a4639184280c8dfcf4c9/still"},{"id":"anim_2dd4f17239a448823b01a887","title":"Final match triggers lightning combo","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Card","trigger":"tap","durationMs":3442,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_2dd4f17239a448823b01a887/video","stillUrl":"/api/v1/animations/anim_2dd4f17239a448823b01a887/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_1ec12b768bcc8a02856d114b","title":"Ten-in-a-row mascot celebration","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":3881,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_1ec12b768bcc8a02856d114b/video","stillUrl":"/api/v1/animations/anim_1ec12b768bcc8a02856d114b/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_a910771c3bb66e571d01ca29","title":"Owl celebrates energy reward","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":4379,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_a910771c3bb66e571d01ca29/video","stillUrl":"/api/v1/animations/anim_a910771c3bb66e571d01ca29/still"},{"id":"anim_474f9d90c1664a7e56f109da","title":"Check triggers lightning success banner","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Bottom sheet","trigger":"tap","durationMs":3022,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_474f9d90c1664a7e56f109da/video","stillUrl":"/api/v1/animations/anim_474f9d90c1664a7e56f109da/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_940e73bb9d27a6908e871858","title":"Energy burst on perfect answer","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Bottom sheet","trigger":"tap","durationMs":4208,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_940e73bb9d27a6908e871858/video","stillUrl":"/api/v1/animations/anim_940e73bb9d27a6908e871858/still"},{"id":"anim_05f2b7afa5f867ecad39d710","title":"Streak flame born celebration","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_05f2b7afa5f867ecad39d710/video","stillUrl":"/api/v1/animations/anim_05f2b7afa5f867ecad39d710/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_46c15c60c9cb4ee4f13b1f3a","title":"Owl flies to score reveal","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_46c15c60c9cb4ee4f13b1f3a/video","stillUrl":"/api/v1/animations/anim_46c15c60c9cb4ee4f13b1f3a/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_b15d6e59ef435f10c21ef8f6","title":"Lesson popover grows from node","type":"overlays","typeLabel":"Sheets and dialogs","element":"Popover","trigger":"tap","durationMs":1784,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_b15d6e59ef435f10c21ef8f6/video","stillUrl":"/api/v1/animations/anim_b15d6e59ef435f10c21ef8f6/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_d0673c394afd9c2fffd15072","title":"Gems fly to counter","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Icon","trigger":"tap","durationMs":4607,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_d0673c394afd9c2fffd15072/video","stillUrl":"/api/v1/animations/anim_d0673c394afd9c2fffd15072/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_493a2d9a51f2dbbacbf9a08f","title":"Lesson node opens popover","type":"overlays","typeLabel":"Sheets and dialogs","element":"Popover","trigger":"tap","durationMs":1827,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_493a2d9a51f2dbbacbf9a08f/video","stillUrl":"/api/v1/animations/anim_493a2d9a51f2dbbacbf9a08f/still"},{"id":"anim_64d5390c0502a1f46e481e39","title":"Mascot owl idle blink","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":1800,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_64d5390c0502a1f46e481e39/video","stillUrl":"/api/v1/animations/anim_64d5390c0502a1f46e481e39/still"},{"id":"anim_9dd54ad2581d0820fb38b43e","title":"Speech bubble expands with confetti","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_9dd54ad2581d0820fb38b43e/video","stillUrl":"/api/v1/animations/anim_9dd54ad2581d0820fb38b43e/still"},{"id":"anim_ff8caf0e032883ebffd2cd89","title":"Volume sheet slides up","type":"overlays","typeLabel":"Sheets and dialogs","element":"Bottom sheet","trigger":"tap","durationMs":1852,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_ff8caf0e032883ebffd2cd89/video","stillUrl":"/api/v1/animations/anim_ff8caf0e032883ebffd2cd89/still"},{"id":"anim_23c289c967fd9db0721663e8","title":"Skip listening sheet slides up","type":"overlays","typeLabel":"Sheets and dialogs","element":"Bottom sheet","trigger":"tap","durationMs":1858,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_23c289c967fd9db0721663e8/video","stillUrl":"/api/v1/animations/anim_23c289c967fd9db0721663e8/still"},{"id":"anim_e546cb6389719fe8105036ce","title":"Widget illustration with animated mascot","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":4463,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_e546cb6389719fe8105036ce/video","stillUrl":"/api/v1/animations/anim_e546cb6389719fe8105036ce/still"},{"id":"anim_b27a0fe1e5d59b267ebe9c62","title":"Mascot moves center and speaks","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":3883,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_b27a0fe1e5d59b267ebe9c62/video","stillUrl":"/api/v1/animations/anim_b27a0fe1e5d59b267ebe9c62/still"},{"id":"anim_c2dd12d15e58984b83469466","title":"Chest screen slides in","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":7541,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c2dd12d15e58984b83469466/video","stillUrl":"/api/v1/animations/anim_c2dd12d15e58984b83469466/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_f867c996b134acc12a5451ff","title":"Character cheers on correct answer","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":3608,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_f867c996b134acc12a5451ff/video","stillUrl":"/api/v1/animations/anim_f867c996b134acc12a5451ff/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_fdcfbc262bd942a382fae65d","title":"Chest bounces on tap","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Illustration","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_fdcfbc262bd942a382fae65d/video","stillUrl":"/api/v1/animations/anim_fdcfbc262bd942a382fae65d/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_731fc4c71c69a30caa108a74","title":"Perfect lessons badge reveals","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Badge","trigger":"tap","durationMs":2003,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_731fc4c71c69a30caa108a74/video","stillUrl":"/api/v1/animations/anim_731fc4c71c69a30caa108a74/still"},{"id":"anim_d847cf5efea6610f7f5b797d","title":"Character cheers correct answer","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":2106,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_d847cf5efea6610f7f5b797d/video","stillUrl":"/api/v1/animations/anim_d847cf5efea6610f7f5b797d/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_b2d3d84a490c4d08259dd576","title":"Goal select evolves flame","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":5125,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_b2d3d84a490c4d08259dd576/video","stillUrl":"/api/v1/animations/anim_b2d3d84a490c4d08259dd576/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_ed8e1f02694ccb125a954a07","title":"Image card selects with highlight","type":"controls_forms","typeLabel":"Controls and forms","element":"Card","trigger":"tap","durationMs":2323,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_ed8e1f02694ccb125a954a07/video","stillUrl":"/api/v1/animations/anim_ed8e1f02694ccb125a954a07/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_a5f45284a333b7647c7e3c29","title":"Image card selects, check enables","type":"controls_forms","typeLabel":"Controls and forms","element":"Card","trigger":"tap","durationMs":1473,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_a5f45284a333b7647c7e3c29/video","stillUrl":"/api/v1/animations/anim_a5f45284a333b7647c7e3c29/still","flow":{"title":"Viewing an answer explanation","path":"/flows/duolingo/viewing-an-answer-explanation"}},{"id":"anim_ab4560675a8c732760df868e","title":"Splash fades into learning path","type":"launch","typeLabel":"Launch","element":"Splash","trigger":"auto","durationMs":2841,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_ab4560675a8c732760df868e/video","stillUrl":"/api/v1/animations/anim_ab4560675a8c732760df868e/still"},{"id":"anim_6892213848b6da0e74b45614","title":"Quest progress bar fills","type":"data_motion","typeLabel":"Charts and data","element":"Progress indicator","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_6892213848b6da0e74b45614/video","stillUrl":"/api/v1/animations/anim_6892213848b6da0e74b45614/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_85f4816bfbdda053dc135d5c","title":"More menu sheet slides up","type":"overlays","typeLabel":"Sheets and dialogs","element":"Bottom sheet","trigger":"tap","durationMs":1783,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_85f4816bfbdda053dc135d5c/video","stillUrl":"/api/v1/animations/anim_85f4816bfbdda053dc135d5c/still"},{"id":"anim_2f0f1e35a3b115ec493c7570","title":"Mascot celebrates score unlock","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":7621,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_2f0f1e35a3b115ec493c7570/video","stillUrl":"/api/v1/animations/anim_2f0f1e35a3b115ec493c7570/still"},{"id":"anim_50d681356645be4f0bd18969","title":"Matched pair tiles pop, fade","type":"feedback_rewards","typeLabel":"Feedback and rewards","element":"Card","trigger":"tap","durationMs":2563,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_50d681356645be4f0bd18969/video","stillUrl":"/api/v1/animations/anim_50d681356645be4f0bd18969/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_4a1b61c0b38f5d91265344bf","title":"Reward chest sparkles loop","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":7639,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_4a1b61c0b38f5d91265344bf/video","stillUrl":"/api/v1/animations/anim_4a1b61c0b38f5d91265344bf/still","flow":{"title":"Continuing the course","path":"/flows/duolingo/continuing-the-course"}},{"id":"anim_5dde3e0976cda7a54a754179","title":"Option selects, Continue enables","type":"controls_forms","typeLabel":"Controls and forms","element":"Option selection","trigger":"tap","durationMs":4239,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_5dde3e0976cda7a54a754179/video","stillUrl":"/api/v1/animations/anim_5dde3e0976cda7a54a754179/still"},{"id":"anim_3b0e51c02a4dc2254ae20820","title":"Checkbox checks, mascot replies","type":"controls_forms","typeLabel":"Controls and forms","element":"Checkbox","trigger":"tap","durationMs":2815,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_3b0e51c02a4dc2254ae20820/video","stillUrl":"/api/v1/animations/anim_3b0e51c02a4dc2254ae20820/still"},{"id":"anim_c668fdde1a49b4ce4b9bb857","title":"Character blinks and gestures","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":3673,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c668fdde1a49b4ce4b9bb857/video","stillUrl":"/api/v1/animations/anim_c668fdde1a49b4ce4b9bb857/still"},{"id":"anim_0c360fdac1659d87e7a85835","title":"Character lip-syncs narration","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":5777,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_0c360fdac1659d87e7a85835/video","stillUrl":"/api/v1/animations/anim_0c360fdac1659d87e7a85835/still"},{"id":"anim_d0142b1a337554798bdd14c1","title":"Word chip arcs to answer","type":"controls_forms","typeLabel":"Controls and forms","element":"Chip","trigger":"tap","durationMs":1661,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_d0142b1a337554798bdd14c1/video","stillUrl":"/api/v1/animations/anim_d0142b1a337554798bdd14c1/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_4483019034ed2ed98e75e26c","title":"Word tile press selects","type":"controls_forms","typeLabel":"Controls and forms","element":"Button","trigger":"tap","durationMs":1609,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_4483019034ed2ed98e75e26c/video","stillUrl":"/api/v1/animations/anim_4483019034ed2ed98e75e26c/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_c8218682d1f0797f10dc6c5b","title":"Mascot rings reminder bell","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":2710,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c8218682d1f0797f10dc6c5b/video","stillUrl":"/api/v1/animations/anim_c8218682d1f0797f10dc6c5b/still"},{"id":"anim_5df9c1bd9fe043cb14f32617","title":"Word tile flies to answer","type":"controls_forms","typeLabel":"Controls and forms","element":"Chip","trigger":"tap","durationMs":1510,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_5df9c1bd9fe043cb14f32617/video","stillUrl":"/api/v1/animations/anim_5df9c1bd9fe043cb14f32617/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_56ac8a2af074d719eb4c2093","title":"Button loader, glowing progress fill","type":"controls_forms","typeLabel":"Controls and forms","element":"Button","trigger":"tap","durationMs":2367,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_56ac8a2af074d719eb4c2093/video","stillUrl":"/api/v1/animations/anim_56ac8a2af074d719eb4c2093/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_adf9d779ec7f240633df2a00","title":"Mascot course-building loader","type":"loading_refresh","typeLabel":"Loading","element":"Loading indicator","trigger":"tap","durationMs":8000,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_adf9d779ec7f240633df2a00/video","stillUrl":"/api/v1/animations/anim_adf9d779ec7f240633df2a00/still"},{"id":"anim_e12a0d8cba3ea3046cb4319c","title":"Duo mascot waves hello","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":7199,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_e12a0d8cba3ea3046cb4319c/video","stillUrl":"/api/v1/animations/anim_e12a0d8cba3ea3046cb4319c/still"},{"id":"anim_79c171cef51079f7236694fa","title":"Mascot squash-hops on continue","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":6081,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_79c171cef51079f7236694fa/video","stillUrl":"/api/v1/animations/anim_79c171cef51079f7236694fa/still"},{"id":"anim_291048534ef7e142f83b6ebf","title":"Lesson character gestures and frowns","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":2265,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_291048534ef7e142f83b6ebf/video","stillUrl":"/api/v1/animations/anim_291048534ef7e142f83b6ebf/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_c6e9e18343d35506901d25c5","title":"Lesson character opens eyes","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":2261,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_c6e9e18343d35506901d25c5/video","stillUrl":"/api/v1/animations/anim_c6e9e18343d35506901d25c5/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_18d85414dddfdc8a27825762","title":"Lesson character expression loop","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"auto","durationMs":2114,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_18d85414dddfdc8a27825762/video","stillUrl":"/api/v1/animations/anim_18d85414dddfdc8a27825762/still","flow":{"title":"Completing a lesson","path":"/flows/duolingo/completing-a-lesson"}},{"id":"anim_626c10699463e6381c33333d","title":"Mascot enters, speech types in","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":2936,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_626c10699463e6381c33333d/video","stillUrl":"/api/v1/animations/anim_626c10699463e6381c33333d/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_ea057da0fba9a5d0458b4d5a","title":"Answer options slide in","type":"navigation","typeLabel":"Navigation","element":"List","trigger":"tap","durationMs":4550,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_ea057da0fba9a5d0458b4d5a/video","stillUrl":"/api/v1/animations/anim_ea057da0fba9a5d0458b4d5a/still"},{"id":"anim_f277f5f5c43740a20b8c2a99","title":"Options slide out to next","type":"navigation","typeLabel":"Navigation","element":"List","trigger":"tap","durationMs":4188,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_f277f5f5c43740a20b8c2a99/video","stillUrl":"/api/v1/animations/anim_f277f5f5c43740a20b8c2a99/still"},{"id":"anim_9373757322ff1cad8245262d","title":"Quests tab icon animates","type":"navigation","typeLabel":"Navigation","element":"Bottom navigation","trigger":"tap","durationMs":2651,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_9373757322ff1cad8245262d/video","stillUrl":"/api/v1/animations/anim_9373757322ff1cad8245262d/still"},{"id":"anim_58b2100c9b9dc2b11873a421","title":"Widget art crossfades into owl","type":"character_illustration","typeLabel":"Characters","element":"Illustration","trigger":"tap","durationMs":3136,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_58b2100c9b9dc2b11873a421/video","stillUrl":"/api/v1/animations/anim_58b2100c9b9dc2b11873a421/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_cb32e923626b3321c1c34906","title":"Active lesson star wiggles","type":"character_illustration","typeLabel":"Characters","element":"Icon","trigger":"auto","durationMs":2291,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_cb32e923626b3321c1c34906/video","stillUrl":"/api/v1/animations/anim_cb32e923626b3321c1c34906/still","flow":{"title":"Creating a profile","path":"/flows/duolingo/creating-a-profile"}},{"id":"anim_f644cd03d206c929cec3e708","title":"Lesson node star wobbles","type":"other","typeLabel":"Other","element":"Button","trigger":"auto","durationMs":2891,"width":540,"height":1208,"videoUrl":"/api/v1/animations/anim_f644cd03d206c929cec3e708/video","stillUrl":"/api/v1/animations/anim_f644cd03d206c929cec3e708/still"}]}}