{
  "packId": "sticky-apps",
  "packName": "The Science of Sticky Apps",
  "packVersion": "1.0.2",
  "icon": "📱",
  "shortName": "Sticky Apps",
  "description": "The full scientific stack behind habit-forming mobile apps: the dopamine of anticipation, B.F. Skinner's variable rewards, Fogg's B=MAP and Eyal's Hook Model, loss aversion and the streak, gamification and Octalysis, network effects and viral K-factors, retention and the Aha moment, the design patterns — and the ethics of it all, from FarmVille to TikTok.",
  "author": "Flash Feed",
  "language": "en",
  "tagsVocabulary": [
    "aha-moment",
    "algorithm",
    "anticipation",
    "artifacts",
    "by-the-numbers",
    "cac",
    "captology",
    "case-study",
    "churn",
    "cognitive-load",
    "cohort-analysis",
    "cohorts",
    "context",
    "core-loop",
    "dark-pattern",
    "dau-mau",
    "default-mode-network",
    "design-patterns",
    "doherty-threshold",
    "dopamine",
    "duolingo",
    "duolingo-numbers",
    "dynamic-difficulty",
    "economics",
    "endorphins",
    "endowment-effect",
    "engagement",
    "ephemerality",
    "ethics",
    "facebook",
    "farmville",
    "figure",
    "flow",
    "fogg-model",
    "fomo",
    "framework",
    "frameworks",
    "gamification",
    "goal-gradient",
    "growth",
    "growth-loops",
    "habit",
    "history",
    "hook-model",
    "instagram",
    "interest-graph",
    "investment",
    "k-factor",
    "key-concept",
    "linkedin",
    "loss-aversion",
    "ltv",
    "market-cap",
    "metcalfes-law",
    "metrics",
    "myth",
    "network-effect",
    "network-effects",
    "neurochemicals",
    "neuroscience",
    "notifications",
    "octalysis",
    "onboarding",
    "oxytocin",
    "pairs",
    "parasocial",
    "pbl",
    "person",
    "progressive-disclosure",
    "psychology",
    "push",
    "push-notification",
    "re-engagement",
    "referral",
    "referrals",
    "retention",
    "retention-stats",
    "reward-prediction-error",
    "reward-schedules",
    "serotonin",
    "shareable-artifact",
    "skinner",
    "snapchat",
    "social-graph",
    "social-layer",
    "social-obligation",
    "streak",
    "streak-freeze",
    "sunk-cost",
    "thing",
    "tiktok",
    "trigger",
    "twitter",
    "uncertainty",
    "variable-ratio",
    "variable-reward",
    "viral-loop",
    "viral-mechanics",
    "virality",
    "vocabulary",
    "wanting",
    "zeigarnik",
    "zeigarnik-effect"
  ],
  "items": [
    {
      "id": "sa-def-captology",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Captology"
      },
      "definition": {
        "modality": "text",
        "value": "The study of Computers As Persuasive Technologies — how computers can be designed to change human thoughts and behaviors. BJ Fogg coined the term in 1996."
      },
      "tags": [
        "history",
        "captology",
        "vocabulary"
      ],
      "uid": "1b5js5pcos4qr"
    },
    {
      "id": "sa-fact-charismatic-computers",
      "shape": "fact",
      "title": "It started with a dissertation",
      "body": "The lineage of sticky design starts not with a product manager but with a Stanford doctoral student. **BJ Fogg's** 1993 dissertation, *Charismatic Computers*, showed for the first time that computers could change human thoughts and behaviors in predictable ways.",
      "tags": [
        "history",
        "captology"
      ],
      "studyGuideAnchor": "it-started-with-a-dissertation",
      "curatedDistractors": [
        "Aza Raskin",
        "Nir Eyal",
        "Anna Lembke"
      ],
      "illustration": {
        "imageSearchTerm": "student writing academic thesis",
        "imagePrompt": "A graduate student at a desk writing an academic dissertation, surrounded by books and a computer.",
        "alt": "It started with a dissertation",
        "depictable": true,
        "credit": "Pexels · Andrea Piacquadio · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/woman-in-yellow-shirt-writing-on-white-paper-3807755/",
        "subject": "A young woman at a home desk near a bright window, smiling while handwriting in a notepad with an open laptop and a pencil cup beside her — a clean, well-lit, generic photo of a student writing/studying.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-charismatic-computers.webp"
      },
      "uid": "tz1xxsis9k8o"
    },
    {
      "id": "sa-fact-stanford-lab",
      "shape": "fact",
      "title": "The Persuasive Technology Lab",
      "body": "In **1998**, Fogg founded the **Stanford Persuasive Technology Lab**. His 2003 book *Persuasive Technology: Using Computers to Change What We Think and Do* became the academic foundation — and later the product-design bible — of the mobile era.",
      "tags": [
        "history",
        "captology"
      ],
      "studyGuideAnchor": "the-persuasive-technology-lab",
      "curatedDistractors": [
        "MIT Media Lab",
        "Xerox PARC",
        "Stanford HCI Group"
      ],
      "illustration": {
        "imageSearchTerm": "Stanford University campus building",
        "imagePrompt": "A university research building on a stately college campus.",
        "alt": "The Persuasive Technology Lab",
        "depictable": true
      },
      "uid": "bn6fem3a91m"
    },
    {
      "id": "sa-pair-fogg-captology",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "BJ Fogg"
      },
      "sideB": {
        "modality": "text",
        "value": "Coined captology; founded the Stanford Persuasive Technology Lab"
      },
      "tags": [
        "history",
        "captology"
      ],
      "uid": "pqzrhs16tgu5s"
    },
    {
      "id": "sa-fact-bmap-foreshadow",
      "shape": "fact",
      "title": "B = MAP, foreshadowed",
      "body": "Fogg's work eventually formalized into **B = MAP**: Behavior = Motivation × Ability × Prompt. The claim: a behavior happens only when motivation, ability, and a prompt converge in the same moment. It encoded the whole discipline of friction reduction into one equation.",
      "tags": [
        "history",
        "captology",
        "frameworks"
      ],
      "studyGuideAnchor": "b-map-foreshadowed",
      "uid": "19hglekyhun0g"
    },
    {
      "id": "sa-num-fogg-dissertation",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year of BJ Fogg's Charismatic Computers dissertation"
      },
      "value": 1993,
      "unit": "year",
      "tags": [
        "history",
        "captology"
      ],
      "uid": "rck4no1eb15rg"
    },
    {
      "id": "sa-num-captology-coined",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year BJ Fogg coined the term captology"
      },
      "value": 1996,
      "unit": "year",
      "tags": [
        "history",
        "captology"
      ],
      "uid": "9mwtm216zqkmy"
    },
    {
      "id": "sa-num-stanford-lab",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year the Stanford Persuasive Technology Lab was founded"
      },
      "value": 1998,
      "unit": "year",
      "tags": [
        "history",
        "captology"
      ],
      "uid": "154bym6qzi2fy"
    },
    {
      "id": "sa-num-persuasive-tech-book",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year Fogg published Persuasive Technology"
      },
      "value": 2003,
      "unit": "year",
      "tags": [
        "history",
        "captology"
      ],
      "uid": "1vljgyybrbreu"
    },
    {
      "id": "sa-fact-facebook-platform",
      "shape": "fact",
      "title": "A platform opens the gates",
      "body": "The **Facebook Developer Platform** arrived in **May 2007**, triggering a Cambrian explosion of social apps. Text games gave way to visual 'farms' and 'cities' that used social obligation as their core mechanic.",
      "tags": [
        "history",
        "gamification"
      ],
      "studyGuideAnchor": "a-platform-opens-the-gates",
      "curatedDistractors": [
        "Apple App Store",
        "Google Play Store",
        "MySpace Developer Platform"
      ],
      "illustration": {
        "imageSearchTerm": "colorful farm game interface",
        "imagePrompt": "A colorful cartoon farming game scene with crops and virtual buildings.",
        "alt": "A platform opens the gates",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:20110830_Vannes_(21).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-facebook-platform.webp"
      },
      "uid": "mqbflg11h0j3s"
    },
    {
      "id": "sa-fact-farmville",
      "shape": "fact",
      "title": "FarmVille and the viral loop",
      "body": "In June 2009, Zynga launched **FarmVille**. It hit one million Daily Active Users in four days and 30 million in six months — driven not by gameplay depth but by social sharing: visible farms, resource-gifting loops that required friends, and 'a friend needs help' notifications.",
      "tags": [
        "history",
        "gamification"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "People will do daily chores — for social obligation.",
      "illustration": {
        "imagePrompt": "A colorful virtual farm game scene with crops, animals, and farm buildings in a cartoon style.",
        "imageSearchTerm": "virtual farm game crops",
        "alt": "Friends laughing together, some on phones",
        "depictable": true,
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-fact-farmville.jpg",
        "credit": "Pexels · Afif Ramdhasuma",
        "creditUrl": "https://www.pexels.com/photo/group-of-diverse-friends-playing-game-on-mobile-phone-17471057/"
      },
      "studyGuideAnchor": "farmville-and-the-viral-loop",
      "curatedDistractors": [
        "Monthly Active Users",
        "Registered Users",
        "Concurrent Players"
      ],
      "uid": "15bqa6psfjspv"
    },
    {
      "id": "sa-num-farmville-dau-4days",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "FarmVille's Daily Active Users after four days"
      },
      "value": 1000000,
      "unit": "users",
      "tags": [
        "history",
        "gamification"
      ],
      "uid": "1q1pyv21ak9e86"
    },
    {
      "id": "sa-num-farmville-dau-6months",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "FarmVille's Daily Active Users after six months"
      },
      "value": 30000000,
      "unit": "users",
      "tags": [
        "history",
        "gamification"
      ],
      "uid": "ffuxwwwgh6ds"
    },
    {
      "id": "sa-fact-portable-skinner-box",
      "shape": "fact",
      "title": "The phone in your pocket",
      "body": "The iPhone's 2007 launch and the 2008 App Store opening moved apps from the desktop to the pocket — available in every idle moment. The smartphone became a **portable Skinner box**: a conditioning chamber you carry everywhere.",
      "tags": [
        "history",
        "neuroscience"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "The smartphone: a hypodermic needle for digital dopamine.",
      "illustration": {
        "imagePrompt": "Evocative photograph for a hero card: A person's face lit by a phone in a dark bedroom",
        "imageSearchTerm": "face lit phone dark",
        "alt": "A person's face lit by a phone in a dark bedroom",
        "credit": "Pexels · Lombe K",
        "creditUrl": "https://www.pexels.com/photo/top-view-of-a-person-using-a-cellphone-4487859/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-portable-skinner-box.webp"
      },
      "studyGuideAnchor": "the-phone-in-your-pocket",
      "curatedDistractors": [
        "Amazon Appstore",
        "BlackBerry World",
        "Samsung Galaxy Store"
      ],
      "uid": "19c8evhpru9tz"
    },
    {
      "id": "sa-pair-lembke-digital-dopamine",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Anna Lembke"
      },
      "sideB": {
        "modality": "text",
        "value": "Called the smartphone the modern hypodermic needle delivering digital dopamine"
      },
      "tags": [
        "history",
        "neuroscience"
      ],
      "uid": "1eu7oxb18wlmkd"
    },
    {
      "id": "sa-def-infinite-scroll",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Infinite scroll"
      },
      "definition": {
        "modality": "text",
        "value": "A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006."
      },
      "tags": [
        "history",
        "design-patterns",
        "vocabulary"
      ],
      "curatedDistractors": [
        "Progressive disclosure",
        "Dark pattern",
        "Doherty Threshold"
      ],
      "uid": "1kc09fv1s62d4x"
    },
    {
      "id": "sa-pair-raskin-infinite-scroll",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Aza Raskin"
      },
      "sideB": {
        "modality": "text",
        "value": "Patented the infinite scroll in 2006"
      },
      "tags": [
        "history",
        "design-patterns"
      ],
      "uid": "ltm3bvzwbjsh"
    },
    {
      "id": "sa-cmp-bookmark-vs-push",
      "shape": "comparison",
      "prompt": "Which became the primary re-engagement mechanism in the mobile era?",
      "correct": {
        "caption": "The push notification — the app reaches out to you",
        "imageSearchTerm": "smartphone push notification",
        "imagePrompt": "Photorealistic close-up of a smartphone lock screen showing a single push notification banner sliding in from the top, soft ambient lighting, hand holding the phone, shallow depth of field, modern and clean"
      },
      "incorrect": {
        "caption": "The browser bookmark — you have to choose to return",
        "imageSearchTerm": "web browser bookmarks bar",
        "imagePrompt": "Photorealistic screenshot-style image of a desktop web browser bookmarks toolbar with several saved site icons, neutral office lighting, slightly dated early-2000s aesthetic"
      },
      "explanation": "Push notifications replaced the browser bookmark as the primary re-engagement channel. A bookmark waits for you to act; a notification reaches out and prompts you — the app initiates the loop.",
      "tags": [
        "history",
        "design-patterns"
      ],
      "uid": "165bg4hqlm8c7"
    },
    {
      "id": "sa-fact-hooked-book",
      "shape": "fact",
      "title": "Hooked",
      "body": "Nir Eyal's 2014 book *Hooked: How to Build Habit-Forming Products* synthesized the field's practitioner knowledge into the **Hook Model** (Trigger → Action → Variable Reward → Investment) — which became the dominant framework for teams at Snapchat, Instagram, Twitter, and beyond.",
      "tags": [
        "history",
        "frameworks"
      ],
      "studyGuideAnchor": "hooked",
      "curatedDistractors": [
        "BJ Fogg",
        "Aza Raskin",
        "Anna Lembke"
      ],
      "illustration": {
        "imageSearchTerm": "Hooked",
        "imagePrompt": "Hooked. Nir Eyal's 2014 book *Hooked: How to Build Habit-Forming Products* synthesized the field's practitioner knowledge into the **Hook Model** (Trigger → Action → Variable Reward → Inve",
        "alt": "Hooked"
      },
      "uid": "1f7a5ag1tnh6mc"
    },
    {
      "id": "sa-pair-eyal-hook-model",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Nir Eyal"
      },
      "sideB": {
        "modality": "text",
        "value": "Wrote Hooked (2014); formalized the Hook Model"
      },
      "tags": [
        "history",
        "frameworks"
      ],
      "uid": "gzw46vdwvfid"
    },
    {
      "id": "sa-mcq-hook-model-stages",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "What are the four stages of Nir Eyal's Hook Model, in order?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger → Action → Variable Reward → Investment"
        },
        {
          "modality": "text",
          "value": "Acquisition → Activation → Retention → Referral"
        },
        {
          "modality": "text",
          "value": "Motivation → Ability → Prompt → Reward"
        },
        {
          "modality": "text",
          "value": "Action → Trigger → Investment → Reward"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Hook Model loops through Trigger, Action, Variable Reward, and Investment. Motivation × Ability × Prompt is Fogg's separate B=MAP equation.",
      "tags": [
        "history",
        "frameworks"
      ],
      "uid": "12w7lenc73091"
    },
    {
      "id": "sa-fact-tiktok-fyp",
      "shape": "fact",
      "title": "The algorithm era",
      "body": "**TikTok**, launched globally in 2018, was the next leap: a **For You Page** powered by a reinforcement-learning algorithm that infers preferences from watch time, completions, and skips — signals users aren't even aware of. It optimized not for what you liked, but for what you couldn't stop watching.",
      "tags": [
        "history",
        "algorithm"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "An algorithm tuned for what you can't stop watching.",
      "illustration": {
        "imagePrompt": "A hand holding a smartphone scrolling through a vertical video feed.",
        "imageSearchTerm": "smartphone vertical video feed",
        "alt": "Hands holding a phone showing a vertical video",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Jolla_phone_white_back_01.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-tiktok-fyp.webp"
      },
      "studyGuideAnchor": "the-algorithm-era",
      "uid": "1ksv6vw1trjy4w"
    },
    {
      "id": "sa-def-for-you-page",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "For You Page (FYP)"
      },
      "definition": {
        "modality": "text",
        "value": "TikTok's main feed, driven by a reinforcement-learning algorithm that infers preferences from watch time, completions, and skips to optimize for what a user can't stop watching."
      },
      "tags": [
        "history",
        "algorithm",
        "vocabulary"
      ],
      "uid": "12h0bal127w7sr"
    },
    {
      "id": "sa-num-iphone-launch",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year the iPhone launched"
      },
      "value": 2007,
      "unit": "year",
      "tags": [
        "history",
        "frameworks"
      ],
      "uid": "x7d3ag171z5mg"
    },
    {
      "id": "sa-num-app-store-launch",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year the App Store opened"
      },
      "value": 2008,
      "unit": "year",
      "tags": [
        "history",
        "frameworks"
      ],
      "uid": "1739qcb17rtgkx"
    },
    {
      "id": "sa-num-hooked-published",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year Nir Eyal published Hooked"
      },
      "value": 2014,
      "unit": "year",
      "tags": [
        "history",
        "frameworks"
      ],
      "uid": "1dauiq6do95ai"
    },
    {
      "id": "sa-num-tiktok-global",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Year TikTok launched globally"
      },
      "value": 2018,
      "unit": "year",
      "tags": [
        "history",
        "algorithm"
      ],
      "uid": "6lzpgee73o1u"
    },
    {
      "id": "sa-num-gatech-study-cost",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Budget of Georgia Tech's study auditing TikTok's algorithm"
      },
      "value": 1700000,
      "unit": "USD",
      "tags": [
        "history",
        "algorithm"
      ],
      "uid": "ujpniw1dufeqg"
    },
    {
      "id": "sa-concept-fogg",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "BJ Fogg",
      "clues": [
        "A Stanford researcher who, in the 1990s, proved computers could deliberately change human attitudes and behavior.",
        "He coined a term for the study of computers as persuasive technologies and founded a Stanford lab to pursue it.",
        "His model — Behavior = Motivation × Ability × Prompt — became the product-design bible of the mobile era."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of behavior scientist BJ Fogg, smiling, outdoors",
        "imageSearchTerm": "BJ Fogg portrait",
        "alt": "Portrait of behavior scientist BJ Fogg",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Bj_sam_music.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-fogg.webp"
      },
      "uid": "1cgl3wj155577h"
    },
    {
      "id": "sa-concept-eyal",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Nir Eyal",
      "clues": [
        "A product-design writer who distilled the industry's habit-forming techniques into one practitioner framework.",
        "His 2014 book taught teams at Snapchat, Instagram, and Twitter to build products people return to instinctively.",
        "His four-stage loop runs Trigger, Action, Variable Reward, and Investment."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of author Nir Eyal presenting on stage",
        "imageSearchTerm": "Nir Eyal speaking",
        "alt": "Author Nir Eyal speaking on stage",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:The_funeral_of_the_martyred_defender_of_the_homeland_Mohammad_Reza_Norouzi_in_the_city_of_Nir_1_Mehr.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-eyal.webp"
      },
      "uid": "3x05r97vf2d"
    },
    {
      "id": "sa-concept-skinner",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "B.F. Skinner",
      "clues": [
        "A mid-20th-century behaviorist whose rat experiments remain the most cited research in product design.",
        "He showed that rewarding a behavior on an unpredictable schedule makes it far more frequent and persistent.",
        "His lever-pressing rats on a variable-ratio schedule are the blueprint for the slot machine and the notification."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Black-and-white portrait of psychologist B.F. Skinner in glasses",
        "imageSearchTerm": "B.F. Skinner portrait",
        "alt": "Portrait of psychologist B.F. Skinner",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:B.F._Saul_Building.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-skinner.webp"
      },
      "uid": "1cpih5uvqtpr2"
    },
    {
      "id": "sa-concept-berridge",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Kent Berridge",
      "clues": [
        "A neuroscientist who overturned the popular idea that one brain chemical is simply about pleasure.",
        "He separated 'wanting' — seeking and motivation — from 'liking' — satisfaction — as two distinct neural systems.",
        "His work explains why scrolling a feed stays compulsive even when the content barely satisfies."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1wt0bl41sfzvi4"
    },
    {
      "id": "sa-concept-schultz",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Wolfram Schultz",
      "clues": [
        "A neuroscientist who mapped how dopamine neurons respond to rewards versus expectations.",
        "He described the signal that fires when an outcome beats expectations and is suppressed when it falls short.",
        "That 'reward prediction error' in the ventral tegmental area is driven by uncertainty, not certainty."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1js6xdoc2oqcc"
    },
    {
      "id": "sa-concept-kahneman",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Daniel Kahneman",
      "clues": [
        "A psychologist who won a Nobel Prize in economics for his work on human judgment and decision-making.",
        "With his collaborator Amos Tversky, he showed people weigh losses far more heavily than equivalent gains.",
        "Their Prospect Theory is the engine behind the streak: breaking it hurts more than keeping it ever helped."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of psychologist and Nobel laureate Daniel Kahneman",
        "imageSearchTerm": "Daniel Kahneman portrait",
        "alt": "Portrait of psychologist Daniel Kahneman",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Casanaves_DOudoux_C09841.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-kahneman.webp"
      },
      "uid": "7jz2i51um8bi7"
    },
    {
      "id": "sa-concept-csikszentmihalyi",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Mihaly Csikszentmihalyi",
      "clues": [
        "A Hungarian-American psychologist and a founder of positive psychology.",
        "He described the state of total absorption that appears when a task's challenge matches the user's skill.",
        "Apps chase his 'channel' with dynamic difficulty — too easy bores, too hard breeds anxiety."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of psychologist Mihaly Csikszentmihalyi, white beard",
        "imageSearchTerm": "Mihaly Csikszentmihalyi portrait",
        "alt": "Portrait of psychologist Mihaly Csikszentmihalyi",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-concept-csikszentmihalyi.jpg",
        "credit": "Wikimedia Commons (Wikipedia: Mihaly Csikszentmihalyi)",
        "creditUrl": "https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi"
      },
      "uid": "lydn9i14wdalq"
    },
    {
      "id": "sa-concept-chou",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Yu-kai Chou",
      "clues": [
        "A gamification designer who argues points and badges are only the shallow surface of motivation.",
        "He cataloged eight 'Core Drives' behind human behavior, from Epic Meaning to Ownership.",
        "His framework, named for its eight-sided shape, says durable apps engage several drives at once."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of gamification designer Yu-kai Chou presenting on stage",
        "imageSearchTerm": "Yu-kai Chou speaking",
        "alt": "Gamification designer Yu-kai Chou speaking",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:%E9%BB%83%E9%83%81%E8%B1%882023%E9%AB%98%E9%9B%84%E7%BE%BD%E7%90%83%E5%A4%A7%E5%B8%AB%E8%B3%BD.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-chou.webp"
      },
      "uid": "gk37mi5e2bka"
    },
    {
      "id": "sa-concept-raskin",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Aza Raskin",
      "clues": [
        "An interface designer who later became a prominent critic of the attention economy he helped build.",
        "In 2006 he created a design feature that removed the natural stopping point from digital consumption.",
        "His invention — the bottomless feed — keeps content loading so a session never has to end."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of designer and technologist Aza Raskin presenting on stage",
        "imageSearchTerm": "Aza Raskin speaking",
        "alt": "Designer Aza Raskin speaking on stage",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Aza_Declercq.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-raskin.webp"
      },
      "uid": "1adgiuq1n2yvym"
    },
    {
      "id": "sa-concept-lembke",
      "shape": "concept",
      "conceptKind": "person",
      "tags": [
        "key-concept",
        "person",
        "figure"
      ],
      "name": "Anna Lembke",
      "clues": [
        "A Stanford psychiatrist who studies addiction and modern compulsion.",
        "She calls the smartphone 'the modern-day hypodermic needle,' delivering its reward to a wired generation.",
        "Her book frames our constant scrolling as a problem of 'digital dopamine' and overconsumption."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Photograph of psychiatrist Anna Lembke speaking at a podium",
        "imageSearchTerm": "Anna Lembke speaking",
        "alt": "Psychiatrist Anna Lembke at a podium",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-concept-lembke.jpg",
        "credit": "Wikimedia Commons (Wikipedia: Anna Lembke)",
        "creditUrl": "https://en.wikipedia.org/wiki/Anna_Lembke"
      },
      "uid": "1mxspz989bl03"
    },
    {
      "id": "sa-concept-hook-model",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Hook Model",
      "clues": [
        "A practitioner framework from a 2014 book, now standard at the major social apps.",
        "It describes a four-stage loop that converts first-time users into habitual ones.",
        "Its stages run Trigger, Action, Variable Reward, and Investment."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn flow diagram of Nir Eyal's Hook Model: Trigger → Action → Variable Reward → Investment, looping back",
        "imageSearchTerm": "Hook Model loop diagram",
        "alt": "Diagram of the Hook Model loop: Trigger, Action, Variable Reward, Investment",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-hook-model.svg"
      },
      "uid": "13tmgkh141jv9b"
    },
    {
      "id": "sa-concept-bmap",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Fogg Behavior Model (B=MAP)",
      "clues": [
        "A formula, from a Stanford researcher, for when a behavior will actually happen.",
        "It says three ingredients must converge at the same moment for an action to occur.",
        "Written B = M × A × P, it multiplies Motivation, Ability, and a Prompt."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn diagram of the Fogg Behavior Model showing Motivation, Ability, and Prompt converging on Behavior",
        "imageSearchTerm": "Fogg behavior model diagram",
        "alt": "Diagram of the Fogg Behavior Model: Motivation, Ability and Prompt converge to produce Behavior",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-bmap.svg"
      },
      "uid": "e9v4x1cav9hf"
    },
    {
      "id": "sa-concept-variable-ratio",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "Variable-Ratio Reinforcement",
      "clues": [
        "A reinforcement schedule first studied in mid-century rat experiments.",
        "It delivers a reward only after an unpredictable number of actions.",
        "It produces the highest, most extinction-resistant response rates — the slot-machine pattern."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Labeled diagram of a Skinner box: response lever, food dispenser, lights, electrified grid",
        "imageSearchTerm": "Skinner box operant conditioning diagram",
        "alt": "Labeled diagram of a Skinner box operant conditioning chamber",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-concept-variable-ratio.jpg",
        "credit": "Wikimedia Commons (Wikipedia: Reinforcement)",
        "creditUrl": "https://en.wikipedia.org/wiki/Reinforcement"
      },
      "uid": "1cy8knrmw0u8x"
    },
    {
      "id": "sa-concept-loss-aversion",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "Loss Aversion",
      "clues": [
        "A principle from Prospect Theory about how people value gains and losses unequally.",
        "Losing something feels roughly twice as powerful as gaining the same thing.",
        "It is the psychology that makes breaking a 100-day streak feel devastating."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Graph of the Prospect Theory value function, steeper for losses than gains",
        "imageSearchTerm": "loss aversion value function graph",
        "alt": "The Prospect Theory value function showing loss aversion",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Cultural_Loss_term_frequency.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-loss-aversion.webp"
      },
      "uid": "b8qquw6qa5sg"
    },
    {
      "id": "sa-concept-zeigarnik",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Zeigarnik Effect",
      "clues": [
        "A memory phenomenon weaponized by progress bars left stuck at 95%.",
        "People remember and are pulled back toward incomplete tasks more than finished ones.",
        "Apps open a loop — 'just 2 more cards' — then fire a notification to close it."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn flow of the Zeigarnik effect: unfinished task at 95% → open loop → notification → user returns",
        "imageSearchTerm": "Zeigarnik effect open loop diagram",
        "alt": "Diagram of the Zeigarnik effect: an unfinished task pulls the user back to close the loop",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-zeigarnik.svg"
      },
      "uid": "1jtsnqf16jwc9d"
    },
    {
      "id": "sa-concept-network-effect",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "Network Effects",
      "clues": [
        "A property that makes a product more valuable to each user as more people join it.",
        "Metcalfe's Law models its value as scaling with the square of the user count.",
        "It is the moat behind Facebook's six concentric 'walls' of defensibility."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Diagram of telephones connected into a network, illustrating value scaling with users",
        "imageSearchTerm": "network effect diagram",
        "alt": "Diagram of connected nodes illustrating the network effect",
        "credit": "Unsplash · GuerrillaBuzz · Unsplash License",
        "creditUrl": "https://unsplash.com/photos/network-of-interconnected-cubes-and-lines-7hA2wqBcSF8",
        "subject": "3D render of dark-red cubes inside wireframe cages joined by teal lines into a dense central cluster, with several outlying cube nodes linked in from the edges, on a blue gradient background",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-network-effect.webp"
      },
      "uid": "hnb7dtoj40df"
    },
    {
      "id": "sa-concept-kfactor",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The K-Factor (Viral Coefficient)",
      "clues": [
        "A single number that measures how virally a product grows.",
        "It equals the invitations sent per user times the conversion rate of those invitations.",
        "Above 1, growth becomes exponential and self-sustaining."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn flow of the viral K-factor: one user sends i invitations × c conversion = K new users",
        "imageSearchTerm": "K-factor viral coefficient diagram",
        "alt": "Diagram of the K-factor: a user's invitations times conversion rate, K = i × c",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-kfactor.svg"
      },
      "uid": "18dkw6l1fg3lsn"
    },
    {
      "id": "sa-concept-octalysis",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Octalysis Framework",
      "clues": [
        "A gamification model built around an eight-sided diagram.",
        "Each side is one of eight 'Core Drives' of human motivation, such as Epic Meaning.",
        "It argues the stickiest apps engage several of those drives at the same time."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn mindmap of Yu-kai Chou's Octalysis framework with eight Core Drives around a center",
        "imageSearchTerm": "Octalysis eight core drives",
        "alt": "Diagram of the eight Core Drives of the Octalysis gamification framework",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-octalysis.svg"
      },
      "uid": "1fs0fkkxtzaik"
    },
    {
      "id": "sa-concept-goal-gradient",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Goal Gradient Effect",
      "clues": [
        "A behavioral pattern about effort and proximity to a reward.",
        "People accelerate as they get closer to a finish line or milestone.",
        "It's why a punch card with two pre-stamped holes outperforms a blank one."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn flow of the goal gradient effect: effort accelerates as the user nears a reward",
        "imageSearchTerm": "goal gradient effect diagram",
        "alt": "Diagram of the goal gradient effect: effort accelerates approaching a reward",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-goal-gradient.svg"
      },
      "uid": "105ksze1grzlq"
    },
    {
      "id": "sa-concept-dmn",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "key-concept",
        "thing",
        "framework"
      ],
      "name": "The Default Mode Network",
      "clues": [
        "A brain network that takes over during easy, habitual, mind-wandering activity.",
        "When it dominates, the prefrontal cortex's top-down executive control goes offline.",
        "Users call it 'zoning out' — and it is the state infinite scroll is designed to induce."
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "imagePrompt": "Brain MRI scans with highlighted regions showing the default mode network",
        "imageSearchTerm": "default mode network brain scan",
        "alt": "Brain scans highlighting the Default Mode Network",
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Credit_default_swaps_by_quality_size_coloured_sp_percent_years.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-concept-dmn.webp"
      },
      "uid": "idr90z173kn1p"
    },
    {
      "id": "sa-def-dopamine",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Dopamine"
      },
      "definition": {
        "modality": "text",
        "value": "The neurochemical that governs wanting and seeking — not liking or satisfaction. It is released during the anticipation of a reward, which is why scrolling stays compulsive even when the content barely satisfies."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "dopamine"
      ],
      "uid": "1a30vcz1bhti81"
    },
    {
      "id": "sa-def-reward-prediction-error",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Reward Prediction Error (RPE)"
      },
      "definition": {
        "modality": "text",
        "value": "The mechanism, first described by Wolfram Schultz, in which dopamine fires strongly in the VTA when an outcome exceeds expectations and is suppressed when it falls below — meaning the system runs on uncertainty, not certainty."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "reward-prediction-error"
      ],
      "uid": "zl9dut1ktyh2j"
    },
    {
      "id": "sa-def-variable-ratio-reinforcement",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Variable-ratio reinforcement"
      },
      "definition": {
        "modality": "text",
        "value": "An operant schedule, from B.F. Skinner's rat experiments, where rewards arrive after an unpredictable number of actions. It produces the highest response rates and the greatest resistance to extinction — the slot-machine model behind infinite scroll."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "variable-ratio"
      ],
      "uid": "1jjid48mjml10"
    },
    {
      "id": "sa-def-default-mode-network",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Default Mode Network (DMN)"
      },
      "definition": {
        "modality": "text",
        "value": "The brain network associated with mind-wandering and self-referential thought. When scrolling becomes habitual and easy, the DMN dominates and prefrontal executive control goes offline — users describe it as 'zoning out.'"
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "default-mode-network"
      ],
      "uid": "vzdjxv1q1hn9l"
    },
    {
      "id": "sa-def-loss-aversion",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Loss aversion"
      },
      "definition": {
        "modality": "text",
        "value": "From Kahneman and Tversky's Prospect Theory: losses feel roughly twice as psychologically powerful as equivalent gains. It is the engine behind streaks — breaking one triggers pain disproportionate to what was actually lost."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "loss-aversion"
      ],
      "uid": "t9u8rdjdjh9"
    },
    {
      "id": "sa-def-endowment-effect",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Endowment effect"
      },
      "definition": {
        "modality": "text",
        "value": "The tendency to value something more highly simply because you own it. Investment inside an app (data, content, reputation) activates this effect, making the product feel more valuable and raising switching costs."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "endowment-effect"
      ],
      "uid": "be0ntp1htewdj"
    },
    {
      "id": "sa-def-sunk-cost-fallacy",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Sunk cost fallacy"
      },
      "definition": {
        "modality": "text",
        "value": "The bias to keep investing in something because of what you have already put in, even when quitting would be rational. A 100-day streak is accumulated sunk cost; abandoning it feels like wasting the prior effort."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "sunk-cost"
      ],
      "uid": "j8uegq1lbmauy"
    },
    {
      "id": "sa-def-zeigarnik-effect",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Zeigarnik effect"
      },
      "definition": {
        "modality": "text",
        "value": "The finding that people remember and are drawn back to incomplete tasks more strongly than completed ones. Apps weaponize it with progress bars stuck at 95%, '2 more cards' prompts, and chapters that unlock but don't let you start."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "zeigarnik-effect"
      ],
      "uid": "1xvrwewvpcbiw"
    },
    {
      "id": "sa-def-flow-state",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Flow state"
      },
      "definition": {
        "modality": "text",
        "value": "Mihaly Csikszentmihalyi's channel of optimal engagement where challenge matches skill. Too easy breeds boredom; too hard breeds anxiety; both drive churn. The design goal is to keep users inside the flow channel."
      },
      "tags": [
        "vocabulary",
        "neuroscience",
        "flow"
      ],
      "uid": "6wutjy1n4quyi"
    },
    {
      "id": "sa-def-goal-gradient-effect",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Goal gradient effect"
      },
      "definition": {
        "modality": "text",
        "value": "The tendency to accelerate effort as you approach a milestone. It explains why a punch card with 2 of 10 holes pre-stamped outperforms a blank one, and why progress maps lift completion near checkpoints — always show how close the next reward is."
      },
      "tags": [
        "vocabulary",
        "gamification",
        "goal-gradient"
      ],
      "uid": "tkak3s1gmaqgs"
    },
    {
      "id": "sa-cmp-wanting-liking",
      "shape": "comparison",
      "prompt": "Which describes the dopamine system as Berridge actually defined it?",
      "correct": {
        "caption": "Wanting: the urge to seek and chase the next reward",
        "imageSearchTerm": "hand reaching phone notification",
        "imagePrompt": "Photograph of a hand eagerly reaching toward a glowing phone notification in dim light, tense anticipation, fingers outstretched, cinematic, shallow depth of field, conveying craving and pursuit rather than satisfaction"
      },
      "incorrect": {
        "caption": "Liking: the calm pleasure of actually enjoying a reward",
        "imageSearchTerm": "relaxed content person",
        "imagePrompt": "Photograph of a person leaning back with a serene satisfied smile, eyes closed, warm soft light, relaxed shoulders, conveying contentment and enjoyment after a reward is received"
      },
      "explanation": "Dopamine drives wanting/seeking — the chase — not liking. Liking is a separate neurochemical system, which is why a feed can keep you craving without ever satisfying you.",
      "tags": [
        "vocabulary",
        "neuroscience",
        "dopamine"
      ],
      "uid": "1o48ffj1wbcxup"
    },
    {
      "id": "sa-def-fogg-behavior-model",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Fogg Behavior Model (B = MAP)"
      },
      "definition": {
        "modality": "text",
        "value": "BJ Fogg's formula stating that Behavior = Motivation × Ability × Prompt. A behavior occurs only when motivation, ability, and a prompt converge at the same moment — encoding friction reduction into a single equation."
      },
      "tags": [
        "vocabulary",
        "frameworks",
        "fogg-model"
      ],
      "uid": "p56j6o11hu0c8"
    },
    {
      "id": "sa-def-hook-model",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Hook Model"
      },
      "definition": {
        "modality": "text",
        "value": "Nir Eyal's four-stage habit loop from his 2014 book Hooked: Trigger → Action → Variable Reward → Investment. Each pass through the loop makes the product harder to leave and more likely to be opened again."
      },
      "tags": [
        "vocabulary",
        "frameworks",
        "hook-model"
      ],
      "uid": "17iiuj2mnlmea"
    },
    {
      "id": "sa-def-trigger",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Trigger"
      },
      "definition": {
        "modality": "text",
        "value": "The cue that starts a Hook loop. External triggers are notifications, emails, and badges; internal triggers are emotions like boredom or loneliness. The goal is to graduate users from external to internal triggers over time."
      },
      "tags": [
        "vocabulary",
        "frameworks",
        "trigger"
      ],
      "uid": "7jvdgb16vx5vx"
    },
    {
      "id": "sa-def-variable-reward",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Variable reward"
      },
      "definition": {
        "modality": "text",
        "value": "The third Hook stage: an unpredictable payoff of the tribe (social validation), the hunt (information), or the self (mastery). Variability is essential — predictable rewards habituate and lose their pull."
      },
      "tags": [
        "vocabulary",
        "frameworks",
        "variable-reward"
      ],
      "uid": "prh4w41kd3ac8"
    },
    {
      "id": "sa-def-investment-hook",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Investment (Hook)"
      },
      "definition": {
        "modality": "text",
        "value": "The fourth Hook stage: users put something into the product — data, content, social connections, reputation. Investment makes the product more valuable on the next use and raises switching costs via the endowment effect, which makes it retention's most durable mechanism: everything a user builds inside the app raises the cost of leaving."
      },
      "tags": [
        "vocabulary",
        "frameworks",
        "investment",
        "retention"
      ],
      "uid": "bnbusrrvxbid"
    },
    {
      "id": "sa-def-pbl",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "PBL (Points, Badges, Leaderboards)"
      },
      "definition": {
        "modality": "text",
        "value": "The surface layer of gamification: visible, legible reward elements that are also easy to habituate to. Durable engagement requires deeper mechanics at the level of narrative, identity, and social positioning."
      },
      "tags": [
        "vocabulary",
        "gamification",
        "pbl"
      ],
      "uid": "d27a11d8dky7"
    },
    {
      "id": "sa-def-octalysis",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Octalysis"
      },
      "definition": {
        "modality": "text",
        "value": "Yu-kai Chou's framework identifying eight Core Drives that motivate behavior — from Epic Meaning to Ownership to Social Influence. The most durable apps engage multiple core drives at once."
      },
      "tags": [
        "vocabulary",
        "gamification",
        "octalysis"
      ],
      "uid": "yehodx1cahno7"
    },
    {
      "id": "sa-def-streak-freeze",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Streak Freeze"
      },
      "definition": {
        "modality": "text",
        "value": "A purchasable or earnable item that protects a streak during an absence. It converts the streak from a source of attrition-driving anxiety into a resource-management meta-game that deepens investment."
      },
      "tags": [
        "vocabulary",
        "gamification",
        "streak-freeze"
      ],
      "uid": "xevsvm1wh4qjm"
    },
    {
      "id": "sa-def-dynamic-difficulty-adjustment",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Dynamic Difficulty Adjustment (DDA)"
      },
      "definition": {
        "modality": "text",
        "value": "Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel. Duolingo tests how quickly users learn sections and adjusts course structure accordingly."
      },
      "tags": [
        "vocabulary",
        "gamification",
        "dynamic-difficulty"
      ],
      "uid": "c2h7bw186rhlk"
    },
    {
      "id": "sa-def-doherty-threshold",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Doherty Threshold"
      },
      "definition": {
        "modality": "text",
        "value": "The sub-400ms response time below which a system feels instantaneous and keeps a user productively engaged. A tight core loop should provide feedback under this threshold."
      },
      "tags": [
        "vocabulary",
        "design-patterns",
        "doherty-threshold"
      ],
      "uid": "1512vi14vixea"
    },
    {
      "id": "sa-def-network-effect",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Network effect"
      },
      "definition": {
        "modality": "text",
        "value": "The dynamic where a product becomes more valuable to each user as more people use it. Effects can be direct (more users helps you) or indirect (more users improves the content or infrastructure you rely on)."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "network-effect"
      ],
      "uid": "1mfy3e6fy7q3i"
    },
    {
      "id": "sa-def-metcalfes-law",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Metcalfe's Law"
      },
      "definition": {
        "modality": "text",
        "value": "A model stating that a network's value scales with the square of its number of users (n²). Real-world dynamics are more nuanced, since not every connection is equally valuable."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "metcalfes-law"
      ],
      "uid": "1cvpwe5dcn09z"
    },
    {
      "id": "sa-def-social-graph",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Social graph"
      },
      "definition": {
        "modality": "text",
        "value": "A map of real-world, identity-based relationships — who you know. Facebook's early dominance was built on the social graph, which made the platform uniquely defensible and is hard for rivals to replicate."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "social-graph"
      ],
      "uid": "s5u3dq1b3fak2"
    },
    {
      "id": "sa-def-interest-graph",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Interest graph"
      },
      "definition": {
        "modality": "text",
        "value": "A machine-curated map of what you are drawn to rather than who you know. TikTok's For You Page replaced the social graph with an interest graph, letting a follower-less user get viral distribution in 24 hours."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "interest-graph"
      ],
      "uid": "1sw75nfr73el1"
    },
    {
      "id": "sa-cmp-social-interest-graph",
      "shape": "comparison",
      "prompt": "Which platform's distribution rests primarily on an interest graph?",
      "correct": {
        "caption": "TikTok: a machine-curated feed of what you can't stop watching",
        "imageSearchTerm": "phone short video feed",
        "imagePrompt": "Photograph of a phone held vertically showing a full-screen short video feed, finger mid-swipe, glowing screen in a dim room, conveying algorithmic content discovery driven by watch behavior rather than friendships"
      },
      "incorrect": {
        "caption": "Facebook: a feed built on your real-world friend connections",
        "imageSearchTerm": "friends group photo network",
        "imagePrompt": "Photograph of a cluster of friends laughing together at a gathering, warm light, several faces connected in conversation, conveying identity-based real-world relationships and a human social graph"
      },
      "explanation": "TikTok's For You Page is built on an interest graph (what you watch). Facebook is built on a social graph (who you know). Interest graphs solve the cold-start problem; social graphs build switching costs.",
      "tags": [
        "vocabulary",
        "network-effects",
        "interest-graph"
      ],
      "uid": "jy1q981603tm0"
    },
    {
      "id": "sa-def-fomo",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "FOMO (Fear of Missing Out)"
      },
      "definition": {
        "modality": "text",
        "value": "Anxiety driven not by missing content but by the social consequences of missed bonding opportunities. Instagram Stories' 24-hour expiry works because it imposes a social cost for non-participation."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "fomo"
      ],
      "uid": "5ipvgzm6pehd"
    },
    {
      "id": "sa-def-parasocial-bond",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Parasocial bond"
      },
      "definition": {
        "modality": "text",
        "value": "An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint."
      },
      "tags": [
        "vocabulary",
        "network-effects",
        "parasocial"
      ],
      "uid": "508j4c1gbjz48"
    },
    {
      "id": "sa-def-viral-coefficient",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Viral coefficient (K-factor)"
      },
      "definition": {
        "modality": "text",
        "value": "A measure of how many new users each existing user generates, calculated as K = i × c (invitations sent × conversion rate). K greater than 1 means exponential, self-sustaining growth."
      },
      "tags": [
        "vocabulary",
        "growth",
        "k-factor"
      ],
      "uid": "1dzjp401967acc"
    },
    {
      "id": "sa-def-viral-loop",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Viral loop"
      },
      "definition": {
        "modality": "text",
        "value": "A growth loop in which users naturally recruit others through sharing, invitations, or social artifacts. It works best when sharing is intrinsic to the core value loop, not a bolted-on 'Share' button."
      },
      "tags": [
        "vocabulary",
        "growth",
        "viral-loop"
      ],
      "uid": "1bod18f3jtia5"
    },
    {
      "id": "sa-def-shareable-artifact",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Shareable artifact"
      },
      "definition": {
        "modality": "text",
        "value": "Content a user wants to share because it reflects well on them — Spotify Wrapped, a 'Top 1% of learners' badge. The user is promoting themselves, not the app; the app is merely the medium."
      },
      "tags": [
        "vocabulary",
        "growth",
        "shareable-artifact"
      ],
      "uid": "1jmlfg1598p74"
    },
    {
      "id": "sa-def-referral-program",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Referral program"
      },
      "definition": {
        "modality": "text",
        "value": "An invite mechanic for acquisition. Double-sided versions, where both referrer and new user get value, outperform single-sided ones by exploiting reciprocity norms — as in Uber's early 'give a ride, get a ride.'"
      },
      "tags": [
        "vocabulary",
        "growth",
        "referral"
      ],
      "uid": "1iyv14t1qneha7"
    },
    {
      "id": "sa-cmp-viral-loop-content-loop",
      "shape": "comparison",
      "prompt": "Which growth loop turns user activity into App Store visibility and free organic installs?",
      "correct": {
        "caption": "Content/ASO loop: reviews and UGC lift store ranking, driving more installs",
        "imageSearchTerm": "app store rankings phone",
        "imagePrompt": "Photograph of a phone showing an app store listing with star ratings and reviews, clean bright interface, conveying organic discovery and ranking driven by accumulated user-generated content and reviews"
      },
      "incorrect": {
        "caption": "Viral loop: users directly recruit others through invitations and sharing",
        "imageSearchTerm": "sharing invite friends phone",
        "imagePrompt": "Photograph of two people sharing a phone screen, one showing the other an app to install, warm casual setting, conveying person-to-person invitation and direct recruitment rather than store-driven discovery"
      },
      "explanation": "The content/ASO loop compounds through reviews and UGC that raise store ranking. The viral loop is direct person-to-person recruitment. Both differ from the paid loop, which funds installs with ad spend.",
      "tags": [
        "vocabulary",
        "growth",
        "growth-loops"
      ],
      "uid": "1m3y2281o3iej0"
    },
    {
      "id": "sa-def-aha-moment",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Aha Moment"
      },
      "definition": {
        "modality": "text",
        "value": "The instant an app's core value becomes emotionally real — feeling the value, not finishing a tutorial. Facebook's was '7 friends in 10 days'; Twitter's was following 30 accounts. Onboarding should deliver every user here fast."
      },
      "tags": [
        "vocabulary",
        "retention",
        "aha-moment"
      ],
      "uid": "h9yg5pryz3zv"
    },
    {
      "id": "sa-def-push-notification",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Push notification"
      },
      "definition": {
        "modality": "text",
        "value": "The primary channel for reactivating users who have left the habit loop. The most effective ones are contextually timed, personalized to the user's state, and carry a curiosity or FOMO gap."
      },
      "tags": [
        "vocabulary",
        "retention",
        "push-notification"
      ],
      "uid": "1s248s760m9yd"
    },
    {
      "id": "sa-def-cohort-analysis",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Cohort analysis"
      },
      "definition": {
        "modality": "text",
        "value": "Tracking the percentage of users from a given install cohort who return on Day 1, 7, 30, and 90. It is also how teams identify the Aha Moment — the early actions that correlate with long-term retention."
      },
      "tags": [
        "vocabulary",
        "retention",
        "cohort-analysis"
      ],
      "uid": "4rebgskzn15k"
    },
    {
      "id": "sa-def-dau-mau-ratio",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "DAU/MAU ratio"
      },
      "definition": {
        "modality": "text",
        "value": "Daily active users as a share of monthly active users — a measure of how habitually people return. Industry average sits well below 20%; Duolingo reached 36%."
      },
      "tags": [
        "vocabulary",
        "retention",
        "dau-mau"
      ],
      "uid": "m1exjt1q6gy77"
    },
    {
      "id": "sa-def-cac",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "CAC (Customer Acquisition Cost)"
      },
      "definition": {
        "modality": "text",
        "value": "The cost to acquire one new user. A K-factor above 1 lowers CAC because users recruit each other; Duolingo's CAC fell from roughly $41 at IPO to about $33 as its base became more self-referencing."
      },
      "tags": [
        "vocabulary",
        "retention",
        "cac"
      ],
      "uid": "jgw2p71mfn8zx"
    },
    {
      "id": "sa-def-ltv",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "LTV (Lifetime Value)"
      },
      "definition": {
        "modality": "text",
        "value": "The total value a user generates over their lifetime. A 5% improvement in retention can raise LTV by 25–95%, making retention far more capital-efficient than paid acquisition. Paid loops are sustainable only when LTV greatly exceeds CAC."
      },
      "tags": [
        "vocabulary",
        "retention",
        "ltv"
      ],
      "uid": "lo844oexx5m0"
    },
    {
      "id": "sa-def-churn",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Churn"
      },
      "definition": {
        "modality": "text",
        "value": "The loss of users over time. Roughly 80% of users stop using an app after the third day post-install, which is why the onboarding-to-Aha pipeline is the highest-leverage place to fight churn."
      },
      "tags": [
        "vocabulary",
        "retention",
        "churn"
      ],
      "uid": "zykc8m1ixexb6"
    },
    {
      "id": "sa-def-dark-pattern",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Dark pattern"
      },
      "definition": {
        "modality": "text",
        "value": "A manipulative design that works against the user's own goals — shaming language ('No, I don't want to be smart'), impossible cancellation flows, manufactured scarcity. Dark patterns destroy long-term trust."
      },
      "tags": [
        "vocabulary",
        "design-patterns",
        "dark-pattern"
      ],
      "uid": "9z15cuoji7n2"
    },
    {
      "id": "sa-def-progressive-disclosure",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Progressive disclosure"
      },
      "definition": {
        "modality": "text",
        "value": "An onboarding principle of revealing complexity gradually rather than exposing every feature at once, so new users aren't overwhelmed before they reach the Aha Moment."
      },
      "tags": [
        "vocabulary",
        "design-patterns",
        "progressive-disclosure"
      ],
      "uid": "1bppfql18nrybv"
    },
    {
      "id": "sa-def-core-loop",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Core loop"
      },
      "definition": {
        "modality": "text",
        "value": "The fundamental action cycle a user repeats every session. A good one is completable in 2–5 minutes, gives feedback under the Doherty Threshold, ends with a variable reward, and sets up the next session via an open loop."
      },
      "tags": [
        "vocabulary",
        "design-patterns",
        "core-loop"
      ],
      "uid": "1xvehrt1wukmk7"
    },
    {
      "id": "sa-fact-dopamine-anticipation",
      "shape": "fact",
      "title": "Dopamine fires before the reward",
      "body": "The most common misconception in app design is that **dopamine** is the brain's *pleasure* chemical. It isn't. The brain releases dopamine during the **anticipation** of a reward, not when the reward arrives. This is why scrolling a feed stays compulsive even when the content itself barely satisfies.",
      "tags": [
        "neuroscience",
        "dopamine",
        "anticipation"
      ],
      "studyGuideAnchor": "dopamine-fires-before-the-reward",
      "illustration": {
        "imageSearchTerm": "person scrolling phone anticipation",
        "imagePrompt": "A person's face lit by their phone screen, eyes fixed intently while scrolling.",
        "alt": "Dopamine fires before the reward",
        "depictable": true,
        "credit": "Pexels · https://kaboompics.com/ · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/person-using-cellphone-6255898/",
        "subject": "Overhead shot of a person reclining on a couch, actively scrolling a grid of photos in a social-media-style feed on their phone, finger poised to tap a thumbnail — clearly depicts phone scrolling/feed browsing.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-dopamine-anticipation.webp"
      },
      "uid": "14sw5azvfrtj9"
    },
    {
      "id": "sa-fact-berridge-wanting-seeking",
      "shape": "fact",
      "title": "Wanting vs. liking",
      "body": "Neuroscientist **Kent Berridge** established that dopamine governs *wanting* and *seeking* — not *liking* and *satisfaction*. These run on two distinct neurochemical systems. An app can make you crave the next swipe without making the swipe enjoyable: the craving and the enjoyment are wired separately.",
      "tags": [
        "neuroscience",
        "dopamine",
        "wanting"
      ],
      "studyGuideAnchor": "wanting-vs-liking",
      "illustration": {
        "imageSearchTerm": "Wanting vs liking",
        "imagePrompt": "Wanting vs. liking. Neuroscientist **Kent Berridge** established that dopamine governs *wanting* and *seeking* — not *liking* and *satisfaction*. These run on two distinct neurochemical systems. An ap",
        "alt": "Wanting vs. liking"
      },
      "uid": "xge9oo1t2vybc"
    },
    {
      "id": "sa-fact-rpe-uncertainty",
      "shape": "fact",
      "title": "The brain runs on surprise",
      "body": "Under **Reward Prediction Error**, the Ventral Tegmental Area (VTA) fires hardest when an outcome *beats* expectations and goes quiet when it disappoints. The designer's takeaway: the dopamine system is driven by **uncertainty**, not certainty. A reward you can perfectly predict stops producing the signal.",
      "tags": [
        "neuroscience",
        "reward-prediction-error",
        "uncertainty"
      ],
      "studyGuideAnchor": "the-brain-runs-on-surprise",
      "illustration": {
        "imageSearchTerm": "ventral tegmental area brain",
        "imagePrompt": "An anatomical brain diagram highlighting the ventral tegmental area deep in the midbrain.",
        "alt": "The brain runs on surprise",
        "depictable": true,
        "credit": "Jtneill (Openverse) · by-sa 4.0",
        "creditUrl": "https://commons.wikimedia.org/w/index.php?curid=108521254",
        "subject": "A cropped version of the same illustration showing only the brain outline and dopamine tract with a single clean label, 'Ventral Tegmental Area', pointing directly at the correct structure — no other pathway text.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-rpe-uncertainty.webp"
      },
      "uid": "rl8aj43y52lw"
    },
    {
      "id": "sa-mcq-rpe-vta",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Under Reward Prediction Error, when does dopamine fire most strongly in the VTA?"
      },
      "options": [
        {
          "modality": "text",
          "value": "When an outcome falls below expectation"
        },
        {
          "modality": "text",
          "value": "When an outcome exceeds expectation"
        },
        {
          "modality": "text",
          "value": "Only when no reward is expected at all"
        },
        {
          "modality": "text",
          "value": "When an outcome exactly matches expectation"
        }
      ],
      "correctIndex": 1,
      "explanation": "Dopamine fires strongly when an outcome exceeds expectations, reinforcing the preceding behavior; it is suppressed when the outcome falls below expectation. The signal is driven by surprise.",
      "tags": [
        "neuroscience",
        "reward-prediction-error"
      ],
      "uid": "11d3icb34j8cp"
    },
    {
      "id": "sa-def-variable-ratio",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Variable-ratio reinforcement"
      },
      "definition": {
        "modality": "text",
        "value": "A reinforcement schedule, from B.F. Skinner's 1950s experiments, in which rewards arrive after an unpredictable number of actions. Rats on this schedule pressed the lever far more often and persistently than those on fixed schedules."
      },
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "uid": "pa1yy55jg56j"
    },
    {
      "id": "sa-fact-skinner-slot-machine",
      "shape": "fact",
      "title": "The pocket-sized Skinner box",
      "body": "B.F. Skinner's 1950s rats pressed a lever far more relentlessly when rewards came on a **variable-ratio** schedule — unpredictable payoffs — than on a fixed one. That same schedule is the slot machine, the social-media notification, the loot box, and the Snapchat streak reminder. All obey one neurobiology.",
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "studyGuideAnchor": "the-pocket-sized-skinner-box",
      "illustration": {
        "imageSearchTerm": "casino slot machine",
        "imagePrompt": "A casino slot machine with spinning reels and flashing lights.",
        "alt": "The pocket-sized Skinner box",
        "depictable": true,
        "credit": "Tristan Surtel · CC BY-SA 4.0",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Slot_machines_at_Monte_Carlo_hotel,_Las_Vegas.jpg",
        "subject": "A bright, sharp, well-framed row of casino slot machines ('Triple Double Strike' etc.) with stools and a 'Cashier' sign in the background.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-skinner-slot-machine.webp"
      },
      "uid": "qd2a7e143b0w6"
    },
    {
      "id": "sa-pair-skinner-slot-machine",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Variable-ratio reinforcement"
      },
      "sideB": {
        "modality": "text",
        "value": "The slot machine / notification model"
      },
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "uid": "1nxbqsl5uhdyz"
    },
    {
      "id": "sa-pair-dopamine-seeking",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Dopamine"
      },
      "sideB": {
        "modality": "text",
        "value": "Seeking & anticipation"
      },
      "tags": [
        "neurochemicals",
        "dopamine"
      ],
      "uid": "14glnv9o7ujsb"
    },
    {
      "id": "sa-pair-oxytocin-bonding",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Oxytocin"
      },
      "sideB": {
        "modality": "text",
        "value": "Social bonding & trust"
      },
      "tags": [
        "neurochemicals",
        "oxytocin"
      ],
      "uid": "1tpo8fw1cqm4j0"
    },
    {
      "id": "sa-pair-serotonin-status",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Serotonin"
      },
      "sideB": {
        "modality": "text",
        "value": "Status & belonging"
      },
      "tags": [
        "neurochemicals",
        "serotonin"
      ],
      "uid": "1voi31bkg4afp"
    },
    {
      "id": "sa-pair-endorphins-exertion",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Endorphins"
      },
      "sideB": {
        "modality": "text",
        "value": "Pain suppression & exertion"
      },
      "tags": [
        "neurochemicals",
        "endorphins"
      ],
      "uid": "6yz1q41b2kmng"
    },
    {
      "id": "sa-fact-four-neurochemicals",
      "shape": "fact",
      "title": "Four chemicals, four levers",
      "body": "App engagement pulls on four neurochemicals. **Dopamine** drives seeking and anticipation (variable rewards, notifications). **Oxytocin** drives social bonding and trust (peer acknowledgment, co-op features). **Serotonin** drives status and belonging (leaderboards, follower counts). **Endorphins** suppress pain and reward exertion (finishing a hard lesson or workout).",
      "tags": [
        "neurochemicals",
        "engagement"
      ],
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn mindmap of the four engagement neurochemicals and what each drives",
        "imageSearchTerm": "four neurochemicals diagram",
        "alt": "Diagram of the four engagement neurochemicals: dopamine, oxytocin, serotonin, endorphins",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-fact-four-neurochemicals.svg"
      },
      "studyGuideAnchor": "four-chemicals-four-levers",
      "uid": "13xbotp1vgfn9j"
    },
    {
      "id": "sa-fact-oxytocin-serotonin-accumbens",
      "shape": "fact",
      "title": "Why social features stick harder",
      "body": "Social interactions trigger a *coordinated* release of **oxytocin → serotonin** in the **nucleus accumbens**, the brain's reward center. That pairing is why social features produce qualitatively different — and more durable — retention than solo-use features. Bonding plus status, delivered together to the reward circuit.",
      "tags": [
        "neurochemicals",
        "oxytocin",
        "serotonin"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "Social features trigger bonding — and stick harder than solo ones.",
      "illustration": {
        "imagePrompt": "Evocative photograph for a hero card: Friends taking a selfie together",
        "imageSearchTerm": "friends selfie social",
        "alt": "Friends taking a selfie together",
        "credit": "Pexels · Vitaly Gariev",
        "creditUrl": "https://www.pexels.com/photo/three-women-taking-selfie-6539901/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-oxytocin-serotonin-accumbens.webp"
      },
      "studyGuideAnchor": "why-social-features-stick-harder",
      "uid": "bwok46ic07iu"
    },
    {
      "id": "sa-mcq-endorphins-trigger",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Which app moment most directly triggers endorphins?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Gaining a follower or climbing a leaderboard"
        },
        {
          "modality": "text",
          "value": "Being acknowledged by a co-op partner"
        },
        {
          "modality": "text",
          "value": "Receiving an unpredictable notification"
        },
        {
          "modality": "text",
          "value": "Finishing a hard lesson or workout"
        }
      ],
      "correctIndex": 3,
      "explanation": "Endorphins suppress pain and produce pleasure from exertion — finishing a hard challenge triggers genuine euphoria. Notifications hit dopamine, status hits serotonin, peer acknowledgment hits oxytocin.",
      "tags": [
        "neurochemicals",
        "endorphins"
      ],
      "uid": "1oe689z5fyovt"
    },
    {
      "id": "sa-mcq-leaderboard-chemical",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "A leaderboard or follower count primarily reinforces investment through which neurochemical?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Endorphins"
        },
        {
          "modality": "text",
          "value": "Oxytocin"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Serotonin"
        }
      ],
      "correctIndex": 3,
      "explanation": "Serotonin governs mood stability, status, and belonging. Status signals like leaderboards and follower counts reinforce platform investment by feeding the serotonin system.",
      "tags": [
        "neurochemicals",
        "serotonin"
      ],
      "uid": "cdlumt129hpz7"
    },
    {
      "id": "sa-fact-dmn-zoning-out",
      "shape": "fact",
      "title": "Zoning out is the design goal",
      "body": "When scrolling becomes habitual and easy, the **Default Mode Network** takes over. Executive control from the prefrontal cortex goes offline; the **basal ganglia**, which runs habits, takes the wheel. Users call it 'zoning out.' For the platform this is not a failure mode — it is the objective. A DMN-dominant user has lost the ability to stop.",
      "tags": [
        "neuroscience",
        "default-mode-network",
        "habit"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "'Zoning out' while scrolling isn't a bug. It's the goal.",
      "illustration": {
        "imagePrompt": "Evocative photograph for a hero card: A person lying on a couch scrolling a phone",
        "imageSearchTerm": "couch scrolling phone relaxed",
        "alt": "A person lying on a couch scrolling a phone",
        "credit": "Pexels · SHVETS production",
        "creditUrl": "https://www.pexels.com/photo/a-woman-lying-in-bed-taking-a-selfie-4960236/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-dmn-zoning-out.webp"
      },
      "studyGuideAnchor": "zoning-out-is-the-design-goal",
      "uid": "1b3741pcox17f"
    },
    {
      "id": "sa-fact-cognitive-load-inhibition",
      "shape": "fact",
      "title": "The longer you scroll, the harder it gets to stop",
      "body": "Prolonged exposure depletes attentional resources through **cognitive load**, weakening the prefrontal cortex's inhibitory capacity. The result: stopping gets *harder* the longer a session runs. Removing the infinite scroll's stopping points is so effective precisely because it leaves a depleted brain with nothing to push against.",
      "tags": [
        "neuroscience",
        "default-mode-network",
        "cognitive-load"
      ],
      "factVariant": "image-heavy",
      "imageCaption": "The longer the session, the harder it is to stop.",
      "illustration": {
        "imagePrompt": "Evocative photograph for a hero card: A person scrolling a phone in bed in the dark",
        "imageSearchTerm": "phone bed night scrolling",
        "alt": "A person scrolling a phone in bed in the dark",
        "credit": "Pexels · SHVETS production",
        "creditUrl": "https://www.pexels.com/photo/man-lying-on-bed-using-a-cellphone-8037011/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-cognitive-load-inhibition.webp"
      },
      "studyGuideAnchor": "the-longer-you-scroll-the-harder-it-gets-to-stop",
      "uid": "5zvp5x1wv9efr"
    },
    {
      "id": "sa-pair-dmn-zoning-out",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Default Mode Network dominant"
      },
      "sideB": {
        "modality": "text",
        "value": "'Zoning out' while scrolling"
      },
      "tags": [
        "neuroscience",
        "default-mode-network"
      ],
      "uid": "g6a4gma263ke"
    },
    {
      "id": "sa-fact-hook-model-intro",
      "shape": "fact",
      "title": "The Hook Model",
      "body": "In *Hooked* (2014), **Nir Eyal** distilled how habit-forming products work into a four-stage loop: **Trigger → Action → Variable Reward → Investment**. Run a user through it enough times and the app stops needing to remind them — they reach for it on their own.",
      "tags": [
        "frameworks",
        "hook-model"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "the-hook-model",
      "illustration": {
        "imageSearchTerm": "circular loop diagram concept",
        "imagePrompt": "An abstract circular arrow loop symbolizing a repeating four-stage cycle.",
        "alt": "The Hook Model",
        "depictable": false,
        "credit": "Wikimedia Commons · CC BY 4.0",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:The_Circular_Economy_concept.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-hook-model-intro.webp"
      },
      "uid": "1ull2ueylkevu"
    },
    {
      "id": "sa-proc-hook-loop",
      "shape": "procedure",
      "goal": "Run a user through one turn of the Hook Model loop",
      "steps": [
        "Trigger — fire an external cue (notification, badge) or catch an internal one (boredom, loneliness).",
        "Action — make the user do the simplest behavior in anticipation of reward (open, scroll, tap).",
        "Variable Reward — pay out an unpredictable reward of the tribe, the hunt, or the self.",
        "Investment — get the user to put something in (data, content, reputation) that improves the next loop."
      ],
      "notes": "Each pass through investment loads the next trigger and raises switching costs, tightening the loop over time.",
      "tags": [
        "frameworks",
        "hook-model"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1110ywpejhnz7"
    },
    {
      "id": "sa-pair-hook-trigger",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Trigger"
      },
      "sideB": {
        "modality": "text",
        "value": "The cue that starts the loop — external (notification) or internal (an emotion)"
      },
      "tags": [
        "hook-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1bh1ejw9j3a3w"
    },
    {
      "id": "sa-pair-hook-action",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Action"
      },
      "sideB": {
        "modality": "text",
        "value": "The simplest behavior done in anticipation of reward — open, scroll, tap"
      },
      "tags": [
        "hook-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "17bdbvn349fb1"
    },
    {
      "id": "sa-pair-hook-reward",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Variable Reward"
      },
      "sideB": {
        "modality": "text",
        "value": "An unpredictable payoff — rewards of the tribe, the hunt, or the self"
      },
      "tags": [
        "hook-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1gv1a2q1yterce"
    },
    {
      "id": "sa-pair-hook-investment",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Investment"
      },
      "sideB": {
        "modality": "text",
        "value": "Something the user puts in — data, content, reputation — that improves the next use"
      },
      "tags": [
        "hook-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "r0bh0k144tpu0"
    },
    {
      "id": "sa-cmp-external-internal-trigger",
      "shape": "comparison",
      "prompt": "A mature habit-forming product aims to graduate users to which kind of trigger?",
      "correct": {
        "caption": "Internal trigger: boredom, loneliness or anxiety makes the app the instinctive response",
        "imageSearchTerm": "person bored phone reflex",
        "imagePrompt": "Photorealistic close-up of a person idly reaching for their phone in a quiet moment, blank expression, soft indoor light, conveying an instinctive emotional reflex rather than a deliberate choice"
      },
      "incorrect": {
        "caption": "External trigger: a push notification or badge has to tell the user to come back",
        "imageSearchTerm": "smartphone push notification badge",
        "imagePrompt": "Photorealistic smartphone lock screen lit up with a stack of push notifications and a red badge count, held in a hand, the device prompting the user rather than the user reaching for it"
      },
      "explanation": "Both kinds work, but the goal is to graduate users from external cues to internal ones — over time an emotional state itself triggers the app, so the product no longer needs to reach out.",
      "tags": [
        "hook-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1vuuwcw8b2qa8"
    },
    {
      "id": "sa-pair-reward-tribe",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Rewards of the tribe"
      },
      "sideB": {
        "modality": "text",
        "value": "Social validation — likes, comments, recognition"
      },
      "tags": [
        "hook-model",
        "variable-reward",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1h382psvvth74"
    },
    {
      "id": "sa-pair-reward-hunt",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Rewards of the hunt"
      },
      "sideB": {
        "modality": "text",
        "value": "Information seeking — scrolling a feed for the next good thing"
      },
      "tags": [
        "hook-model",
        "variable-reward",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "tixvxi1u8nnq"
    },
    {
      "id": "sa-pair-reward-self",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Rewards of the self"
      },
      "sideB": {
        "modality": "text",
        "value": "Mastery and progress — completion, leveling up, personal accomplishment"
      },
      "tags": [
        "hook-model",
        "variable-reward",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "u7uq6s108grj0"
    },
    {
      "id": "sa-fact-fogg-bmap",
      "shape": "fact",
      "title": "B = MAP",
      "body": "**BJ Fogg's Behavior Model** says behavior happens only when three things converge at once: **B = Motivation × Ability × Prompt**. A prompt fires, but it only succeeds if motivation and ability are both high enough at that moment. Miss any factor and nothing happens.",
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "b-map",
      "curatedDistractors": [
        "The Hook Model",
        "Octalysis",
        "Dynamic Difficulty Adjustment"
      ],
      "illustration": {
        "imageSearchTerm": "B = MAP",
        "imagePrompt": "B = MAP: **BJ Fogg's Behavior Model** says behavior happens only when three things converge at once: **B = Motivation × Ability × Prompt**. A prompt fires, but it only succeeds if motivation and ability are both high enough at that moment. Miss any factor and nothing happens.",
        "alt": "B = MAP.",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-bmap.svg"
      },
      "uid": "uwode0eowmbk"
    },
    {
      "id": "sa-def-bmap",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "B = MAP (Fogg Behavior Model)"
      },
      "definition": {
        "modality": "text",
        "value": "Behavior = Motivation × Ability × Prompt — a behavior occurs only when a prompt arrives while motivation and ability are both sufficient."
      },
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "curatedDistractors": [
        "The Hook Model",
        "Octalysis",
        "Dynamic Difficulty Adjustment"
      ],
      "uid": "1go9gag2kt17o"
    },
    {
      "id": "sa-mcq-fogg-low-ability",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "A user has high motivation but low ability to complete the action. What does the Fogg model say to do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Reduce friction — simplify the action and cut steps"
        },
        {
          "modality": "text",
          "value": "Send more notifications"
        },
        {
          "modality": "text",
          "value": "Add a FOMO spark to raise motivation"
        },
        {
          "modality": "text",
          "value": "Wait for motivation to rise on its own"
        }
      ],
      "correctIndex": 0,
      "explanation": "Motivation is already high, so the blocker is ability. Simplify the action — cut taps and steps — to lower the ability threshold the prompt needs.",
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "10gln4m1a0cwbi"
    },
    {
      "id": "sa-pair-fogg-spark",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Low motivation, high ability"
      },
      "sideB": {
        "modality": "text",
        "value": "Use a 'spark' — emotional appeal, social proof, a FOMO trigger"
      },
      "tags": [
        "fogg-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "em6c7g146a9dw"
    },
    {
      "id": "sa-pair-fogg-signal",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Both motivation and ability high"
      },
      "sideB": {
        "modality": "text",
        "value": "A simple signal suffices — the notification sound alone drives the behavior"
      },
      "tags": [
        "fogg-model",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "xhec1mt8y02u"
    },
    {
      "id": "sa-num-loss-vs-gain",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "In Prospect Theory, a loss feels about how many times as powerful as an equal gain?"
      },
      "value": 2,
      "unit": "x",
      "tags": [
        "loss-aversion",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "m9szwv1tjukbt"
    },
    {
      "id": "sa-fact-streak-sunk-cost",
      "shape": "fact",
      "title": "The streak as a sunk-cost engine",
      "body": "A 100-day Duolingo streak is accumulated **sunk cost**. Breaking it triggers **loss aversion** far out of proportion to what was actually lost — a few minutes of exercises. The streak's value isn't the practice; it's the dread of seeing the counter reset to zero.",
      "tags": [
        "frameworks",
        "loss-aversion"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "factVariant": "image-heavy",
      "imageCaption": "A 100-day streak is sunk cost you'll do anything to protect.",
      "illustration": {
        "imagePrompt": "A wall calendar showing a long unbroken row of marked-off days.",
        "imageSearchTerm": "calendar consecutive days marked",
        "alt": "A calendar with consecutive days marked in red",
        "depictable": true,
        "credit": "Pexels · Vibrant August calendar on a desk with deadline marked in red, surrounded by graphs and charts.",
        "creditUrl": "https://www.pexels.com/photo/calendar-with-deadline-reminder-7580856/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-streak-sunk-cost.webp"
      },
      "studyGuideAnchor": "the-streak-as-a-sunk-cost-engine",
      "uid": "kfzpv1tgem5r"
    },
    {
      "id": "sa-fact-snapchat-hourglass",
      "shape": "fact",
      "title": "Snapchat's hourglass",
      "body": "Snapchat exploits loss aversion with clinical precision: an **hourglass emoji** appears when a streak is at risk, triggering immediate anxiety and the urge to send a snap. Users have been documented sharing their account credentials with friends to keep streaks alive while away — irrational, unless you factor in loss aversion.",
      "tags": [
        "frameworks",
        "loss-aversion"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "factVariant": "image-heavy",
      "imageCaption": "The hourglass appears — and the urge to send a snap kicks in.",
      "illustration": {
        "imagePrompt": "A sand-filled hourglass with the sand running low, symbolizing time running out.",
        "imageSearchTerm": "hourglass sand timer",
        "alt": "A hand reaching for a phone beside a smartwatch",
        "depictable": true,
        "credit": "Pexels · Minimalist clear glass hourglass timer with sand measuring time on a white background.",
        "creditUrl": "https://www.pexels.com/photo/brown-sand-grainer-on-hour-glass-5942185/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-snapchat-hourglass.webp"
      },
      "studyGuideAnchor": "snapchat-s-hourglass",
      "uid": "1yl0d0fmb52h1"
    },
    {
      "id": "sa-fact-flow-channel",
      "shape": "fact",
      "title": "Flow: challenge meets skill",
      "body": "Mihaly Csikszentmihalyi's **Flow Theory** describes a channel of optimal engagement where challenge matches skill. Too easy and the user is bored; too hard and they're anxious — both drive churn. The sticky app keeps the user inside the channel.",
      "tags": [
        "frameworks",
        "flow"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "flow-challenge-meets-skill",
      "illustration": {
        "imageSearchTerm": "rock climber intense focus",
        "imagePrompt": "A rock climber deeply focused and absorbed while navigating a challenging route.",
        "alt": "Flow: challenge meets skill",
        "depictable": true,
        "credit": "Pexels · Liam Moore · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/a-woman-climbing-a-natural-rock-formation-11372619/",
        "subject": "A woman outdoors on a rock face, arm extended gripping a hold beside a green climbing rope, straining/focused expression, mid-move on a sport climb — clearly conveys intense concentration.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-flow-channel.webp"
      },
      "uid": "17mh52w407b9s"
    },
    {
      "id": "sa-def-dda",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Dynamic Difficulty Adjustment"
      },
      "definition": {
        "modality": "text",
        "value": "Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel — Duolingo tunes course structure to how fast each user learns."
      },
      "tags": [
        "frameworks",
        "flow"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1hdcplk1oucl2o"
    },
    {
      "id": "sa-pair-flow-boredom",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Challenge far below skill"
      },
      "sideB": {
        "modality": "text",
        "value": "Boredom — the user disengages and churns"
      },
      "tags": [
        "flow",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1qhm7q31mgoc99"
    },
    {
      "id": "sa-pair-flow-anxiety",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Challenge far above skill"
      },
      "sideB": {
        "modality": "text",
        "value": "Anxiety — the user feels overwhelmed and churns"
      },
      "tags": [
        "flow",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "z0wh3y1gnkvsu"
    },
    {
      "id": "sa-fact-open-loops",
      "shape": "fact",
      "title": "Weaponizing the open loop",
      "body": "Designers exploit the **Zeigarnik Effect** with progress bars stuck at 95%, '*just 2 more cards to complete Level 1*' nudges, and session endings that unlock the next chapter without letting you start it. The itch of the unfinished loop is then closed by a push notification — perfectly timed to pull you back.",
      "tags": [
        "frameworks",
        "zeigarnik"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "weaponizing-the-open-loop",
      "illustration": {
        "imageSearchTerm": "progress bar almost complete",
        "imagePrompt": "A loading progress bar frozen near completion, almost but not quite finished.",
        "alt": "Weaponizing the open loop",
        "depictable": true,
        "credit": "Pexels · Ann H · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/scrabble-tiles-spelling-almost-there-on-board-38459014/",
        "subject": "Wooden letter tiles arranged in a wooden grid tray spelling 'ALMOST THERE' — a clean, honest conceptual photo of near-completion.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-open-loops.webp"
      },
      "uid": "hvuir91exopq3"
    },
    {
      "id": "sa-fact-pbl-stack",
      "shape": "fact",
      "title": "The PBL stack",
      "body": "**Points, Badges, and Leaderboards** are the surface layer of gamification — visible, legible, and easy to bolt on. They're also easy to *habituate* to. The deeper mechanics work at the level of narrative, identity, and social positioning.",
      "tags": [
        "gamification",
        "pbl",
        "frameworks"
      ],
      "studyGuideAnchor": "the-pbl-stack",
      "illustration": {
        "imageSearchTerm": "gold badges trophies icons",
        "imagePrompt": "A collection of gold badges, trophies, and star icons representing rewards.",
        "alt": "The PBL stack",
        "depictable": true,
        "credit": "Pexels · Grzegorz  Lewandowski · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/golden-trophy-collection-displayed-in-a-row-29707905/",
        "subject": "A tight cluster of assorted gold and silver trophy cups of different shapes and sizes on a table, photographed with a soft warm bokeh background — no text, logos, or people.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-pbl-stack.webp"
      },
      "uid": "af50n91fo9kcz"
    },
    {
      "id": "sa-fact-octalysis-stacking",
      "shape": "fact",
      "title": "Stack the drives",
      "body": "Octalysis names **eight Core Drives**. The trick isn't picking the right one — it's engaging *several at once*. The most durable apps fire multiple Core Drives simultaneously, so when one loses its grip another keeps the user tethered.",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "studyGuideAnchor": "stack-the-drives",
      "curatedDistractors": [
        "Player Types",
        "Reward Schedules",
        "Behavior Triggers"
      ],
      "illustration": {
        "imageSearchTerm": "eight gears interlocking mechanism",
        "imagePrompt": "Eight interlocking gears turning together in a single mechanism.",
        "alt": "Stack the drives",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Logo-After_Eight-2011.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-octalysis-stacking.webp"
      },
      "uid": "86jr1o1g187zo"
    },
    {
      "id": "sa-num-octalysis-drives",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "How many Core Drives does Yu-kai Chou's Octalysis Framework identify?"
      },
      "value": 8,
      "unit": "drives",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "uid": "1nnjcd5kelxk7"
    },
    {
      "id": "sa-pair-epic-meaning",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Epic Meaning"
      },
      "sideB": {
        "modality": "text",
        "value": "The drive of belonging to something larger than yourself"
      },
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "uid": "9y0yjy1b5gcxe"
    },
    {
      "id": "sa-pair-ownership-drive",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Ownership & Possession"
      },
      "sideB": {
        "modality": "text",
        "value": "The drive to accumulate and protect things you feel are yours"
      },
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "uid": "117nhs41ecv5nc"
    },
    {
      "id": "sa-mcq-pbl-weakness",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Why is the PBL (Points, Badges, Leaderboards) layer considered shallow gamification?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It's visible and legible but easy to habituate to",
          "short": "Legible but easily habituated"
        },
        {
          "modality": "text",
          "value": "It rewards only the top-ranked users and ignores everyone else",
          "short": "Only rewards top-ranked users"
        },
        {
          "modality": "text",
          "value": "It depends entirely on real-money purchases to work",
          "short": "Relies on real-money purchases"
        },
        {
          "modality": "text",
          "value": "It cannot be layered with any other game mechanic",
          "short": "Can't layer with other mechanics"
        }
      ],
      "correctIndex": 0,
      "explanation": "PBL operates on the surface — points, badges, and leaderboards are easy to see and easy to tire of. Durable engagement comes from deeper drives like narrative, identity, and social positioning.",
      "tags": [
        "gamification",
        "pbl",
        "frameworks"
      ],
      "uid": "yqjubt1yz3fmn"
    },
    {
      "id": "sa-fact-duolingo-streak",
      "shape": "fact",
      "title": "The streak as a hostage",
      "body": "Duolingo's **streak** is the canonical case of loss aversion at retention scale. A streak isn't a reward you earn — it's a thing you can *lose*. Miss a day and the counter resets to zero. The longer it runs, the more you have at stake, and the harder it is to walk away.",
      "tags": [
        "case-study",
        "streak",
        "retention"
      ],
      "studyGuideAnchor": "the-streak-as-a-hostage",
      "illustration": {
        "imageSearchTerm": "streak counter calendar days",
        "imagePrompt": "A digital counter showing a long consecutive-day streak about to reset.",
        "alt": "The streak as a hostage",
        "depictable": true
      },
      "uid": "1f76jypom2qen"
    },
    {
      "id": "sa-fact-streak-poll",
      "shape": "fact",
      "title": "Motivated or stressed — both come back",
      "body": "A 2024 LinkedIn poll split Duolingo users: **62%** said the streak boosted motivation; **38%** said it added stress. Duolingo profits either way — both reactions bring users back. Anxiety is engagement that simply doesn't feel good.",
      "tags": [
        "case-study",
        "streak",
        "retention"
      ],
      "studyGuideAnchor": "motivated-or-stressed-both-come-back",
      "illustration": {
        "imageSearchTerm": "person conflicted stressed phone",
        "imagePrompt": "A person looking at their phone with a conflicted expression, caught between motivation and stress.",
        "alt": "Motivated or stressed — both come back",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Brother_and_father_Wilfred_Marimo_in_marondera_-_march_2026.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-streak-poll.webp"
      },
      "uid": "k30gkm3xk92e"
    },
    {
      "id": "sa-num-streak-motivated",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "In the 2024 LinkedIn poll, what share of Duolingo users said the streak boosted their motivation?"
      },
      "value": 62,
      "unit": "%",
      "tags": [
        "case-study",
        "streak",
        "duolingo-numbers"
      ],
      "uid": "3kv6htfxu62r"
    },
    {
      "id": "sa-num-streak-stressed",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "In the 2024 LinkedIn poll, what share of Duolingo users said the streak added stress?"
      },
      "value": 38,
      "unit": "%",
      "tags": [
        "case-study",
        "streak",
        "duolingo-numbers"
      ],
      "uid": "1glth6y94602"
    },
    {
      "id": "sa-num-duolingo-dau-ipo",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's daily active users at its 2021 IPO"
      },
      "value": 7.5,
      "unit": "million-users",
      "tags": [
        "case-study",
        "duolingo-numbers",
        "retention"
      ],
      "uid": "988otg1k8secg"
    },
    {
      "id": "sa-num-duolingo-dau-2025",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's daily active users in Q1 2025"
      },
      "value": 46.6,
      "unit": "million-users",
      "tags": [
        "case-study",
        "duolingo-numbers",
        "retention"
      ],
      "uid": "1iavz01eofmpc"
    },
    {
      "id": "sa-num-duolingo-dau-growth",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's DAU growth from its 2021 IPO to Q1 2025"
      },
      "value": 521,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo-numbers",
        "retention"
      ],
      "uid": "19iz29v17vrnzl"
    },
    {
      "id": "sa-num-duolingo-daumau-ipo",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's DAU/MAU ratio at its 2021 IPO"
      },
      "value": 21,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo-numbers",
        "retention"
      ],
      "uid": "1harnzrnqr26l"
    },
    {
      "id": "sa-num-duolingo-daumau-2025",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's improved DAU/MAU ratio by Q1 2025"
      },
      "value": 36,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo-numbers",
        "retention"
      ],
      "uid": "1f21txx6p9so3"
    },
    {
      "id": "sa-proc-streak-freeze-loop",
      "shape": "procedure",
      "goal": "The Streak Freeze meta-loop that makes Duolingo's streak nearly impossible to abandon",
      "steps": [
        "Build a long streak through daily practice, raising the stakes of breaking it.",
        "Feel loss aversion intensify as the counter climbs.",
        "Acquire Streak Freezes — by purchase or by earning them in-app — as insurance.",
        "Engage with the app specifically to stock up on that insurance.",
        "When a day is missed, a Freeze spends itself and the streak survives.",
        "Return with the streak intact and the loss-aversion grip unbroken."
      ],
      "notes": "The genius is recursive: users now engage with the app to insure the very thing that makes them engage with the app.",
      "tags": [
        "case-study",
        "streak",
        "retention"
      ],
      "uid": "zlhc8c1m995f0"
    },
    {
      "id": "sa-def-goal-gradient",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Goal Gradient Effect"
      },
      "definition": {
        "modality": "text",
        "value": "The tendency to accelerate effort as you approach a milestone — the closer the reward, the harder people push toward it."
      },
      "tags": [
        "gamification",
        "goal-gradient",
        "psychology"
      ],
      "curatedDistractors": [
        "The Endowment Effect",
        "Prospect Theory",
        "Loss aversion"
      ],
      "uid": "x4ed751yjy3hf"
    },
    {
      "id": "sa-fact-saga-map",
      "shape": "fact",
      "title": "The Saga Map",
      "body": "Duolingo's **Saga Map** — a winding path of nodes showing how far you've come — exploits the **Goal Gradient Effect**. Completion rates climb sharply near checkpoints. The design rule it teaches: always show users how close they are to the next reward.",
      "tags": [
        "gamification",
        "goal-gradient",
        "case-study"
      ],
      "studyGuideAnchor": "the-saga-map",
      "illustration": {
        "imageSearchTerm": "winding path game map",
        "imagePrompt": "A winding path with numbered checkpoint nodes leading toward a distant goal.",
        "alt": "The Saga Map",
        "depictable": true,
        "credit": "Pexels · Mike Art 🎥 Visual Creator | Photography and Video 📸 · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/aerial-view-of-penafiel-with-twisting-roads-36344428/",
        "subject": "An aerial photo of a paved road with several pronounced S-curve switchbacks climbing a hillside beside a small Spanish village, parking lots, and scrubland — a clear, unambiguous winding path.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-saga-map.webp"
      },
      "uid": "r657xaq0efcm"
    },
    {
      "id": "sa-fact-punch-card",
      "shape": "fact",
      "title": "The pre-stamped punch card",
      "body": "A coffee-shop loyalty card with **two of ten holes pre-stamped** dramatically outperforms a blank ten-hole card — even though both require ten purchases. Faking early progress triggers the **Goal Gradient Effect**: people who feel underway accelerate toward the finish.",
      "tags": [
        "gamification",
        "goal-gradient",
        "psychology"
      ],
      "studyGuideAnchor": "the-pre-stamped-punch-card",
      "illustration": {
        "imageSearchTerm": "coffee loyalty punch card",
        "imagePrompt": "A plain coffee loyalty card with a row of circles, two already punched near the start.",
        "alt": "The pre-stamped punch card",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Houghton_EC65.A100.674w_-_Women%27s_Petition_Against_Coffee.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-punch-card.webp"
      },
      "uid": "19us2bvohryfx"
    },
    {
      "id": "sa-pair-variable-ratio-loot",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Variable Ratio"
      },
      "sideB": {
        "modality": "text",
        "value": "Mystery chest / loot box"
      },
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "80b5l81r9afmw"
    },
    {
      "id": "sa-pair-fixed-ratio-xp",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Fixed Ratio"
      },
      "sideB": {
        "modality": "text",
        "value": "10 XP per 10 cards"
      },
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "1dmh4dqmm3vfi"
    },
    {
      "id": "sa-pair-fixed-interval-login",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Fixed Interval"
      },
      "sideB": {
        "modality": "text",
        "value": "Daily login bonus"
      },
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "2o84sfyopk1x"
    },
    {
      "id": "sa-pair-variable-interval-match",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Variable Interval"
      },
      "sideB": {
        "modality": "text",
        "value": "When will the next match arrive?"
      },
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "58u691e8bji7"
    },
    {
      "id": "sa-cmp-variable-vs-fixed-ratio",
      "shape": "comparison",
      "prompt": "Which reinforcement schedule sustains engagement and resists extinction best?",
      "correct": {
        "caption": "Variable ratio — rewards after an unpredictable number of actions (the slot machine)",
        "imageSearchTerm": "slot machine reels",
        "imagePrompt": "Close-up photograph of spinning slot machine reels mid-pull, glowing symbols slightly blurred with motion, casino lighting, high contrast, the unmistakable iconography of unpredictable payout"
      },
      "incorrect": {
        "caption": "Fixed ratio — a reward every Nth action, predictable and quick to habituate",
        "imageSearchTerm": "vending machine",
        "imagePrompt": "Photograph of a vending machine front, product dropping after a coin insert, clean even lighting, a mundane one-coin-one-snack transaction conveying total predictability"
      },
      "explanation": "Variable-ratio rewards arrive after an unpredictable number of actions, producing the strongest, most sustained dopamine response and the greatest resistance to extinction. It is the backbone of infinite scroll, notification pacing, and achievement systems.",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "19c4em3rofp85"
    },
    {
      "id": "sa-proc-schedules-durability",
      "shape": "procedure",
      "goal": "Rank the four main reward schedules from MOST to LEAST durable (resistance to extinction)",
      "steps": [
        "Variable Ratio — unpredictable number of actions per reward; very high resistance (the slot machine).",
        "Variable Interval — unpredictable time between rewards; high resistance and sustained anticipation.",
        "Fixed Ratio — a reward every Nth action; low resistance, fast habituation.",
        "Fixed Interval — a reward on a predictable clock; low resistance and easily gamed."
      ],
      "notes": "Variable beats fixed; ratio beats interval. The variable-ratio schedule is the backbone of infinite scroll and notification pacing.",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "uid": "1b2c7jp1nye5jb"
    },
    {
      "id": "sa-fact-network-effects",
      "shape": "fact",
      "title": "More users, more value",
      "body": "A **network effect** exists when a product gets more valuable to each user as more people join. Metcalfe's Law models this as value scaling with **n²**. But the real dynamics are messier — not all connections are equal.",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "studyGuideAnchor": "more-users-more-value",
      "illustration": {
        "imageSearchTerm": "network connection nodes graphic",
        "imagePrompt": "An abstract network diagram of glowing dots connected by lines, growing denser.",
        "alt": "More users, more value",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-network-effects.webp"
      },
      "uid": "1y131mn1lkoc3t"
    },
    {
      "id": "sa-fact-direct-indirect",
      "shape": "fact",
      "title": "Direct vs. indirect",
      "body": "Network effects come in two flavors. **Direct**: more users is directly better for you (more friends to message). **Indirect**: more users yields better infrastructure or content you benefit from, even without connecting to them.",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "studyGuideAnchor": "direct-vs-indirect",
      "illustration": {
        "imageSearchTerm": "direct indirect network links",
        "imagePrompt": "Two contrasting network diagrams, one with direct person-to-person links and one with shared infrastructure.",
        "alt": "Direct vs. indirect",
        "depictable": false,
        "credit": "Unsplash · GuerrillaBuzz · Unsplash License",
        "creditUrl": "https://unsplash.com/photos/text-aoKdLo9FPpc",
        "subject": "3D render of salmon-orange cubes joined by blue tubes into a lattice on black, with a black smartphone suspended in the centre as one node of the network",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-direct-indirect.webp"
      },
      "uid": "xcv3yr1ab10zx"
    },
    {
      "id": "sa-pair-direct-effect",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Direct network effect"
      },
      "sideB": {
        "modality": "text",
        "value": "More users = directly better for you"
      },
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "uid": "1rt5jlh1osxy8f"
    },
    {
      "id": "sa-pair-indirect-effect",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Indirect network effect"
      },
      "sideB": {
        "modality": "text",
        "value": "More users = better content/infrastructure for you"
      },
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "uid": "1d71i1916lqjuj"
    },
    {
      "id": "sa-mcq-metcalfe",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Per Metcalfe's Law, a network's value scales with what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The square of the number of users (n²)"
        },
        {
          "modality": "text",
          "value": "Daily revenue per user"
        },
        {
          "modality": "text",
          "value": "The logarithm of users"
        },
        {
          "modality": "text",
          "value": "The number of users (n)"
        }
      ],
      "correctIndex": 0,
      "explanation": "Metcalfe's Law models value as scaling with n² — the count of possible connections between users grows roughly with the square of the user count.",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "uid": "bh0sha14pn4l6"
    },
    {
      "id": "sa-fact-fb-value-research",
      "shape": "fact",
      "title": "What a friend is worth",
      "body": "Research from MIT, Chapman, and UCLA measured Facebook's network effect. The marginal value of one additional friend: about **$0.004 per month**. Total platform value to a user: **$78–$101 per month** — with **20–34%** of that traced to social connections specifically.",
      "tags": [
        "network-effects",
        "case-study"
      ],
      "studyGuideAnchor": "what-a-friend-is-worth",
      "illustration": {
        "imageSearchTerm": "social network friends graphic",
        "imagePrompt": "An abstract illustration of connected profile icons representing a network of friends.",
        "alt": "What a friend is worth",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Army_Social_Science_Research_-_SORO_Structure.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-fb-value-research.webp"
      },
      "uid": "h3ivnocpv138"
    },
    {
      "id": "sa-fact-fb-moat",
      "shape": "fact",
      "title": "Facebook's moat",
      "body": "Facebook's early dominance rested on the **social graph** — a map of real-world, identity-based relationships. News Feed, Groups, and Photos were all built *on top of* this graph, each giving users a fresh reason to return.",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "studyGuideAnchor": "facebook-s-moat",
      "curatedDistractors": [
        "Facebook Watch",
        "Facebook Dating",
        "Facebook Gaming"
      ],
      "illustration": {
        "imageSearchTerm": "social graph network diagram",
        "imagePrompt": "A dense web of connected nodes representing a social network of relationships.",
        "alt": "Facebook's moat",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-fb-moat.webp"
      },
      "uid": "v97yesxod6t8"
    },
    {
      "id": "sa-fact-layered-defensibility",
      "shape": "fact",
      "title": "Six concentric walls",
      "body": "The VC firm NFX calls Facebook's structure **layered defensibility**: it deployed no fewer than six distinct types of network effect. Picture a castle with six concentric defensive walls — a competitor must breach them all.",
      "tags": [
        "social-graph",
        "frameworks"
      ],
      "studyGuideAnchor": "six-concentric-walls",
      "illustration": {
        "imageSearchTerm": "castle concentric defensive walls",
        "imagePrompt": "An aerial view of a medieval castle surrounded by six concentric defensive walls.",
        "alt": "Six concentric walls",
        "depictable": true,
        "credit": "Wikipedia — Beaumaris Castle · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/Beaumaris_Castle",
        "subject": "High-resolution straight-down aerial view of Beaumaris Castle showing two crisp, fully visible concentric rings of stone wall — an outer ring with a water-filled moat and an inner ring of tall round towers around a central green courtyard",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-layered-defensibility.webp"
      },
      "uid": "1l3bs1h1r5s39j"
    },
    {
      "id": "sa-pair-social-anchoring",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Social anchoring"
      },
      "sideB": {
        "modality": "text",
        "value": "40–60% higher retention than solo-use tools"
      },
      "tags": [
        "social-graph",
        "retention"
      ],
      "uid": "6ackt3153z945"
    },
    {
      "id": "sa-mcq-six-walls",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "What does NFX mean by Facebook's 'layered defensibility'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It stacked six distinct network effects, like six concentric walls",
          "short": "Stacked six network effects"
        },
        {
          "modality": "text",
          "value": "It charges advertisers six different rates",
          "short": "Charges six different ad rates"
        },
        {
          "modality": "text",
          "value": "It runs six redundant data centers",
          "short": "Runs six redundant data centers"
        },
        {
          "modality": "text",
          "value": "It encrypts user data in six layers",
          "short": "Encrypts data in six layers"
        }
      ],
      "correctIndex": 0,
      "explanation": "NFX counted no fewer than six distinct network effects at Facebook — each an additional wall a competitor must breach.",
      "tags": [
        "social-graph",
        "frameworks"
      ],
      "uid": "19trcql6hj4sj"
    },
    {
      "id": "sa-num-marginal-friend",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Measured marginal value of one additional Facebook friend, per month"
      },
      "value": 0.004,
      "unit": "USD",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "uid": "1r01iz810mer78"
    },
    {
      "id": "sa-num-platform-value-low",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Low end of total Facebook platform value to a consumer, per month"
      },
      "value": 78,
      "unit": "USD",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "uid": "19z6ypd1waqcwj"
    },
    {
      "id": "sa-num-platform-value-high",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "High end of total Facebook platform value to a consumer, per month"
      },
      "value": 101,
      "unit": "USD",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "uid": "1jppxamo7wqzy"
    },
    {
      "id": "sa-pair-leaderboard",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Competitive leaderboard"
      },
      "sideB": {
        "modality": "text",
        "value": "Serotonin — status"
      },
      "tags": [
        "viral-mechanics",
        "neuroscience"
      ],
      "uid": "omtkbk17nlr0s"
    },
    {
      "id": "sa-pair-coop-quest",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Co-op quest"
      },
      "sideB": {
        "modality": "text",
        "value": "Oxytocin — social obligation"
      },
      "tags": [
        "viral-mechanics",
        "neuroscience"
      ],
      "uid": "1wtixsd1v30eln"
    },
    {
      "id": "sa-pair-parasocial",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Parasocial bond (Duo owl)"
      },
      "sideB": {
        "modality": "text",
        "value": "Oxytocin — bonding with a non-human entity"
      },
      "tags": [
        "viral-mechanics",
        "neuroscience"
      ],
      "uid": "1irxenlpym0mr"
    },
    {
      "id": "sa-pair-shareable-artifact",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Shareable artifact (Spotify Wrapped)"
      },
      "sideB": {
        "modality": "text",
        "value": "Serotonin — content that markets the user, not the app"
      },
      "tags": [
        "viral-mechanics",
        "neuroscience"
      ],
      "uid": "10i3c3jmzsj7h"
    },
    {
      "id": "sa-fact-leaderboard-fear",
      "shape": "fact",
      "title": "Fear beats desire",
      "body": "Competitive leaderboards run on serotonin and status. The sharp insight: **fear of demotion outweighs the desire for promotion**. Players grind hardest not to climb a tier but to avoid dropping out of the one they hold.",
      "tags": [
        "viral-mechanics",
        "gamification"
      ],
      "studyGuideAnchor": "fear-beats-desire",
      "illustration": {
        "imageSearchTerm": "ranking leaderboard tiers",
        "imagePrompt": "A tiered ranking podium showing competitors at different rank levels.",
        "alt": "Fear beats desire",
        "depictable": true,
        "credit": "Pexels · DS stories · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/medals-on-pedestal-on-pink-studio-background-7267588/",
        "subject": "Gold '1', silver '2', and bronze '3' medals displayed on white podium blocks of staggered height against a pastel-purple background — a clean literal depiction of tiered ranking",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-leaderboard-fear.webp"
      },
      "uid": "1cqk5z4hdwrc4"
    },
    {
      "id": "sa-fact-fomo",
      "shape": "fact",
      "title": "FOMO is about people, not posts",
      "body": "As many as **69% of Americans** report FOMO. Cornell research found it isn't about missed *content* — it's anxiety over the social consequences of missed *bonding*. You don't fear missing a clip; you fear losing closeness with your group.",
      "tags": [
        "fomo",
        "neuroscience"
      ],
      "studyGuideAnchor": "fomo-is-about-people-not-posts",
      "illustration": {
        "imageSearchTerm": "person left out group",
        "imagePrompt": "A person alone looking wistfully at a phone showing friends together without them.",
        "alt": "FOMO is about people, not posts",
        "depictable": true,
        "credit": "Pexels · DS stories · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/photo-of-a-red-meeple-near-blue-meeple-pieces-6990039/",
        "subject": "one red meeple positioned apart from a cluster of about eighteen blue meeples on a plain white background — a clean, unambiguous 'odd one out / left out of the group' visual metaphor",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-fomo.webp"
      },
      "uid": "6s4ixafzfyby"
    },
    {
      "id": "sa-fact-stories-expiry",
      "shape": "fact",
      "title": "The 24-hour clock",
      "body": "Instagram Stories expire after **24 hours**. The expiry is the mechanic: it manufactures a *social* cost for non-participation, not just an informational one. Miss the window and you've missed the bonding, not merely a post.",
      "tags": [
        "fomo",
        "design-patterns"
      ],
      "studyGuideAnchor": "the-24-hour-clock",
      "curatedDistractors": [
        "News Feed",
        "For You Page",
        "Facebook Timeline"
      ],
      "illustration": {
        "imageSearchTerm": "countdown clock running low",
        "imagePrompt": "A clock face counting down, symbolizing content about to expire.",
        "alt": "The 24-hour clock",
        "depictable": true,
        "credit": "Pexels · Jordan Benton · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/shallow-focus-of-clear-hourglass-1095601/",
        "subject": "A staged close-up of a metal-framed hourglass with sand actively draining into the lower bulb, set in front of a softly blurred antique clock face and a gold pocket watch, warm ambient lighting.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-stories-expiry.webp"
      },
      "uid": "cfkbf6vz430i"
    },
    {
      "id": "sa-fact-tiktok-interest-graph",
      "shape": "fact",
      "title": "What you're drawn to",
      "body": "TikTok swapped the human-curated **social graph** for a machine-curated **interest graph**. The For You Page reads completion rate, shares, comments, follows, and re-watches — weighting **completion and sharing** most heavily.",
      "tags": [
        "interest-graph",
        "case-study"
      ],
      "studyGuideAnchor": "what-you-re-drawn-to",
      "illustration": {
        "imageSearchTerm": "smartphone video feed scrolling",
        "imagePrompt": "A hand scrolling through a vertical short-video feed on a smartphone.",
        "alt": "What you're drawn to",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Jolla_phone_back_without_other_half_01.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-tiktok-interest-graph.webp"
      },
      "uid": "1u9q3xa17tcj1y"
    },
    {
      "id": "sa-fact-cold-start",
      "shape": "fact",
      "title": "No followers? No problem",
      "body": "Because the interest graph judges the video, not the creator, a brand-new account with **zero followers** can earn viral distribution within 24 hours. This dissolves the **cold-start problem** that throttled earlier social platforms.",
      "tags": [
        "interest-graph",
        "case-study"
      ],
      "studyGuideAnchor": "no-followers-no-problem",
      "illustration": {
        "imageSearchTerm": "smartphone notifications going viral",
        "imagePrompt": "A smartphone screen showing a rapidly climbing view counter and notification alerts.",
        "alt": "No followers? No problem",
        "depictable": true,
        "credit": "Pexels · dumitru B · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/close-up-of-smartphone-with-social-media-icons-32944546/",
        "subject": "Sharp, well-lit close-up of an iPhone home screen packed with app icons, many showing red unread-count badges (Instagram 2, Yelp 10, Messenger 1, Facebook 1, WhatsApp 17, Maps/Phone/Messages also badged).",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-cold-start.webp"
      },
      "uid": "11156ctldlge7"
    },
    {
      "id": "sa-fact-tiktok-abtest",
      "shape": "fact",
      "title": "Always testing",
      "body": "TikTok continuously **A/B tests** content against engagement signals: a video that clears a threshold with a small test group propagates to larger audiences. The system optimizes for raw behavioral **engagement over connection** — producing far longer sessions but **weaker social bonding** than a Facebook-style network.",
      "tags": [
        "interest-graph",
        "case-study"
      ],
      "studyGuideAnchor": "always-testing",
      "illustration": {
        "imageSearchTerm": "smartphone video feed testing",
        "imagePrompt": "Two side-by-side smartphone screens showing slightly different video feeds, representing a test.",
        "alt": "Always testing",
        "depictable": false,
        "credit": "Pexels · Hands holding a drone controller connected to a smartphone, showing real-time video feed.",
        "creditUrl": "https://www.pexels.com/photo/smartphone-on-a-drone-controller-8981858/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-tiktok-abtest.webp"
      },
      "uid": "ljyd51hj6o0b"
    },
    {
      "id": "sa-cmp-social-vs-interest-graph",
      "shape": "comparison",
      "prompt": "Which graph powers TikTok's For You Page?",
      "correct": {
        "caption": "Interest graph — what you're drawn to (machine-curated from behavior)",
        "imageSearchTerm": "algorithm recommendation network",
        "imagePrompt": "A clean abstract diagram of an interest graph: a single central user node radiating to clusters of content topics — cooking, dance, sports — connected by glowing weighted lines, machine-curated, cool blue palette, data-driven feel"
      },
      "incorrect": {
        "caption": "Social graph — who you know (human-curated identity relationships)",
        "imageSearchTerm": "social network friends diagram",
        "imagePrompt": "A clean abstract diagram of a social graph: portrait-style nodes of people linked to each other by friendship lines forming a dense human web, warm palette, emphasis on identity and real-world relationships"
      },
      "explanation": "TikTok's FYP runs on an interest graph (what you're drawn to, inferred from behavior). Facebook's moat is the social graph (who you know). TikTok deliberately replaced one with the other.",
      "tags": [
        "interest-graph",
        "social-graph"
      ],
      "uid": "170ebee1ivi6pe"
    },
    {
      "id": "sa-num-social-retention",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Retention lift reported by socially-anchored products over solo-use tools (high end)"
      },
      "value": 60,
      "unit": "%",
      "tags": [
        "network-effects",
        "retention"
      ],
      "uid": "z8hockte6hoc"
    },
    {
      "id": "sa-num-social-retention-low",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Retention lift reported by socially-anchored products over solo-use tools (low end)"
      },
      "value": 40,
      "unit": "%",
      "tags": [
        "network-effects",
        "retention"
      ],
      "uid": "1jojdj215e52wm"
    },
    {
      "id": "sa-num-value-attributable",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Share of total platform value traceable to social connections (high end)"
      },
      "value": 34,
      "unit": "%",
      "tags": [
        "network-effects",
        "case-study"
      ],
      "uid": "1hkxdm51vdy957"
    },
    {
      "id": "sa-num-value-attributable-low",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Share of total platform value traceable to social connections (low end)"
      },
      "value": 20,
      "unit": "%",
      "tags": [
        "network-effects",
        "case-study"
      ],
      "uid": "19ssxsaw7ebc"
    },
    {
      "id": "sa-num-fomo-americans",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Share of Americans who have experienced FOMO"
      },
      "value": 69,
      "unit": "%",
      "tags": [
        "network-effects",
        "case-study"
      ],
      "uid": "korfad1iyhp9r"
    },
    {
      "id": "sa-fact-virality-measurable",
      "shape": "fact",
      "title": "Virality is a number, not a vibe",
      "body": "Growth teams don't hope a product spreads — they **measure** it. The viral coefficient, or **K-factor**, quantifies how many new users each existing user generates. Once you can put a number on it, you can engineer it.",
      "tags": [
        "growth",
        "virality",
        "k-factor"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "virality-is-a-number-not-a-vibe",
      "illustration": {
        "imageSearchTerm": "growth chart arrow upward",
        "imagePrompt": "An upward-trending growth chart with an arrow shooting up.",
        "alt": "Virality is a number, not a vibe",
        "depictable": false,
        "credit": "Pexels · Wooden blocks forming a staircase with an upward arrow symbolizing growth and progress.",
        "creditUrl": "https://www.pexels.com/photo/brown-wooden-blocks-on-gray-surface-9822733/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-virality-measurable.webp"
      },
      "uid": "138ewid7s682"
    },
    {
      "id": "sa-num-kfactor-exponential",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "K-factor threshold above which growth becomes exponential and self-sustaining"
      },
      "value": 1,
      "unit": "x",
      "tags": [
        "growth",
        "k-factor",
        "metrics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "it1qm71mmzik5"
    },
    {
      "id": "sa-num-kfactor-valuable",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "K-factor where 5 users still generate 1 additional user 'for free' over their lifetime"
      },
      "value": 0.2,
      "unit": "x",
      "tags": [
        "growth",
        "k-factor",
        "metrics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "xppoeg1pv0cds"
    },
    {
      "id": "sa-mcq-kfactor-signals",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "A K-factor above 1 is a direct signal of which combination?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rising CAC and stalled organic growth"
        },
        {
          "modality": "text",
          "value": "High churn and heavy ad spend"
        },
        {
          "modality": "text",
          "value": "Product-market fit and low CAC"
        },
        {
          "modality": "text",
          "value": "Weak retention but strong onboarding"
        }
      ],
      "correctIndex": 2,
      "explanation": "K>1 means each user recruits more than one new user — self-sustaining growth that signals product-market fit, low customer acquisition cost, and a strong user experience.",
      "tags": [
        "growth",
        "k-factor",
        "metrics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1dlmqnv106jr7d"
    },
    {
      "id": "sa-fact-duolingo-cac",
      "shape": "fact",
      "title": "Duolingo's falling CAC",
      "body": "Duolingo's customer acquisition cost dropped from an estimated **~$41 at IPO** to **~$33 in Q1 2025** — a direct measure of improving viral dynamics as the user base grew more self-referencing. Cheaper acquisition is what viral growth looks like on a spreadsheet.",
      "tags": [
        "growth",
        "case-study",
        "economics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "duolingo-s-falling-cac",
      "illustration": {
        "imageSearchTerm": "downward cost chart graph",
        "imagePrompt": "A financial chart showing a declining cost curve trending downward over time.",
        "alt": "Duolingo's falling CAC",
        "depictable": false,
        "credit": "Pexels · Detailed financial chart showing a downward trend, ideal for economics and stock market analysis.",
        "creditUrl": "https://www.pexels.com/photo/financial-market-graph-with-downward-trend-38782891/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-duolingo-cac.webp"
      },
      "uid": "q0klg01o6pzws"
    },
    {
      "id": "sa-num-duolingo-cac-ipo",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's estimated customer acquisition cost (CAC) at IPO"
      },
      "value": 41,
      "unit": "USD",
      "tags": [
        "growth",
        "case-study",
        "economics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "17p0mp81gygjng"
    },
    {
      "id": "sa-num-duolingo-cac-2025",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's estimated customer acquisition cost (CAC) in Q1 2025"
      },
      "value": 33,
      "unit": "USD",
      "tags": [
        "growth",
        "case-study",
        "economics"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "zy76dy6cukeq"
    },
    {
      "id": "sa-fact-three-growth-loops",
      "shape": "fact",
      "title": "Three loops that compound",
      "body": "Sustainable growth runs on three engines: the **viral loop** (users recruit users), the **content/ASO loop** (activity becomes content that lifts store visibility), and the **paid acquisition loop** (ad spend buys installs that fund more spend). The first two are nearly free; the third only works when LTV far exceeds CAC.",
      "tags": [
        "growth",
        "growth-loops",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn mindmap of the three compounding growth loops: viral, content/ASO, paid",
        "imageSearchTerm": "three growth loops diagram",
        "alt": "Diagram of the three growth loops: viral, content/ASO, and paid",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-fact-three-growth-loops.svg"
      },
      "studyGuideAnchor": "three-loops-that-compound",
      "uid": "r31tqy1wv15zq"
    },
    {
      "id": "sa-def-content-aso-loop",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Content/ASO loop"
      },
      "definition": {
        "modality": "text",
        "value": "A compounding growth engine where user activity generates content (reviews, shared artifacts, UGC), which increases App Store visibility, which drives downloads, which generates more content — essentially free marketing powered by your most engaged users."
      },
      "tags": [
        "growth",
        "vocabulary",
        "growth-loops"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1jfbjadlqxmcn"
    },
    {
      "id": "sa-pair-viral-loop-power",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Viral loop"
      },
      "sideB": {
        "modality": "text",
        "value": "Users recruiting users through sharing and invitations"
      },
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "qlw82dih2dvz"
    },
    {
      "id": "sa-pair-content-loop-power",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Content/ASO loop"
      },
      "sideB": {
        "modality": "text",
        "value": "User activity becoming content that lifts App Store visibility"
      },
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1e2iwc013piulw"
    },
    {
      "id": "sa-pair-paid-loop-power",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Paid acquisition loop"
      },
      "sideB": {
        "modality": "text",
        "value": "Ad spend buying installs whose revenue funds more spend"
      },
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "57umw6phijju"
    },
    {
      "id": "sa-proc-growth-loops-sequence",
      "shape": "procedure",
      "goal": "Sequence the three growth loops as a startup scales",
      "steps": [
        "Engineer the viral loop from day one — bake sharing into the core value, not a bolted-on Share button.",
        "Run the paid acquisition loop to buy your first installs, sustainable only while LTV far exceeds CAC.",
        "Use that paid spend to reach critical mass — enough active users to seed real activity.",
        "Let the content/ASO loop kick in as user activity generates reviews and artifacts that lift store visibility.",
        "Watch the viral and content loops self-sustain organic growth, reducing reliance on paid spend."
      ],
      "notes": "Virality is engineered from day one; paid acquisition bootstraps reach until the organic loops compound on their own.",
      "tags": [
        "growth",
        "growth-loops",
        "frameworks"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1nwi8h9rwugxj"
    },
    {
      "id": "sa-fact-shareable-artifacts",
      "shape": "fact",
      "title": "The user promotes themselves",
      "body": "The most efficient acquisition channel is an artifact users *want* to share because it reflects well on them. **Spotify Wrapped** is the archetype: an identity-affirming summary that explodes across social every December with zero paid media. The user isn't promoting the app — they're promoting *themselves*. The app is just the medium.",
      "tags": [
        "growth",
        "case-study",
        "artifacts"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "the-user-promotes-themselves",
      "illustration": {
        "imageSearchTerm": "colorful year in review",
        "imagePrompt": "A smartphone displaying a colorful personalized year-in-review summary card.",
        "alt": "The user promotes themselves",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:20110830_Vannes_(23).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-shareable-artifacts.webp"
      },
      "uid": "5p2mdg11d85ug"
    },
    {
      "id": "sa-pair-wrapped-artifact",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Spotify Wrapped"
      },
      "sideB": {
        "modality": "text",
        "value": "Identity-affirming yearly summary shared with zero paid media"
      },
      "tags": [
        "growth",
        "artifacts",
        "pairs"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "p3xoxp5ize13"
    },
    {
      "id": "sa-pair-duolingo-badge-artifact",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Duolingo 'Top 1% of learners' badge"
      },
      "sideB": {
        "modality": "text",
        "value": "Achievement that signals discipline to a user's social graph"
      },
      "tags": [
        "growth",
        "artifacts",
        "pairs"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1hj4vui8zfwm2"
    },
    {
      "id": "sa-cmp-intrinsic-vs-bolted-share",
      "shape": "comparison",
      "prompt": "Which sharing design actually drives viral growth?",
      "correct": {
        "caption": "An identity-affirming artifact the user shares because it reflects well on them",
        "imageSearchTerm": "year in review summary card",
        "imagePrompt": "A vibrant, colorful personalized year-in-review summary card on a phone screen, bold typography showing stats and a 'Top 1%' badge, the kind of identity-affirming graphic a user proudly posts to social media, modern flat illustration style"
      },
      "incorrect": {
        "caption": "A generic 'Share' button bolted onto the UI as a forgettable afterthought feature",
        "imageSearchTerm": "share button interface",
        "imagePrompt": "A plain grey generic 'Share' button sitting alone in a sparse app interface, ignored and unremarkable, dull UI mockup, flat illustration style conveying that no one wants to tap it"
      },
      "explanation": "Sharing must be intrinsic to the core value — an artifact that promotes the user, not the app. A bolted-on Share button gives people nothing they actually want to broadcast.",
      "tags": [
        "growth",
        "artifacts",
        "design-patterns"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "yz1ub41d1liyg"
    },
    {
      "id": "sa-fact-double-sided-referral",
      "shape": "fact",
      "title": "Give a ride, get a ride",
      "body": "**Double-sided** referral programs — where both the referrer and the new user get value — beat single-sided ones by exploiting reciprocity norms. Uber's 'give a friend a free ride, get a free ride' is canonical. The advanced move: embed the referral in *content value* instead of a discount — 'unlock this deck by inviting a study partner.'",
      "tags": [
        "growth",
        "referrals",
        "design-patterns"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "studyGuideAnchor": "give-a-ride-get-a-ride",
      "illustration": {
        "imageSearchTerm": "rideshare car pickup",
        "imagePrompt": "A rideshare car pulling up to pick up a passenger on a city street.",
        "alt": "Give a ride, get a ride",
        "depictable": true,
        "credit": "Pexels · SHOX ART · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/uber-taxi-sign-on-car-roof-in-wroclaw-37112131/",
        "subject": "Close-up photograph of a real 'Uber TAXI' rooftop sign box mounted on a car roof, parked with other cars and trees in the background — an authentic, unaltered image of an actual Uber-branded ride-hail vehicle",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-double-sided-referral.webp"
      },
      "uid": "2bn7yzdiw7n1"
    },
    {
      "id": "sa-mcq-double-sided-referral",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Why do double-sided referral programs outperform single-sided ones?"
      },
      "options": [
        {
          "modality": "text",
          "value": "They exploit reciprocity norms by rewarding both the referrer and the new user",
          "short": "Pay both sides, tap reciprocity"
        },
        {
          "modality": "text",
          "value": "They are cheaper to run because only one party is paid",
          "short": "Cheaper; only one party paid"
        },
        {
          "modality": "text",
          "value": "They only reward the new user, never the referrer",
          "short": "Reward new user, not referrer"
        },
        {
          "modality": "text",
          "value": "They require no incentive at all",
          "short": "Require no incentive at all"
        }
      ],
      "correctIndex": 0,
      "explanation": "When both sides receive value, the offer taps reciprocity norms — the referrer feels they're giving a genuine gift, not just farming a bonus. Uber's 'give a ride, get a ride' is the canonical example.",
      "tags": [
        "growth",
        "referrals",
        "design-patterns"
      ],
      "source": {
        "label": "The Science of Sticky Apps — research compilation (Perplexity)"
      },
      "uid": "1r2yfit1gbthxf"
    },
    {
      "id": "sa-fact-retention-first-session",
      "shape": "fact",
      "title": "Retention is won in the first session",
      "body": "Roughly **80% of users stop using an app after the third day** following install. The entire onboarding architecture exists to do one thing: deliver the user to the moment the app's value becomes real, before day three takes them.",
      "tags": [
        "retention",
        "onboarding",
        "aha-moment"
      ],
      "studyGuideAnchor": "retention-is-won-in-the-first-session",
      "illustration": {
        "imageSearchTerm": "person onboarding new app",
        "imagePrompt": "A person's hands holding a smartphone during a first-time app onboarding screen.",
        "alt": "Retention is won in the first session",
        "depictable": true,
        "credit": "Pexels · Airam Dato-on · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/man-using-his-smartphone-15487479/",
        "subject": "Over-the-shoulder view of a seated man in a striped shirt holding an iPhone showing a white splash screen with a small green app icon; patterned rug and Nike sneakers visible below",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-retention-first-session.webp"
      },
      "uid": "1g3i7bas739ma"
    },
    {
      "id": "sa-pair-facebook-aha",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Facebook"
      },
      "sideB": {
        "modality": "text",
        "value": "7 friends in 10 days"
      },
      "tags": [
        "aha-moment",
        "case-study",
        "facebook"
      ],
      "uid": "16yogbiwejpya"
    },
    {
      "id": "sa-pair-twitter-aha",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Twitter"
      },
      "sideB": {
        "modality": "text",
        "value": "follow 30 accounts"
      },
      "tags": [
        "aha-moment",
        "case-study",
        "twitter"
      ],
      "uid": "1s3h5mi2plnpi"
    },
    {
      "id": "sa-pair-duolingo-aha",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Duolingo"
      },
      "sideB": {
        "modality": "text",
        "value": "first lesson + animated XP"
      },
      "tags": [
        "aha-moment",
        "case-study",
        "duolingo"
      ],
      "uid": "1ngxiza1llus2"
    },
    {
      "id": "sa-proc-onboarding-aha",
      "shape": "procedure",
      "goal": "Engineer onboarding to deliver every new user to the Aha Moment",
      "steps": [
        "Pull cohort data on users who stuck around long-term versus those who churned.",
        "Find the early actions that correlate with long-term retention.",
        "Define the Aha Moment as that exact action sequence (e.g. 7 friends in 10 days).",
        "Re-engineer onboarding so every new user is driven to that action as fast as possible.",
        "Confirm the value is felt emotionally, not just that a tutorial was completed."
      ],
      "notes": "Teams find the Aha Moment by analysis, not intuition — then build the funnel backward from it.",
      "tags": [
        "onboarding",
        "aha-moment",
        "case-study"
      ],
      "uid": "uvm5nu4bm0q6"
    },
    {
      "id": "sa-mcq-find-aha",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "How do product teams identify an app's Aha Moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Copy whatever the market-leading competitor does",
          "short": "Copy the market leader's choice"
        },
        {
          "modality": "text",
          "value": "Pick the final screen of the onboarding tutorial",
          "short": "Pick the last onboarding screen"
        },
        {
          "modality": "text",
          "value": "Analyze which early actions correlate with long-term retention in cohort data",
          "short": "Link early actions to retention"
        },
        {
          "modality": "text",
          "value": "Ask users in a survey what they enjoyed most",
          "short": "Survey what users enjoyed most"
        }
      ],
      "correctIndex": 2,
      "explanation": "Teams analyze which early actions correlate with long-term retention in cohort data, then re-engineer onboarding to deliver every new user to that action sequence.",
      "tags": [
        "onboarding",
        "aha-moment",
        "case-study"
      ],
      "uid": "1ritvm61bwe0je"
    },
    {
      "id": "sa-fact-push-channel",
      "shape": "fact",
      "title": "Push: the re-engagement channel",
      "body": "Push notifications are the main way to reactivate users who left the habit loop. **Personalized** notifications — using the user's name and behavioral history — significantly outperform generic ones at driving people back.",
      "tags": [
        "push",
        "re-engagement"
      ],
      "studyGuideAnchor": "push-the-re-engagement-channel",
      "illustration": {
        "imageSearchTerm": "smartphone push notification banner",
        "imagePrompt": "A smartphone lock screen displaying a push notification banner.",
        "alt": "Push: the re-engagement channel",
        "depictable": true,
        "credit": "Pexels · RDNE Stock project · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/an-alert-message-on-a-cellphone-7821762/",
        "subject": "An iPhone lying face-up on a dark wood table, lock screen (5:32, Friday April 16) displaying a push-notification banner from 'My Bank': 'We've detected unusual activity in your account!...' — a clear, well-lit, tightly framed shot with the banner large and centered, phone filling most of the frame",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-push-channel.webp"
      },
      "uid": "vi32z6fiyubi"
    },
    {
      "id": "sa-pair-push-timing",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Timing"
      },
      "sideB": {
        "modality": "text",
        "value": "send at high-probability moments — post-commute, lunch, evening"
      },
      "tags": [
        "push",
        "re-engagement"
      ],
      "uid": "129fu7s4blns8"
    },
    {
      "id": "sa-pair-push-personalization",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Personalization"
      },
      "sideB": {
        "modality": "text",
        "value": "reference the user's specific state — '2 days from your longest streak'"
      },
      "tags": [
        "push",
        "re-engagement"
      ],
      "uid": "1k7bl2ri7uq19"
    },
    {
      "id": "sa-pair-push-fomo",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Curiosity / FOMO gap"
      },
      "sideB": {
        "modality": "text",
        "value": "'Your friend just overtook your rank' — competitive anxiety plus social proof"
      },
      "tags": [
        "push",
        "re-engagement"
      ],
      "uid": "k6zz295uqxxn"
    },
    {
      "id": "sa-cmp-push-personalized-generic",
      "shape": "comparison",
      "prompt": "Which push notification drives stronger re-engagement?",
      "correct": {
        "caption": "'Maria, you're 2 days from your longest streak ever — keep it alive!'",
        "imageSearchTerm": "smartphone personalized notification",
        "imagePrompt": "Photorealistic close-up of a smartphone lock screen showing a warm, personalized app notification that uses a first name and references a personal streak, soft evening light, hand holding the phone"
      },
      "incorrect": {
        "caption": "'Hey there, don't forget to open up the app again sometime today, okay!'",
        "imageSearchTerm": "smartphone generic notification",
        "imagePrompt": "Photorealistic close-up of a smartphone lock screen showing a bland generic app reminder with no name or personal detail, flat lighting, slightly ignored on a desk"
      },
      "explanation": "Personalized notifications that use the user's name and behavioral history significantly outperform generic copy at driving re-engagement.",
      "tags": [
        "push",
        "re-engagement"
      ],
      "uid": "1lq7qbo1wgme4k"
    },
    {
      "id": "sa-mcq-push-rules",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Which is NOT one of the three rules for effective push notifications?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Open a curiosity or FOMO gap",
          "short": "Open a curiosity or FOMO gap"
        },
        {
          "modality": "text",
          "value": "Send at the same fixed interval every day regardless of context",
          "short": "Send at a fixed daily interval"
        },
        {
          "modality": "text",
          "value": "Time it to moments of high probability of action",
          "short": "Time it to high-action moments"
        },
        {
          "modality": "text",
          "value": "Personalize it to the user's specific state",
          "short": "Personalize to the user's state"
        }
      ],
      "correctIndex": 1,
      "explanation": "Effective push follows timing, personalization, and a curiosity/FOMO gap. Arbitrary fixed intervals are exactly what these rules replace.",
      "tags": [
        "push",
        "re-engagement"
      ],
      "uid": "1rz4vhs1i66doo"
    },
    {
      "id": "sa-pair-linkedin-investment",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "LinkedIn"
      },
      "sideB": {
        "modality": "text",
        "value": "professional reputation score"
      },
      "tags": [
        "investment",
        "case-study",
        "linkedin"
      ],
      "uid": "10hhsdh1ptosuf"
    },
    {
      "id": "sa-pair-duolingo-investment",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Duolingo"
      },
      "sideB": {
        "modality": "text",
        "value": "streak count"
      },
      "tags": [
        "investment",
        "case-study",
        "duolingo"
      ],
      "uid": "1obwjgn173xx71"
    },
    {
      "id": "sa-num-day3-dropoff",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Share of users who stop using an app after day 3 following install"
      },
      "value": 80,
      "unit": "%",
      "tags": [
        "cohorts",
        "retention"
      ],
      "uid": "kqpq6d14209wf"
    },
    {
      "id": "sa-num-day1-retention",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Average mobile app Day 1 retention (high end of benchmark)"
      },
      "value": 30,
      "unit": "%",
      "tags": [
        "cohorts",
        "retention"
      ],
      "uid": "1m1znpg1chqyno"
    },
    {
      "id": "sa-num-day7-retention",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Average mobile app Day 7 retention (high end of benchmark)"
      },
      "value": 15,
      "unit": "%",
      "tags": [
        "cohorts",
        "retention"
      ],
      "uid": "171676n119q049"
    },
    {
      "id": "sa-num-day30-retention",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Average mobile app Day 30 retention (high end of benchmark)"
      },
      "value": 8,
      "unit": "%",
      "tags": [
        "cohorts",
        "retention"
      ],
      "uid": "za433hpcepqj"
    },
    {
      "id": "sa-num-ltv-uplift",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Maximum LTV uplift from a 5% improvement in retention"
      },
      "value": 95,
      "unit": "%",
      "tags": [
        "cohorts",
        "retention"
      ],
      "uid": "1ovppqyu0w8zq"
    },
    {
      "id": "sa-fact-core-loop-four",
      "shape": "fact",
      "title": "The four jobs of a core loop",
      "body": "Every sticky app has a **core loop** — the action a user repeats each session. A good one does four things: it's **completable in 2–5 minutes** (micro-session compatible), it gives **immediate feedback**, it **ends with a variable reward**, and it **sets up the next session** through an open loop.",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "studyGuideAnchor": "the-four-jobs-of-a-core-loop",
      "illustration": {
        "imageSearchTerm": "circular arrows repeating cycle",
        "imagePrompt": "A circular arrow diagram symbolizing a short, repeating loop of activity.",
        "alt": "The four jobs of a core loop",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-core-loop-four.webp"
      },
      "uid": "1n7ol1slc0lj"
    },
    {
      "id": "sa-num-doherty-ms",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Response time below which core-loop feedback feels immediate (the Doherty Threshold)"
      },
      "value": 400,
      "unit": "ms",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "uid": "5oolba1vietvm"
    },
    {
      "id": "sa-fact-zeigarnik-open-loop",
      "shape": "fact",
      "title": "End on an open loop",
      "body": "The best core loops don't end clean — they end with a **Zeigarnik open loop**, a setup condition for the *next* session. An unfinished lesson, a half-built streak, a 'come back tomorrow' hook leaves a small itch the brain wants to close.",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "studyGuideAnchor": "end-on-an-open-loop",
      "illustration": {
        "imageSearchTerm": "unfinished progress bar incomplete",
        "imagePrompt": "A task progress bar left visibly incomplete, stopped just short of the finish line.",
        "alt": "End on an open loop",
        "depictable": true,
        "credit": "Pexels · Mahmoud Zakariya · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/high-rise-building-under-construction-against-clear-sky-39505051/",
        "subject": "Bare concrete top floors of a high-rise under construction — open floor plates, red brick core, no walls or windows yet, against clear blue sky; unmistakably mid-build",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-zeigarnik-open-loop.webp"
      },
      "uid": "133b6i190rq3v"
    },
    {
      "id": "sa-fact-notification-architecture",
      "shape": "fact",
      "title": "Notifications: trigger on state, not the clock",
      "body": "Effective notifications are **contextually triggered**, not time-scheduled — fire when the user breaks their streak pattern, not at 9 AM daily. They're **personalized** to state ('Your 14-day streak is at risk' beats 'Don't forget to practice'), and **social** wherever possible ('Alex just passed your score').",
      "tags": [
        "design-patterns",
        "notifications"
      ],
      "studyGuideAnchor": "notifications-trigger-on-state-not-the-clock",
      "illustration": {
        "imageSearchTerm": "smartphone notification alert screen",
        "imagePrompt": "A smartphone screen showing a personalized notification alert.",
        "alt": "Notifications: trigger on state, not the clock",
        "depictable": true,
        "credit": "Pexels · RDNE Stock project · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/smartphone-on-the-wooden-table-7821761/",
        "subject": "A smartphone lying face-up on a dark wood table showing its lock screen with a clear, legible SMS notification banner from 'My Bank': 'Credit Card ***13 is blocked. Reply STOP if you don't wish to receive FRAUD ALERTS.'",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-notification-architecture.webp"
      },
      "uid": "lzvfw417xsips"
    },
    {
      "id": "sa-fact-streak-freeze",
      "shape": "fact",
      "title": "The streak + freeze pattern",
      "body": "Any app usable daily should have a **streak counter**. The **freeze** mechanic — letting a missed day pass without losing the streak, purchased or earned — converts the streak from attrition-driving anxiety into a resource-management meta-game that deepens investment.",
      "tags": [
        "design-patterns",
        "retention"
      ],
      "studyGuideAnchor": "the-streak-freeze-pattern",
      "illustration": {
        "imageSearchTerm": "frozen ice crystal icon",
        "imagePrompt": "A frost-covered ice crystal symbolizing a protective freeze on a streak counter.",
        "alt": "The streak + freeze pattern",
        "depictable": true,
        "credit": "Don Komarechka (Openverse) · cc0 1.0",
        "creditUrl": "https://www.flickr.com/photos/35693660@N03/38115232341",
        "subject": "A single symmetrical six-armed snowflake (an actual ice crystal) in sharp macro detail against a plain black background — a clean, icon-like photograph of exactly what the search term asks for.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-streak-freeze.webp"
      },
      "uid": "mbo2as1voh3nc"
    },
    {
      "id": "sa-pair-personalized-notification",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Personalized notification"
      },
      "sideB": {
        "modality": "text",
        "value": "'Your 14-day streak is at risk'"
      },
      "tags": [
        "design-patterns",
        "notifications"
      ],
      "uid": "1ko9r1f2vl55d"
    },
    {
      "id": "sa-mcq-doherty",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Why must a core loop deliver feedback in under ~400ms?"
      },
      "options": [
        {
          "modality": "text",
          "value": "App stores reject apps slower than 400ms",
          "short": "App stores reject slower apps"
        },
        {
          "modality": "text",
          "value": "Below the Doherty Threshold the interaction feels immediate and responsive",
          "short": "Below Doherty, it feels instant"
        },
        {
          "modality": "text",
          "value": "It is the minimum time a server needs to log the action",
          "short": "Min time to log the action"
        },
        {
          "modality": "text",
          "value": "It matches the average human blink duration",
          "short": "Matches a human blink's duration"
        }
      ],
      "correctIndex": 1,
      "explanation": "The Doherty Threshold is the ~400ms ceiling below which feedback feels immediate; cross it and responsiveness — and engagement — drops off.",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "uid": "4zlxh71a5awm5"
    },
    {
      "id": "sa-num-core-loop-minutes",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Upper bound on how long a micro-session-compatible core loop should take to complete"
      },
      "value": 5,
      "unit": "minutes",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "uid": "py0oae32rtdi"
    },
    {
      "id": "sa-proc-social-layer-order",
      "shape": "procedure",
      "goal": "Sequence an app's social features in the right build order",
      "steps": [
        "Asynchronous social proof — leaderboards and follower counts; low friction, immediately reinforcing.",
        "Cooperative features — shared quests and collaborative challenges; medium investment, strong oxytocin activation.",
        "Synchronous competition — live battles and real-time leaderboards; high friction, high reward, best for power users."
      ],
      "notes": "Don't force synchronous features early — a user who can't find a match or partner abandons.",
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "uid": "1xcqsyi7kf236"
    },
    {
      "id": "sa-pair-async-social-proof",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Asynchronous social proof"
      },
      "sideB": {
        "modality": "text",
        "value": "Leaderboards, follower counts"
      },
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "uid": "9e8km6vtbuuy"
    },
    {
      "id": "sa-pair-cooperative-features",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Cooperative features"
      },
      "sideB": {
        "modality": "text",
        "value": "Shared quests, collaborative challenges"
      },
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "uid": "9omt4c1ufgzac"
    },
    {
      "id": "sa-pair-synchronous-competition",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Synchronous competition"
      },
      "sideB": {
        "modality": "text",
        "value": "Live battles, real-time leaderboards"
      },
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "uid": "xrog665dmk0e"
    },
    {
      "id": "sa-def-zero-blank-slate",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Zero blank slate"
      },
      "definition": {
        "modality": "text",
        "value": "Pre-populating a new user's experience with data, suggested friends, or example content, because an empty screen signals no value."
      },
      "tags": [
        "design-patterns",
        "onboarding",
        "vocabulary"
      ],
      "uid": "sjbd161f59mem"
    },
    {
      "id": "sa-num-quick-win-seconds",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Window in which onboarding should deliver the first quick win"
      },
      "value": 60,
      "unit": "seconds",
      "tags": [
        "design-patterns",
        "onboarding"
      ],
      "uid": "f1jcq91m9yyqj"
    },
    {
      "id": "sa-fact-aha-moment",
      "shape": "fact",
      "title": "Instrument the Aha Moment",
      "body": "The **Aha Moment** is the action most correlated with 7-day retention in your cohort data. Use product analytics to find it, then orient all of onboarding to deliver users there as fast as possible. Everything before the Aha Moment is overhead.",
      "tags": [
        "design-patterns",
        "onboarding"
      ],
      "studyGuideAnchor": "instrument-the-aha-moment",
      "illustration": {
        "imageSearchTerm": "lightbulb moment realization",
        "imagePrompt": "A glowing lightbulb above a person's head, symbolizing a sudden moment of realization.",
        "alt": "Instrument the Aha Moment",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-aha-moment.webp"
      },
      "uid": "1w01vio1u8694o"
    },
    {
      "id": "sa-fact-ethical-guardrails",
      "shape": "fact",
      "title": "Same mechanism, opposite intent",
      "body": "The mechanisms that build habits can also build dependencies; the distinction lies in **alignment with the user's goals**. **Dark patterns** — shaming copy, impossible cancellation, manufactured scarcity — destroy trust. Humane design uses streak freezes, gentle session-end cues, transparency, and user controls instead.",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "studyGuideAnchor": "same-mechanism-opposite-intent",
      "illustration": {
        "imageSearchTerm": "scale balance light dark",
        "imagePrompt": "A balance scale with light on one side and shadow on the other, symbolizing an ethical contrast.",
        "alt": "Same mechanism, opposite intent",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:TT_-_ZZ_-_T_Spur.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-ethical-guardrails.webp"
      },
      "uid": "172kvnc40sro0"
    },
    {
      "id": "sa-cmp-humane-vs-dark",
      "shape": "comparison",
      "prompt": "Which decline button is the humane design rather than a dark pattern?",
      "correct": {
        "caption": "A neutral 'Not now' that lets the user decline without judgment",
        "imageSearchTerm": "app dialog cancel button",
        "imagePrompt": "Clean mobile app dialog with two clearly labeled buttons, a primary 'Yes' and a neutral grey 'Not now', calm minimal UI, no guilt language, soft neutral palette, photorealistic phone screen mockup"
      },
      "incorrect": {
        "caption": "A shaming decline button reading: 'No, I don't want to be smart'",
        "imageSearchTerm": "manipulative app guilt button",
        "imagePrompt": "Mobile app dialog using confirmshaming, the decline button reads 'No, I don't want to be smart' in small grey text beside a bright accept button, manipulative UI, photorealistic phone screen mockup"
      },
      "explanation": "Shaming language on a decline button is a confirmshaming dark pattern. A neutral 'Not now' respects the user's goals and preserves long-term trust.",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "uid": "1cklozu1721a2i"
    },
    {
      "id": "sa-cmp-freeze-vs-break",
      "shape": "comparison",
      "prompt": "Which streak design is humane rather than anxiety-driven?",
      "correct": {
        "caption": "Streak freeze: a missed day is absorbed, not punished",
        "imageSearchTerm": "streak freeze app",
        "imagePrompt": "Mobile app UI showing a streak counter with a blue snowflake 'freeze' icon protecting the streak after a missed day, reassuring tone, photorealistic phone screen mockup"
      },
      "incorrect": {
        "caption": "Unconditional break: one missed day resets the streak to zero",
        "imageSearchTerm": "streak reset zero app",
        "imagePrompt": "Mobile app UI showing a long streak counter collapsing to zero after a single missed day, red warning styling, anxious tone, photorealistic phone screen mockup"
      },
      "explanation": "The freeze mechanic converts the streak from attrition-driving anxiety into a resource-management meta-game; an unconditional reset just punishes.",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "uid": "e4fv6r1wul9jd"
    },
    {
      "id": "sa-pair-fogg-maxim-want",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Fogg's first maxim"
      },
      "sideB": {
        "modality": "text",
        "value": "Help people do what they already want to do"
      },
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "uid": "1nr77b18iedud"
    },
    {
      "id": "sa-pair-fogg-maxim-simplicity",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Fogg's maxim on behavior change"
      },
      "sideB": {
        "modality": "text",
        "value": "Simplicity changes behavior"
      },
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "uid": "ea48qtpjqqnv"
    },
    {
      "id": "sa-mcq-dark-pattern",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Which is a dark pattern rather than a humane design choice?"
      },
      "options": [
        {
          "modality": "text",
          "value": "An impossible-to-find cancellation flow"
        },
        {
          "modality": "text",
          "value": "A streak freeze that absorbs a missed day"
        },
        {
          "modality": "text",
          "value": "A gentle session-end cue"
        },
        {
          "modality": "text",
          "value": "User controls over notification frequency"
        }
      ],
      "correctIndex": 0,
      "explanation": "Impossible cancellation is a classic dark pattern that destroys trust. Freezes, session-end cues, and notification controls are humane alternatives.",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "uid": "vveg161jmpxt6"
    },
    {
      "id": "sa-fact-ppte-framework",
      "shape": "fact",
      "title": "People, Places, Things, Events",
      "body": "Sticky design treats **context** as a first-class variable across four axes — **People** (the social graph), **Places** (where the user engages), **Things** (artifacts they accumulate), and **Events** (recurring real-world moments). Each axis is a design question, not an afterthought.",
      "tags": [
        "design-patterns",
        "context",
        "frameworks"
      ],
      "illustration": {
        "kind": "diagram",
        "imagePrompt": "Hand-drawn mindmap of the People/Places/Things/Events context design framework",
        "imageSearchTerm": "people places things events framework",
        "alt": "Diagram of the context framework: People, Places, Things, Events",
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-fact-ppte-framework.svg"
      },
      "studyGuideAnchor": "people-places-things-events",
      "uid": "1h5jdumuygid2"
    },
    {
      "id": "sa-pair-ppte-people",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "People"
      },
      "sideB": {
        "modality": "text",
        "value": "Who is in the user's social graph?"
      },
      "tags": [
        "design-patterns",
        "context"
      ],
      "uid": "us65np1s0yl6b"
    },
    {
      "id": "sa-pair-ppte-places",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Places"
      },
      "sideB": {
        "modality": "text",
        "value": "Where is the user when they engage?"
      },
      "tags": [
        "design-patterns",
        "context"
      ],
      "uid": "1cki1qg1v9phkk"
    },
    {
      "id": "sa-pair-ppte-things",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Things"
      },
      "sideB": {
        "modality": "text",
        "value": "What artifacts does the user accumulate?"
      },
      "tags": [
        "design-patterns",
        "context"
      ],
      "uid": "ajqx4hqvgu8v"
    },
    {
      "id": "sa-pair-ppte-events",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Events"
      },
      "sideB": {
        "modality": "text",
        "value": "What recurring real-world moments or occasions re-engage the user?"
      },
      "tags": [
        "design-patterns",
        "context"
      ],
      "uid": "vnv6p2be617u"
    },
    {
      "id": "sa-fact-things-switching-cost",
      "shape": "fact",
      "title": "Every 'Thing' is a sunk cost",
      "body": "Under **Things**, the artifacts a user accumulates — streaks, badges, followers, portfolio items, content — each act as a sunk cost that raises the **switching cost** of leaving. The more a user has built, the more it hurts to abandon.",
      "tags": [
        "design-patterns",
        "context"
      ],
      "studyGuideAnchor": "every-thing-is-a-sunk-cost",
      "illustration": {
        "imageSearchTerm": "collected badges trophies display",
        "imagePrompt": "A shelf displaying an accumulated collection of trophies, badges, and awards.",
        "alt": "Every 'Thing' is a sunk cost",
        "depictable": true
      },
      "uid": "qjy7cm1bmpf76"
    },
    {
      "id": "sa-fact-duolingo-newyear",
      "shape": "fact",
      "title": "Events: the New Year's spike",
      "body": "**Events** are recurring real-world moments — resolutions, back-to-school, sports seasons, holidays — that open re-engagement windows. Duolingo's **Q1 DAU spike**, its largest quarterly gain ever, is attributable in part to New Year's resolution-makers.",
      "tags": [
        "design-patterns",
        "context",
        "case-study"
      ],
      "studyGuideAnchor": "events-the-new-year-s-spike",
      "illustration": {
        "imageSearchTerm": "New Year resolution fireworks",
        "imagePrompt": "A New Year's Eve fireworks celebration symbolizing the start of new resolutions.",
        "alt": "Events: the New Year's spike",
        "depictable": true,
        "credit": "Wikipedia — New Year · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/New_Year",
        "subject": "Fireworks bursting over Copacabana Beach, Rio de Janeiro, on New Year's Eve, with a massive crowd dressed in white along the shore and a rooftop pool/terrace in the foreground",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-duolingo-newyear.webp"
      },
      "uid": "13ckkueym38xq"
    },
    {
      "id": "sa-mcq-ppte-things",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "In the PPTE framework, which axis covers accumulated artifacts like streaks, badges, and followers?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Places"
        },
        {
          "modality": "text",
          "value": "Things"
        },
        {
          "modality": "text",
          "value": "People"
        },
        {
          "modality": "text",
          "value": "Events"
        }
      ],
      "correctIndex": 1,
      "explanation": "Things are the artifacts a user accumulates; each one is a sunk cost that raises the switching cost of leaving.",
      "tags": [
        "design-patterns",
        "context"
      ],
      "uid": "1kg7yok4vqm84"
    },
    {
      "id": "sa-fact-duolingo-streak-loss",
      "shape": "fact",
      "title": "The fire and the hourglass",
      "body": "Duolingo's **streak** turns a counter into a daily anxiety. The fire emoji and the hourglass warning create a low-grade dread that resolves only one way: opening the app. The mechanism is **loss aversion** — you log in to avoid losing what you've built.",
      "tags": [
        "case-study",
        "gamification",
        "duolingo"
      ],
      "studyGuideAnchor": "the-fire-and-the-hourglass",
      "illustration": {
        "imageSearchTerm": "flame and hourglass icons",
        "imagePrompt": "A flickering flame beside a sand hourglass, symbolizing a streak at risk of being lost.",
        "alt": "The fire and the hourglass",
        "depictable": true,
        "credit": "Pexels · Towfiqu barbhuiya · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/macro-shot-of-an-hourglass-11069123/",
        "subject": "A single brass-and-glass hourglass with pale sand trickling down, sharply lit against a solid dark background — clean, dramatic, unambiguous",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-duolingo-streak-loss.webp"
      },
      "uid": "1up9gokigkwnk"
    },
    {
      "id": "sa-def-demotion-threat",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Demotion threat"
      },
      "definition": {
        "modality": "text",
        "value": "A league mechanic where falling below a tier's cutoff drops you a rank — the fear of dropping is engineered to motivate more than the desire to advance."
      },
      "tags": [
        "case-study",
        "gamification",
        "vocabulary"
      ],
      "uid": "1y3w4wa1vo0rie"
    },
    {
      "id": "sa-fact-duolingo-leagues",
      "shape": "fact",
      "title": "Leagues and the fear of dropping",
      "body": "Duolingo's weekly **leaderboards** promote and demote players between tiers. The design exploits a known asymmetry: the fear of dropping a league tier is more motivating than the desire to climb one. Loss aversion, dressed as competition.",
      "tags": [
        "case-study",
        "gamification",
        "duolingo"
      ],
      "studyGuideAnchor": "leagues-and-the-fear-of-dropping",
      "illustration": {
        "imageSearchTerm": "tiered league ranking podium",
        "imagePrompt": "A tiered league ranking board showing players promoted and demoted between levels.",
        "alt": "Leagues and the fear of dropping",
        "depictable": true,
        "credit": "Pexels · DS stories · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/medals-on-pedestal-on-pink-studio-background-7267588/",
        "subject": "A clean studio photo of gold, silver, and bronze medals (numbered 1, 2, 3) resting on ascending white pedestals against a pastel-lilac background — a clear, classic tiered-podium image",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-duolingo-leagues.webp"
      },
      "uid": "1kjt968ygpngw"
    },
    {
      "id": "sa-num-duolingo-courses",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "New Duolingo courses launched in under a year using generative AI (vs. 12+ months each before)"
      },
      "value": 148,
      "unit": "courses",
      "tags": [
        "case-study",
        "duolingo",
        "by-the-numbers"
      ],
      "uid": "14cbmz1rrwa2j"
    },
    {
      "id": "sa-mcq-duolingo-ai",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "What did generative AI change about Duolingo's content production?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It removed the need for leaderboards",
          "short": "Removed need for leaderboards"
        },
        {
          "modality": "text",
          "value": "It let them launch 148 new courses in under a year, instead of 12+ months per course",
          "short": "Launched 148 courses in <1 year"
        },
        {
          "modality": "text",
          "value": "It auto-translated user posts",
          "short": "Auto-translated user posts"
        },
        {
          "modality": "text",
          "value": "It replaced the streak with an AI tutor",
          "short": "Replaced streak with an AI tutor"
        }
      ],
      "correctIndex": 1,
      "explanation": "Generative AI collapsed course-building time from 12+ months each to 148 new courses in under a year — a step-change in content breadth, which feeds retention by giving users more to do.",
      "tags": [
        "case-study",
        "duolingo",
        "gamification"
      ],
      "uid": "10u1z5ckzxshs"
    },
    {
      "id": "sa-pair-tiktok-mechanic",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "TikTok"
      },
      "sideB": {
        "modality": "text",
        "value": "Interest graph + variable-ratio For You Page"
      },
      "tags": [
        "case-study",
        "interest-graph",
        "tiktok"
      ],
      "uid": "1plyzj5ytl5z"
    },
    {
      "id": "sa-fact-tiktok-completion-rate",
      "shape": "fact",
      "title": "Watched to the last second",
      "body": "TikTok's algorithm weighs **completion rate** — watch-through to the final second — above almost every other signal. That single weighting creates a race among creators to hold attention to the end, and a per-user model refined by **matrix factorization** with every swipe.",
      "tags": [
        "case-study",
        "interest-graph",
        "tiktok"
      ],
      "studyGuideAnchor": "watched-to-the-last-second",
      "illustration": {
        "imageSearchTerm": "video progress bar complete",
        "imagePrompt": "A video player progress bar filled completely to the very end.",
        "alt": "Watched to the last second",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:-rodaviva_22-12-08_del_protogenes-2_(3129578788).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-tiktok-completion-rate.webp"
      },
      "uid": "cn7n3n4zk3nd"
    },
    {
      "id": "sa-mcq-tiktok-signal",
      "shape": "mcq",
      "prompt": {
        "modality": "text",
        "value": "Which signal does TikTok's algorithm weight above almost all others?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Completion rate — watch-through to the final second"
        },
        {
          "modality": "text",
          "value": "Number of followers a creator has"
        },
        {
          "modality": "text",
          "value": "Whether you follow the creator"
        },
        {
          "modality": "text",
          "value": "How recently the video was posted"
        }
      ],
      "correctIndex": 0,
      "explanation": "Completion rate is weighted above almost all other signals, pushing creators to hold attention to the last second. Following is largely irrelevant on the interest graph.",
      "tags": [
        "case-study",
        "interest-graph",
        "tiktok"
      ],
      "uid": "1b1kmhp1cx9io7"
    },
    {
      "id": "sa-fact-instagram-moat",
      "shape": "fact",
      "title": "The graph is the moat",
      "body": "Even as Instagram chased content, the **social graph** stayed its moat. Research found users value connections with family and close friends far above content-only connections — so the graph is functionally irreplaceable even when a competitor clones the content quality.",
      "tags": [
        "case-study",
        "interest-graph",
        "instagram"
      ],
      "studyGuideAnchor": "the-graph-is-the-moat",
      "illustration": {
        "imageSearchTerm": "tight-knit family friends network",
        "imagePrompt": "An illustration of tightly connected nodes representing close family and friend relationships.",
        "alt": "The graph is the moat",
        "depictable": false,
        "credit": "Wikimedia Commons · CC BY-SA 4.0",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:A_tight_knit_family_in_the_wild,_and_the_elephants_show_us_how.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-instagram-moat.webp"
      },
      "uid": "q4ueju1psc6jq"
    },
    {
      "id": "sa-pair-instagram-mechanic",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Instagram"
      },
      "sideB": {
        "modality": "text",
        "value": "Social graph moat + algorithmic Reels broadcast"
      },
      "tags": [
        "case-study",
        "interest-graph",
        "instagram"
      ],
      "uid": "anppkv19re05x"
    },
    {
      "id": "sa-cmp-interest-vs-social-graph",
      "shape": "comparison",
      "prompt": "Two ways to decide what content a user sees. Which one is TikTok's interest graph?",
      "correct": {
        "caption": "Interest graph — content ranked by what behavior says you're drawn to. Optimizes raw engagement; no connection required.",
        "imageSearchTerm": "recommendation algorithm feed",
        "imagePrompt": "Clean conceptual illustration of a single phone surrounded by a swirling cloud of varied content thumbnails, arrows weighted by a glowing engagement signal pointing back to the phone, no human faces or social links, cool blue palette, flat vector style"
      },
      "incorrect": {
        "caption": "Social graph — content ranked by who you're connected to. Optimizes bonding; requires a network of people you know.",
        "imageSearchTerm": "social network connections diagram",
        "imagePrompt": "Clean conceptual illustration of nodes representing people connected by lines into a friend network, content flowing only along the existing connections, warm palette, flat vector style"
      },
      "explanation": "TikTok's interest graph delivers content from behavioral signals (engagement), so it works with zero followers. Instagram and Facebook were built on the social graph (bonding), where what you see depends on who you know.",
      "tags": [
        "case-study",
        "interest-graph",
        "tiktok"
      ],
      "uid": "1ejvicddi45iz"
    },
    {
      "id": "sa-fact-snapchat-ephemeral",
      "shape": "fact",
      "title": "Disappearing by design",
      "body": "**Snapchat** built around **ephemeral content** — but that wasn't a privacy feature, it was behavioral design. Disappearing Snaps create urgency (FOMO) and lower the social anxiety of sharing imperfect content. Vanishing makes posting feel cheap, which makes it frequent.",
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "studyGuideAnchor": "disappearing-by-design",
      "curatedDistractors": [
        "Snapchat Lenses",
        "Bitmoji avatars",
        "Discover channels"
      ],
      "illustration": {
        "imageSearchTerm": "photo fading disappearing effect",
        "imagePrompt": "A photograph on a smartphone screen fading away and dissolving into nothing.",
        "alt": "Disappearing by design",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Affinity-photo-icon.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-snapchat-ephemeral.webp"
      },
      "uid": "rha94g131go3w"
    },
    {
      "id": "sa-def-ephemeral-content",
      "shape": "definition",
      "term": {
        "modality": "text",
        "value": "Ephemeral content"
      },
      "definition": {
        "modality": "text",
        "value": "Posts that auto-delete after viewing or a set window — engineered to create urgency and to lower the social anxiety of sharing imperfect moments."
      },
      "tags": [
        "case-study",
        "ephemerality",
        "vocabulary"
      ],
      "curatedDistractors": [
        "Infinite scroll",
        "For You Page (FYP)",
        "Progressive disclosure"
      ],
      "uid": "7y5c251ep8urf"
    },
    {
      "id": "sa-fact-snapchat-group-streaks",
      "shape": "fact",
      "title": "Streaks go collective",
      "body": "Snapchat's September 2025 **Group Streaks** extend the obligation to multi-person relationships: collective Snapping from most of a group keeps the streak alive. Now non-participation costs you the group, not just a friend — multiplying the social pressure.",
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "studyGuideAnchor": "streaks-go-collective",
      "curatedDistractors": [
        "Instagram's October",
        "TikTok's August",
        "Duolingo's November"
      ],
      "illustration": {
        "imageSearchTerm": "group friends using phones",
        "imagePrompt": "A group of friends together, each looking at their phones and staying connected.",
        "alt": "Streaks go collective",
        "depictable": true,
        "credit": "Pexels · Antoni Shkraba · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/group-of-young-people-standing-on-stairs-using-phones-and-wearing-face-masks-6321653/",
        "subject": "Four young adults in winter coats and face masks standing together on an outdoor staircase, each individually holding and using their own phone or tablet — a direct, clean depiction of a group of friends using phones",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-snapchat-group-streaks.webp"
      },
      "uid": "1gcwc3r2z8ejh"
    },
    {
      "id": "sa-pair-snapchat-mechanic",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "Snapchat"
      },
      "sideB": {
        "modality": "text",
        "value": "Ephemeral content + loss-aversion streaks"
      },
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "uid": "12mzihq1ppa7lq"
    },
    {
      "id": "sa-fact-farmville-proof",
      "shape": "fact",
      "title": "The proof of concept",
      "body": "**FarmVille** (2009) was the prototype for social-obligation loops. Its **gift-sending** mechanics required other players to participate — your progress depended on theirs, and theirs on yours. The loop ran on social obligation and loss aversion, not on the game being fun.",
      "tags": [
        "case-study",
        "social-obligation",
        "farmville"
      ],
      "studyGuideAnchor": "the-proof-of-concept",
      "illustration": {
        "imageSearchTerm": "virtual farm crops gifts",
        "imagePrompt": "A cartoon virtual farm scene with crops and a gift box icon representing a sent gift.",
        "alt": "The proof of concept",
        "depictable": true,
        "credit": "Pexels · Sam McCool · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/sunset-over-cornfield-with-dramatic-clouds-33786601/",
        "subject": "An aerial photo of rows of young cornfield crops stretching to the horizon at sunset, with dramatic storm clouds overhead.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-farmville-proof.webp"
      },
      "uid": "1ruvfcn18bxr9t"
    },
    {
      "id": "sa-pair-farmville-mechanic",
      "shape": "pair",
      "sideA": {
        "modality": "text",
        "value": "FarmVille"
      },
      "sideB": {
        "modality": "text",
        "value": "Social-obligation gift-sending loops"
      },
      "tags": [
        "case-study",
        "social-obligation",
        "farmville"
      ],
      "uid": "13lrllbm1bnbl"
    },
    {
      "id": "sa-num-farmville-mau",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "FarmVille's peak monthly active users (2009-era)"
      },
      "value": 74,
      "unit": "million-users",
      "tags": [
        "case-study",
        "farmville",
        "by-the-numbers"
      ],
      "uid": "rd1doi6gbzgu"
    },
    {
      "id": "sa-num-duolingo-dau-mau",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's DAU/MAU ratio"
      },
      "value": 36,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo",
        "retention-stats"
      ],
      "uid": "1rok84vpybpvt"
    },
    {
      "id": "sa-num-duolingo-retention",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's day-over-day retention of daily active users"
      },
      "value": 55,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo",
        "retention-stats"
      ],
      "uid": "1mu6hqh1k8anqn"
    },
    {
      "id": "sa-num-duolingo-mcap-ipo",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's market cap at IPO"
      },
      "value": 5000000000,
      "unit": "USD",
      "tags": [
        "case-study",
        "duolingo",
        "market-cap"
      ],
      "uid": "s6fpu81jk9lc8"
    },
    {
      "id": "sa-num-duolingo-mcap-q1-2025",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Duolingo's market cap by Q1 2025"
      },
      "value": 22000000000,
      "unit": "USD",
      "tags": [
        "case-study",
        "duolingo",
        "market-cap"
      ],
      "uid": "9c70ws1qt8yxc"
    },
    {
      "id": "sa-fact-duolingo-xp",
      "shape": "fact",
      "title": "XP that isn't fixed",
      "body": "Lesson completion yields **variable XP** — bonus rounds, surprise multipliers, and 'Perfect Lesson' celebrations. The reward isn't a flat payout; it's unpredictable, which is exactly what keeps the next lesson worth starting.",
      "tags": [
        "case-study",
        "gamification",
        "duolingo"
      ],
      "studyGuideAnchor": "xp-that-isn-t-fixed",
      "curatedDistractors": [
        "Combo Bonus",
        "Legendary Level",
        "Lightning Round"
      ],
      "illustration": {
        "imageSearchTerm": "bonus points stars burst",
        "imagePrompt": "A burst of glowing stars and points erupting on screen, symbolizing a surprise bonus.",
        "alt": "XP that isn't fixed",
        "depictable": true,
        "credit": "Pexels · MARIANNE RIXHON · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/fireworks-display-in-the-sky-13547360/",
        "subject": "Two symmetric firework bursts radiating fine white/pink sparks against a solid black night sky — a clean, iconic 'celebration burst' image.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/sa-fact-duolingo-xp.webp"
      },
      "uid": "it9x9jncuefp"
    },
    {
      "id": "sa-num-industry-dau-mau",
      "shape": "numeric",
      "prompt": {
        "modality": "text",
        "value": "Industry-average DAU/MAU ratio (Duolingo sits well above this)"
      },
      "value": 20,
      "unit": "%",
      "tags": [
        "case-study",
        "duolingo",
        "retention-stats"
      ],
      "uid": "1eaj3xp12d04u3"
    },
    {
      "id": "scrapbook-sticky-apps-1",
      "shape": "fact",
      "factVariant": "scrapbook",
      "title": "Dopamine Fires Before the Reward",
      "body": "A collage illustrating the anticipation of rewards in mobile apps.",
      "tags": [
        "scrapbook",
        "overview"
      ],
      "illustration": {
        "kind": "scrapbook",
        "alt": "A collage illustrating the anticipation of rewards in mobile apps.",
        "imagePrompt": "A cheerful scrapbook collage showcasing the concept of dopamine in app interactions. Features a large hand-lettered title at the top. Use vibrant colors to represent anticipation, with a central illustration of a phone displaying a game setting like FarmVille. Include doodles of dopamine molecules and arrows pointing to small labels explaining 'Anticipation', 'Reward', and 'Surprise'. Incorporate playful stickers illustrating happy users and notifications, arranged with torn-paper layers for a warm, inviting look.",
        "imageSearchTerm": "sticky-apps scrapbook poster",
        "credit": "AI-generated (gpt-image-1)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/generated/scrapbook-1.webp"
      },
      "uid": "4gu49a1qlrqge"
    },
    {
      "id": "scrapbook-sticky-apps-2",
      "shape": "fact",
      "factVariant": "scrapbook",
      "title": "Hooked: The Algorithm Era",
      "body": "Exploring the emotional hooks in mobile app design.",
      "tags": [
        "scrapbook",
        "overview"
      ],
      "illustration": {
        "kind": "scrapbook",
        "alt": "Exploring the emotional hooks in mobile app design.",
        "imagePrompt": "A lively scrapbook poster that highlights Eyal's Hook Model. The title is hand-lettered prominently in a whimsical style. Central imagery of a phone with a mystical algorithm swirling around it. Include paper layers representing different stages of the Hook Model: 'Trigger', 'Action', 'Variable Reward', 'Investment'. Use playful arrows and small handwritten labels for each stage. Add doodly illustrations of users interacting with the app and stickers that symbolize engagement and retention, all set in a cohesive warm color palette.",
        "imageSearchTerm": "sticky-apps scrapbook poster",
        "credit": "AI-generated (gpt-image-1)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/generated/scrapbook-2.webp"
      },
      "uid": "1gmut7a1m2fx5a"
    },
    {
      "id": "mcq-rw-l2-brain-p3-default-mode",
      "shape": "mcq",
      "tags": [
        "neuroscience",
        "default-mode-network",
        "habits"
      ],
      "prompt": {
        "modality": "text",
        "value": "When scrolling becomes habitual and the interface offers no friction, executive control shifts away from the prefrontal cortex to which brain system, letting the Default Mode Network take over?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The amygdala"
        },
        {
          "modality": "text",
          "value": "The basal ganglia"
        },
        {
          "modality": "text",
          "value": "The cerebellum"
        },
        {
          "modality": "text",
          "value": "The hippocampus"
        }
      ],
      "correctIndex": 1,
      "explanation": "Once scrolling is automatic and frictionless, control shifts from the prefrontal cortex to the basal ganglia — the brain's habit-execution system — and the DMN takes the wheel. Users call it 'zoning out'; the dopamine loop then runs without conscious permission.",
      "uid": "oxt1fl1g7v3bz"
    },
    {
      "id": "mcq-rw-l3-fw-p1-hook",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "endowment-effect",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the Hook Model, the Investment stage raises a user's switching cost by exploiting which psychological bias?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Endowment Effect"
        },
        {
          "modality": "text",
          "value": "Availability heuristic"
        },
        {
          "modality": "text",
          "value": "Sunk cost fallacy"
        },
        {
          "modality": "text",
          "value": "Loss aversion"
        }
      ],
      "correctIndex": 0,
      "explanation": "Investment works through the Endowment Effect: users overvalue what they already own — their accumulated profile, history, and social graph inside the app. Each piece of data loaded in raises switching costs and compounds retention over time.",
      "uid": "kqclqwdrkecw"
    },
    {
      "id": "mcq-rw-l3-fw-p3-flow-zeigarnik",
      "shape": "mcq",
      "tags": [
        "zeigarnik-effect",
        "open-loops",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which design tactic weaponizes the Zeigarnik effect to pull users back into an app?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Giving a flat daily login bonus regardless of progress",
          "short": "Flat daily bonus, any progress"
        },
        {
          "modality": "text",
          "value": "Showing a completion certificate the moment a course hits 100%",
          "short": "Show a certificate at 100% done"
        },
        {
          "modality": "text",
          "value": "Displaying a leaderboard of the top scorers",
          "short": "Show a top-scorers leaderboard"
        },
        {
          "modality": "text",
          "value": "Ending a session just as the next chapter unlocks but won't let you start it",
          "short": "End session as next chapter unlocks"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Zeigarnik effect is the pull of unfinished tasks. Designers manufacture that itch — a chapter that unlocks but won't start, or progress stuck at 95% — then fire a push notification when you're idle to bring you back and close the loop.",
      "uid": "uckhm6ajx9mu"
    },
    {
      "id": "mcq-rw-l4-gam-p2-streak",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "streaks",
        "duolingo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which behavioral-economics principle is the engine behind Duolingo's streak mechanic?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Goal gradient effect"
        },
        {
          "modality": "text",
          "value": "Sunk cost fallacy"
        },
        {
          "modality": "text",
          "value": "Reciprocity"
        },
        {
          "modality": "text",
          "value": "Loss aversion"
        }
      ],
      "correctIndex": 3,
      "explanation": "The streak is framed as something you can lose, not a prize you collect. Loss aversion means the pain of losing an existing streak outweighs an equivalent future gain — so a 90-day streak already at risk pulls harder than a promised badge.",
      "uid": "130nor11b1agwv"
    },
    {
      "id": "mcq-rw-l4-gam-p3-schedules",
      "shape": "mcq",
      "tags": [
        "goal-gradient",
        "reward-schedules"
      ],
      "prompt": {
        "modality": "text",
        "value": "A coffee loyalty card pre-stamped with 2 of 10 holes outperforms a blank 8-hole card, even though both require exactly eight purchases. Why?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Customers feel reciprocity toward a shop that gave them a head start",
          "short": "Reciprocity for the head start"
        },
        {
          "modality": "text",
          "value": "The pre-stamped card requires fewer total purchases to redeem",
          "short": "Fewer purchases needed to redeem"
        },
        {
          "modality": "text",
          "value": "The pre-stamps create an illusion of being already underway, triggering the Goal Gradient Effect",
          "short": "Feels underway: Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "The two free stamps act as a variable-ratio reward that boosts motivation",
          "short": "Free stamps = variable-ratio reward"
        }
      ],
      "correctIndex": 2,
      "explanation": "Both cards require eight purchases, but the pre-stamped one creates an illusion of progress already underway — triggering the Goal Gradient Effect (people accelerate as they near a goal) before any real investment. Same logic powers starter bonuses and welcome XP.",
      "uid": "9q5vhn1f8949x"
    },
    {
      "id": "mcq-rw-l5-net-p4-interest-graph",
      "shape": "mcq",
      "tags": [
        "tiktok",
        "interest-graph",
        "recommendation"
      ],
      "prompt": {
        "modality": "text",
        "value": "TikTok's For You Page ingests many engagement signals, but which two does it weight most heavily?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Follower count and account age"
        },
        {
          "modality": "text",
          "value": "Completion rate and shares"
        },
        {
          "modality": "text",
          "value": "Likes and profile visits"
        },
        {
          "modality": "text",
          "value": "Comments and follows"
        }
      ],
      "correctIndex": 1,
      "explanation": "The interest graph ingests completion rate, shares, comments, follows, and re-watches — but weights completion and sharing most heavily, learning your interests from behavior rather than from who you follow. The video is judged, not the creator's history.",
      "uid": "oiqput70bgc3"
    },
    {
      "id": "mcq-rw-l6-viral-p2-growth-loops",
      "shape": "mcq",
      "tags": [
        "growth-loops",
        "cac",
        "acquisition"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why do mature products run all three growth loops in parallel rather than relying on the paid acquisition loop alone?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The paid loop generates the content that feeds the other two loops",
          "short": "The paid loop feeds the other two"
        },
        {
          "modality": "text",
          "value": "Running all three loops eliminates the need to track LTV",
          "short": "Running all three drops LTV tracking"
        },
        {
          "modality": "text",
          "value": "The paid loop is the only one of the three that compounds over time",
          "short": "Only the paid loop compounds over time"
        },
        {
          "modality": "text",
          "value": "The viral and content loops lower blended CAC, letting the paid loop reach users who'd never arrive organically",
          "short": "Viral+content cut CAC, extend paid reach"
        }
      ],
      "correctIndex": 3,
      "explanation": "The viral and content/ASO loops are compounding and nearly free at the margin, so they lower blended CAC — letting the paid loop profitably reach users who'd never arrive organically. The resulting scale then feeds more content and referrals, reinforcing the first two.",
      "uid": "9vvlsvxih9md"
    },
    {
      "id": "mcq-rw-l7-ret-p3-investment-cohorts",
      "shape": "mcq",
      "tags": [
        "aha-moment",
        "retention",
        "onboarding"
      ],
      "prompt": {
        "modality": "text",
        "value": "Facebook famously identified a single onboarding threshold as its Aha Moment. What was it?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Follow 30 accounts"
        },
        {
          "modality": "text",
          "value": "10 friends in 30 days"
        },
        {
          "modality": "text",
          "value": "7 friends in 10 days"
        },
        {
          "modality": "text",
          "value": "5 friends in the first session"
        }
      ],
      "correctIndex": 2,
      "explanation": "Facebook's Aha Moment was '7 friends in 10 days' — reach that social density and the feed becomes meaningful; miss it and the app is an empty room. 'Follow 30 accounts' was Twitter's threshold, and Duolingo's was the first lesson's animated XP reward.",
      "uid": "jy9yewrblimc"
    },
    {
      "id": "mcq-rw-l8-dp-p2-social-onboarding",
      "shape": "mcq",
      "tags": [
        "onboarding",
        "social-mechanics",
        "sequencing"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the recommended social onboarding sequence, why does synchronous competition (live battles, real-time leaderboards) belong last?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Synchronous features require push permissions that new users rarely grant",
          "short": "Needs push perms new users deny"
        },
        {
          "modality": "text",
          "value": "Forcing real-time multiplayer on users who barely know the app destroys more sessions than it creates",
          "short": "Early real-time play kills sessions"
        },
        {
          "modality": "text",
          "value": "Live competition only works once an app has millions of users for matchmaking",
          "short": "Needs millions for matchmaking"
        },
        {
          "modality": "text",
          "value": "Real-time features are the most expensive to build, so they ship last",
          "short": "Real-time is costliest to build"
        }
      ],
      "correctIndex": 1,
      "explanation": "The sequence follows where trust sits: asynchronous social proof first (no mutual timing needed), then cooperative features, then synchronous competition last — forcing real-time play on users who barely know the app destroys more sessions than it creates.",
      "uid": "19eccyhxhxzpn"
    },
    {
      "id": "mcq-rw-l9-cases-p3-snapchat-farmville",
      "shape": "mcq",
      "tags": [
        "snapchat",
        "ephemeral-content",
        "fomo"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the case study, when a Snap disappears it produces two behavioral effects. Which pair?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trust in the app's privacy and reduced screen-time guilt",
          "short": "Privacy trust, less screen guilt"
        },
        {
          "modality": "text",
          "value": "Nostalgia and a sense of exclusivity",
          "short": "A sense of nostalgia and exclusivity"
        },
        {
          "modality": "text",
          "value": "FOMO for the recipient and reduced social anxiety for the sender",
          "short": "Recipient FOMO, sender less anxious"
        },
        {
          "modality": "text",
          "value": "Competitiveness and a fear of losing streaks",
          "short": "Competitiveness, streak-loss fear"
        }
      ],
      "correctIndex": 2,
      "explanation": "Disappearing content creates FOMO — the recipient must open it now, not later — and reduces social anxiety, because imperfect posts cost nothing when no permanent record exists. That makes posting feel cheap, which makes it frequent.",
      "uid": "1gstqfwfg2yxk"
    },
    {
      "id": "mcq-rw-l10-p1-people",
      "shape": "mcq",
      "tags": [
        "people",
        "bj-fogg",
        "captology"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which researcher proved at Stanford that computers could change behavior and coined the term 'captology'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        },
        {
          "modality": "text",
          "value": "B.F. Skinner"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        }
      ],
      "correctIndex": 0,
      "explanation": "BJ Fogg established captology at Stanford and gave the field its formula, the Fogg Behavior Model (B=MAP). Nir Eyal later translated that academic research into the practitioner's Hook loop that product teams follow.",
      "uid": "1i7qlru1x9x01u"
    },
    {
      "id": "mcq-rw-l10-p2-frameworks",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "frameworks",
        "nir-eyal"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Hook Model is Nir Eyal's four-stage loop. What is the correct order of its stages?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger → Variable Reward → Action → Investment"
        },
        {
          "modality": "text",
          "value": "Action → Trigger → Investment → Variable Reward"
        },
        {
          "modality": "text",
          "value": "Trigger → Action → Variable Reward → Investment"
        },
        {
          "modality": "text",
          "value": "Motivation → Ability → Prompt → Reward"
        }
      ],
      "correctIndex": 2,
      "explanation": "The Hook Model cycles Trigger → Action → Variable Reward → Investment, with the investment stage loading the next trigger. Motivation × Ability × Prompt is a different framework — the Fogg Behavior Model (B=MAP).",
      "uid": "cbwc6m1cei1gi"
    },
    {
      "id": "mcq-rw-l10-p3-right-or-wrong",
      "shape": "mcq",
      "tags": [
        "zeigarnik-effect",
        "mechanics"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which design pattern correctly exploits the Zeigarnik effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Pre-populating a new account with suggested friends"
        },
        {
          "modality": "text",
          "value": "A reward delivered after an unpredictable number of pulls"
        },
        {
          "modality": "text",
          "value": "A leaderboard showing your rank among followers"
        },
        {
          "modality": "text",
          "value": "A progress bar left stuck at 95% complete"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Zeigarnik effect is our pull toward unfinished tasks, so a progress bar stuck at 95% keeps users coming back. The unpredictable reward is variable-ratio reinforcement, seeded friends are the zero blank slate, and the rank list is asynchronous social proof.",
      "uid": "1mup5ov1tmdsa1"
    },
    {
      "id": "mcq-rw-l11-vocab-p1-neuro",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "neuroscience",
        "wanting-vs-liking"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the neuroscience in this section, dopamine is primarily responsible for what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Liking — the pleasure and satisfaction felt when a reward actually arrives",
          "short": "Liking — the reward on arrival"
        },
        {
          "modality": "text",
          "value": "Calm — the relief that shuts down craving once a habit is satisfied",
          "short": "Calm — relief that ends craving"
        },
        {
          "modality": "text",
          "value": "Wanting and seeking — it fires during the anticipation of a reward, not its delivery",
          "short": "Wanting — anticipating a reward"
        },
        {
          "modality": "text",
          "value": "Memory — encoding after the fact which rewards were worth pursuing",
          "short": "Memory — which rewards paid off"
        }
      ],
      "correctIndex": 2,
      "explanation": "Dopamine governs wanting and seeking and fires during anticipation, not fulfillment — which is why scrolling stays compulsive even when the content disappoints. Liking (pleasure at the reward) is a separate system.",
      "uid": "jj0ajs17rzyxk"
    },
    {
      "id": "mcq-rw-l11-vocab-p2-frameworks",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "nir-eyal",
        "habit-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "In Nir Eyal's Hook Model, what is the correct order of the four stages that form the habit loop?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger → Action → Investment → Variable Reward"
        },
        {
          "modality": "text",
          "value": "Trigger → Action → Variable Reward → Investment"
        },
        {
          "modality": "text",
          "value": "Action → Trigger → Investment → Variable Reward"
        },
        {
          "modality": "text",
          "value": "Trigger → Variable Reward → Action → Investment"
        }
      ],
      "correctIndex": 1,
      "explanation": "The Hook Model cycles Trigger → Action → Variable Reward → Investment. Investment comes last because what the user puts in (data, content, reputation) loads the next trigger, making each pass through the loop harder to leave.",
      "uid": "1m1559w1runnps"
    },
    {
      "id": "mcq-rw-l11-vocab-p3-social-growth",
      "shape": "mcq",
      "tags": [
        "metcalfes-law",
        "network-effects",
        "growth"
      ],
      "prompt": {
        "modality": "text",
        "value": "Metcalfe's Law models the value of a network as proportional to what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The cube of its number of users (n³)"
        },
        {
          "modality": "text",
          "value": "The logarithm of its number of users (log n)"
        },
        {
          "modality": "text",
          "value": "The square of its number of users (n²)"
        },
        {
          "modality": "text",
          "value": "Its number of users (n)"
        }
      ],
      "correctIndex": 2,
      "explanation": "Metcalfe's Law states a network's value scales with n² — the square of its user count — since each added user can potentially connect to every other. Real dynamics are more nuanced, as not every connection is equally valuable.",
      "uid": "wf5jvz2lg5ip"
    },
    {
      "id": "mcq-rw-l11-vocab-p4-retention",
      "shape": "mcq",
      "tags": [
        "aha-moment",
        "retention",
        "onboarding"
      ],
      "prompt": {
        "modality": "text",
        "value": "Facebook's classic Aha Moment — the point where its core value became emotionally real — was quantified as which early milestone?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Adding 7 friends in 10 days"
        },
        {
          "modality": "text",
          "value": "Following 30 accounts in the first week"
        },
        {
          "modality": "text",
          "value": "Sending 5 messages within 24 hours"
        },
        {
          "modality": "text",
          "value": "Posting 3 status updates on day one"
        }
      ],
      "correctIndex": 0,
      "explanation": "Facebook found users who reached 7 friends in 10 days were far likelier to retain, so onboarding aimed everyone at that milestone. (Twitter's equivalent was following 30 accounts.) Teams locate these thresholds via cohort analysis.",
      "uid": "yycxsq149ctx6"
    },
    {
      "id": "czr-sticky-apps-sa-def-captology",
      "shape": "cloze",
      "tags": [
        "history",
        "captology",
        "vocabulary"
      ],
      "template": "___ — The study of Computers As Persuasive Technologies — how computers can be designed to change human thoughts and behaviors. BJ Fogg coined the term in 1996",
      "answer": "Captology",
      "distractors": [
        "Infinite scroll",
        "For You Page (FYP)"
      ],
      "derivedFrom": "sa-def-captology",
      "explanation": "Compare: Infinite scroll — A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006.",
      "uid": "f453oaxlcusy"
    },
    {
      "id": "czr-sticky-apps-sa-def-infinite-scroll",
      "shape": "cloze",
      "tags": [
        "history",
        "design-patterns",
        "vocabulary"
      ],
      "template": "___ — A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006",
      "answer": "Infinite scroll",
      "distractors": [
        "Progressive disclosure",
        "Dark pattern",
        "Doherty Threshold"
      ],
      "derivedFrom": "sa-def-infinite-scroll",
      "explanation": "Compare: Progressive disclosure — An onboarding principle of revealing complexity gradually rather than exposing every feature at once, so new users aren't overwhelmed before they reach the Aha Moment.",
      "uid": "1id0h685gyfhk"
    },
    {
      "id": "czr-sticky-apps-sa-def-for-you-page",
      "shape": "cloze",
      "tags": [
        "history",
        "algorithm",
        "vocabulary"
      ],
      "template": "___ — TikTok's main feed, driven by a reinforcement-learning algorithm that infers preferences from watch time, completions, and skips to optimize for what a user can't stop watching",
      "answer": "For You Page (FYP)",
      "distractors": [
        "Infinite scroll",
        "Captology",
        "Hook Model"
      ],
      "derivedFrom": "sa-def-for-you-page",
      "explanation": "Compare: Infinite scroll — A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006.",
      "uid": "51r17q1vhmcee"
    },
    {
      "id": "czr-sticky-apps-sa-def-dopamine",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "dopamine"
      ],
      "template": "___ — The neurochemical that governs wanting and seeking — not liking or satisfaction. It is released during the anticipation of a reward, which is why scrolling stays compulsive even when the content barely satisfies",
      "answer": "Dopamine",
      "distractors": [
        "Zeigarnik effect",
        "Endowment effect",
        "Flow state"
      ],
      "derivedFrom": "sa-def-dopamine",
      "explanation": "Compare: Zeigarnik effect — The finding that people remember and are drawn back to incomplete tasks more strongly than completed ones. Apps weaponize it with progress bars stuck at 95%, '2 more cards' prompts, and chapters that unlock but don't let you start.",
      "uid": "ky5kko13g4kiw"
    },
    {
      "id": "czr-sticky-apps-sa-def-reward-prediction-error",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "reward-prediction-error"
      ],
      "template": "___ — The mechanism, first described by Wolfram Schultz, in which dopamine fires strongly in the VTA when an outcome exceeds expectations and is suppressed when it falls below — meaning the system runs on uncertainty, not certainty",
      "answer": "Reward Prediction Error (RPE)",
      "distractors": [
        "Default Mode Network (DMN)",
        "Endowment effect"
      ],
      "derivedFrom": "sa-def-reward-prediction-error",
      "explanation": "Compare: Default Mode Network (DMN) — The brain network associated with mind-wandering and self-referential thought. When scrolling becomes habitual and easy, the DMN dominates and prefrontal executive control goes offline — users describe it as 'zoning out.'.",
      "uid": "1q1szu1nlddky"
    },
    {
      "id": "czr-sticky-apps-sa-def-default-mode-network",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "default-mode-network"
      ],
      "template": "___ — The brain network associated with mind-wandering and self-referential thought. When scrolling becomes habitual and easy, the DMN dominates and prefrontal executive control goes offline — users describe it as 'zoning out.'",
      "answer": "Default Mode Network (DMN)",
      "distractors": [
        "Reward Prediction Error (RPE)",
        "Sunk cost fallacy",
        "Dopamine"
      ],
      "derivedFrom": "sa-def-default-mode-network",
      "explanation": "Compare: Reward Prediction Error (RPE) — The mechanism, first described by Wolfram Schultz, in which dopamine fires strongly in the VTA when an outcome exceeds expectations and is suppressed when it falls below — meaning the system runs on uncertainty, not certainty.",
      "uid": "1rz72tm1yo2q6m"
    },
    {
      "id": "czr-sticky-apps-sa-def-loss-aversion",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "loss-aversion"
      ],
      "template": "___ — From Kahneman and Tversky's Prospect Theory: losses feel roughly twice as psychologically powerful as equivalent gains. It is the engine behind streaks — breaking one triggers pain disproportionate to what was actually lost",
      "answer": "Loss aversion",
      "distractors": [
        "Sunk cost fallacy",
        "Zeigarnik effect",
        "Endowment effect"
      ],
      "derivedFrom": "sa-def-loss-aversion",
      "explanation": "Compare: Sunk cost fallacy — The bias to keep investing in something because of what you have already put in, even when quitting would be rational. A 100-day streak is accumulated sunk cost; abandoning it feels like wasting the prior effort.",
      "uid": "14ryad41usjrg"
    },
    {
      "id": "czr-sticky-apps-sa-def-endowment-effect",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "endowment-effect"
      ],
      "template": "___ — The tendency to value something more highly simply because you own it. Investment inside an app (data, content, reputation) activates this effect, making the product feel more valuable and raising switching costs",
      "answer": "Endowment effect",
      "distractors": [
        "Dopamine",
        "Sunk cost fallacy",
        "Flow state"
      ],
      "derivedFrom": "sa-def-endowment-effect",
      "explanation": "Compare: Dopamine — The neurochemical that governs wanting and seeking — not liking or satisfaction. It is released during the anticipation of a reward, which is why scrolling stays compulsive even when the content barely satisfies.",
      "uid": "wkz7q61fy64bu"
    },
    {
      "id": "czr-sticky-apps-sa-def-sunk-cost-fallacy",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "sunk-cost"
      ],
      "template": "___ — The bias to keep investing in something because of what you have already put in, even when quitting would be rational. A 100-day streak is accumulated sunk cost; abandoning it feels like wasting the prior effort",
      "answer": "Sunk cost fallacy",
      "distractors": [
        "Endowment effect",
        "Dopamine",
        "Flow state"
      ],
      "derivedFrom": "sa-def-sunk-cost-fallacy",
      "explanation": "Compare: Endowment effect — The tendency to value something more highly simply because you own it. Investment inside an app (data, content, reputation) activates this effect, making the product feel more valuable and raising switching costs.",
      "uid": "bxsirz1mtf53t"
    },
    {
      "id": "czr-sticky-apps-sa-def-zeigarnik-effect",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "zeigarnik-effect"
      ],
      "template": "___ — The finding that people remember and are drawn back to incomplete tasks more strongly than completed ones. Apps weaponize it with progress bars stuck at 95%, '2 more cards' prompts, and chapters that unlock but don't let you start",
      "answer": "Zeigarnik effect",
      "distractors": [
        "Sunk cost fallacy",
        "Dopamine",
        "Flow state"
      ],
      "derivedFrom": "sa-def-zeigarnik-effect",
      "explanation": "Compare: Sunk cost fallacy — The bias to keep investing in something because of what you have already put in, even when quitting would be rational. A 100-day streak is accumulated sunk cost; abandoning it feels like wasting the prior effort.",
      "uid": "164dxvf1xjmux"
    },
    {
      "id": "czr-sticky-apps-sa-def-flow-state",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "neuroscience",
        "flow"
      ],
      "template": "___ — Mihaly Csikszentmihalyi's channel of optimal engagement where challenge matches skill. Too easy breeds boredom; too hard breeds anxiety; both drive churn. The design goal is to keep users inside the flow channel",
      "answer": "Flow state",
      "distractors": [
        "Sunk cost fallacy",
        "Endowment effect",
        "Dopamine"
      ],
      "derivedFrom": "sa-def-flow-state",
      "explanation": "Compare: Sunk cost fallacy — The bias to keep investing in something because of what you have already put in, even when quitting would be rational. A 100-day streak is accumulated sunk cost; abandoning it feels like wasting the prior effort.",
      "uid": "wjky7l1hxpd2z"
    },
    {
      "id": "czr-sticky-apps-sa-def-fogg-behavior-model",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "frameworks",
        "fogg-model"
      ],
      "template": "___ — BJ Fogg's formula stating that Behavior = Motivation × Ability × Prompt. A behavior occurs only when motivation, ability, and a prompt converge at the same moment — encoding friction reduction into a single equation",
      "answer": "Fogg Behavior Model (B = MAP)",
      "distractors": [
        "Investment (Hook)",
        "Trigger",
        "CAC (Customer Acquisition Cost)"
      ],
      "derivedFrom": "sa-def-fogg-behavior-model",
      "uid": "1cevk5lg7m9mr"
    },
    {
      "id": "czr-sticky-apps-sa-def-hook-model",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "frameworks",
        "hook-model"
      ],
      "template": "___ — Nir Eyal's four-stage habit loop from his 2014 book Hooked: Trigger → Action → Variable Reward → Investment. Each pass through the loop makes the product harder to leave and more likely to be opened again",
      "answer": "Hook Model",
      "distractors": [
        "Investment (Hook)",
        "Fogg Behavior Model (B = MAP)"
      ],
      "derivedFrom": "sa-def-hook-model",
      "uid": "kxxl4p6s8197"
    },
    {
      "id": "cz-sticky-apps-sa-def-trigger",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "frameworks",
        "trigger"
      ],
      "template": "The cue that starts a Hook loop. External ___ are notifications, emails, and badges; internal ___ are emotions like boredom or loneliness. The goal is to graduate users from external to internal ___ over time.",
      "answer": "Trigger",
      "distractors": [
        "Investment (Hook)",
        "Fogg Behavior Model (B = MAP)",
        "Network effect"
      ],
      "derivedFrom": "sa-def-trigger",
      "uid": "1w8cw6lym0nxz"
    },
    {
      "id": "czr-sticky-apps-sa-def-variable-reward",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "frameworks",
        "variable-reward"
      ],
      "template": "___ — The third Hook stage: an unpredictable payoff of the tribe (social validation), the hunt (information), or the self (mastery). Variability is essential — predictable rewards habituate and lose their pull",
      "answer": "Variable reward",
      "distractors": [
        "Trigger",
        "Investment (Hook)",
        "Fogg Behavior Model (B = MAP)"
      ],
      "derivedFrom": "sa-def-variable-reward",
      "explanation": "Compare: Trigger — The cue that starts a Hook loop. External triggers are notifications, emails, and badges; internal triggers are emotions like boredom or loneliness. The goal is to graduate users from external to internal triggers over time.",
      "uid": "zg84vx13rp4nf"
    },
    {
      "id": "czr-sticky-apps-sa-def-pbl",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "gamification",
        "pbl"
      ],
      "template": "___ — The surface layer of gamification: visible, legible reward elements that are also easy to habituate to. Durable engagement requires deeper mechanics at the level of narrative, identity, and social positioning",
      "answer": "PBL (Points, Badges, Leaderboards)",
      "distractors": [
        "Dynamic Difficulty Adjustment (DDA)",
        "Streak Freeze",
        "Goal gradient effect"
      ],
      "derivedFrom": "sa-def-pbl",
      "explanation": "Compare: Dynamic Difficulty Adjustment (DDA) — Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel. Duolingo tests how quickly users learn sections and adjusts course structure accordingly.",
      "uid": "1dycgay1320xhe"
    },
    {
      "id": "czr-sticky-apps-sa-def-octalysis",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "gamification",
        "octalysis"
      ],
      "template": "___ — Yu-kai Chou's framework identifying eight Core Drives that motivate behavior — from Epic Meaning to Ownership to Social Influence. The most durable apps engage multiple core drives at once",
      "answer": "Octalysis",
      "distractors": [
        "Streak Freeze",
        "Goal gradient effect",
        "PBL (Points, Badges, Leaderboards)"
      ],
      "derivedFrom": "sa-def-octalysis",
      "explanation": "Compare: Streak Freeze — A purchasable or earnable item that protects a streak during an absence. It converts the streak from a source of attrition-driving anxiety into a resource-management meta-game that deepens investment.",
      "uid": "1n0gp5i10wjziy"
    },
    {
      "id": "czr-sticky-apps-sa-def-streak-freeze",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "gamification",
        "streak-freeze"
      ],
      "template": "___ — A purchasable or earnable item that protects a streak during an absence. It converts the streak from a source of attrition-driving anxiety into a resource-management meta-game that deepens investment",
      "answer": "Streak Freeze",
      "distractors": [
        "Octalysis",
        "Goal gradient effect",
        "PBL (Points, Badges, Leaderboards)"
      ],
      "derivedFrom": "sa-def-streak-freeze",
      "explanation": "Compare: Octalysis — Yu-kai Chou's framework identifying eight Core Drives that motivate behavior — from Epic Meaning to Ownership to Social Influence. The most durable apps engage multiple core drives at once.",
      "uid": "1y2a10zihcrlx"
    },
    {
      "id": "czr-sticky-apps-sa-def-dynamic-difficulty-adjustment",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "gamification",
        "dynamic-difficulty"
      ],
      "template": "___ — Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel. Duolingo tests how quickly users learn sections and adjusts course structure accordingly",
      "answer": "Dynamic Difficulty Adjustment (DDA)",
      "distractors": [
        "PBL (Points, Badges, Leaderboards)",
        "Goal gradient effect",
        "Octalysis"
      ],
      "derivedFrom": "sa-def-dynamic-difficulty-adjustment",
      "explanation": "Compare: PBL (Points, Badges, Leaderboards) — The surface layer of gamification: visible, legible reward elements that are also easy to habituate to. Durable engagement requires deeper mechanics at the level of narrative, identity, and social positioning.",
      "uid": "k85zxt20t7jz"
    },
    {
      "id": "czr-sticky-apps-sa-def-doherty-threshold",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "design-patterns",
        "doherty-threshold"
      ],
      "template": "___ — The sub-400ms response time below which a system feels instantaneous and keeps a user productively engaged. A tight core loop should provide feedback under this threshold",
      "answer": "Doherty Threshold",
      "distractors": [
        "Dark pattern",
        "Progressive disclosure"
      ],
      "derivedFrom": "sa-def-doherty-threshold",
      "explanation": "Compare: Dark pattern — A manipulative design that works against the user's own goals — shaming language ('No, I don't want to be smart'), impossible cancellation flows, manufactured scarcity. Dark patterns destroy long-term trust.",
      "uid": "1982bwduy5d93"
    },
    {
      "id": "czr-sticky-apps-sa-def-network-effect",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "network-effect"
      ],
      "template": "___ — The dynamic where a product becomes more valuable to each user as more people use it. Effects can be direct (more users helps you) or indirect (more users improves the content or infrastructure you rely on)",
      "answer": "Network effect",
      "distractors": [
        "Parasocial bond",
        "Metcalfe's Law",
        "Social graph"
      ],
      "derivedFrom": "sa-def-network-effect",
      "explanation": "Compare: Parasocial bond — An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint.",
      "uid": "10vwwg91ha8vtz"
    },
    {
      "id": "czr-sticky-apps-sa-def-metcalfes-law",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "metcalfes-law"
      ],
      "template": "___ — A model stating that a network's value scales with the square of its number of users (n²). Real-world dynamics are more nuanced, since not every connection is equally valuable",
      "answer": "Metcalfe's Law",
      "distractors": [
        "Parasocial bond",
        "Interest graph",
        "Network effect"
      ],
      "derivedFrom": "sa-def-metcalfes-law",
      "explanation": "Compare: Parasocial bond — An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint.",
      "uid": "ozwvna1u9jmqy"
    },
    {
      "id": "cz-sticky-apps-sa-def-social-graph",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "social-graph"
      ],
      "template": "A map of real-world, identity-based relationships — who you know. Facebook's early dominance was built on the ___, which made the platform uniquely defensible and is hard for rivals to replicate.",
      "answer": "Social graph",
      "distractors": [
        "Metcalfe's Law",
        "Parasocial bond",
        "Network effect"
      ],
      "derivedFrom": "sa-def-social-graph",
      "explanation": "Compare: Metcalfe's Law — A model stating that a network's value scales with the square of its number of users (n²). Real-world dynamics are more nuanced, since not every connection is equally valuable.",
      "uid": "2mf4em10rbqvi"
    },
    {
      "id": "cz-sticky-apps-sa-def-interest-graph",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "interest-graph"
      ],
      "template": "A machine-curated map of what you are drawn to rather than who you know. TikTok's For You Page replaced the social graph with the ___, letting a follower-less user get viral distribution in 24 hours.",
      "answer": "Interest graph",
      "distractors": [
        "Parasocial bond",
        "Network effect",
        "Metcalfe's Law"
      ],
      "derivedFrom": "sa-def-interest-graph",
      "explanation": "Compare: Parasocial bond — An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint.",
      "uid": "179iwrqqf5f8u"
    },
    {
      "id": "czr-sticky-apps-sa-def-fomo",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "fomo"
      ],
      "template": "___ — Anxiety driven not by missing content but by the social consequences of missed bonding opportunities. Instagram Stories' 24-hour expiry works because it imposes a social cost for non-participation",
      "answer": "FOMO (Fear of Missing Out)",
      "distractors": [
        "Parasocial bond",
        "Metcalfe's Law",
        "Interest graph"
      ],
      "derivedFrom": "sa-def-fomo",
      "explanation": "Compare: Parasocial bond — An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint.",
      "uid": "1mk8qpcyuh5d4"
    },
    {
      "id": "czr-sticky-apps-sa-def-parasocial-bond",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "network-effects",
        "parasocial"
      ],
      "template": "___ — An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl. The mascot becomes a relationship the user does not want to disappoint",
      "answer": "Parasocial bond",
      "distractors": [
        "Metcalfe's Law",
        "Network effect",
        "Interest graph"
      ],
      "derivedFrom": "sa-def-parasocial-bond",
      "explanation": "Compare: Metcalfe's Law — A model stating that a network's value scales with the square of its number of users (n²). Real-world dynamics are more nuanced, since not every connection is equally valuable.",
      "uid": "1ck4dbnaifq4t"
    },
    {
      "id": "czr-sticky-apps-sa-def-viral-coefficient",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "growth",
        "k-factor"
      ],
      "template": "___ — A measure of how many new users each existing user generates, calculated as K = i × c (invitations sent × conversion rate). K greater than 1 means exponential, self-sustaining growth",
      "answer": "Viral coefficient (K-factor)",
      "distractors": [
        "Referral program",
        "Shareable artifact",
        "Viral loop"
      ],
      "derivedFrom": "sa-def-viral-coefficient",
      "explanation": "Compare: Referral program — An invite mechanic for acquisition. Double-sided versions, where both referrer and new user get value, outperform single-sided ones by exploiting reciprocity norms — as in Uber's early 'give a ride, get a ride.'.",
      "uid": "1up9d5bsnn7rt"
    },
    {
      "id": "czr-sticky-apps-sa-def-viral-loop",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "growth",
        "viral-loop"
      ],
      "template": "___ — A growth loop in which users naturally recruit others through sharing, invitations, or social artifacts. It works best when sharing is intrinsic to the core value loop, not a bolted-on 'Share' button",
      "answer": "Viral loop",
      "distractors": [
        "Referral program",
        "Shareable artifact",
        "Viral coefficient (K-factor)"
      ],
      "derivedFrom": "sa-def-viral-loop",
      "explanation": "Compare: Referral program — An invite mechanic for acquisition. Double-sided versions, where both referrer and new user get value, outperform single-sided ones by exploiting reciprocity norms — as in Uber's early 'give a ride, get a ride.'.",
      "uid": "8p92yy5xh4da"
    },
    {
      "id": "czr-sticky-apps-sa-def-shareable-artifact",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "growth",
        "shareable-artifact"
      ],
      "template": "___ — Content a user wants to share because it reflects well on them — Spotify Wrapped, a 'Top 1% of learners' badge. The user is promoting themselves, not the app; the app is merely the medium",
      "answer": "Shareable artifact",
      "distractors": [
        "Viral loop",
        "Referral program",
        "Viral coefficient (K-factor)"
      ],
      "derivedFrom": "sa-def-shareable-artifact",
      "explanation": "Compare: Viral loop — A growth loop in which users naturally recruit others through sharing, invitations, or social artifacts. It works best when sharing is intrinsic to the core value loop, not a bolted-on 'Share' button.",
      "uid": "utdrfz140ov9d"
    },
    {
      "id": "czr-sticky-apps-sa-def-referral-program",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "growth",
        "referral"
      ],
      "template": "___ — An invite mechanic for acquisition. Double-sided versions, where both referrer and new user get value, outperform single-sided ones by exploiting reciprocity norms — as in Uber's early 'give a ride, get a ride.'",
      "answer": "Referral program",
      "distractors": [
        "Shareable artifact",
        "Viral loop",
        "Viral coefficient (K-factor)"
      ],
      "derivedFrom": "sa-def-referral-program",
      "explanation": "Compare: Shareable artifact — Content a user wants to share because it reflects well on them — Spotify Wrapped, a 'Top 1% of learners' badge. The user is promoting themselves, not the app; the app is merely the medium.",
      "uid": "1spqx4a19ivch2"
    },
    {
      "id": "czr-sticky-apps-sa-def-aha-moment",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "aha-moment"
      ],
      "template": "___ — The instant an app's core value becomes emotionally real — feeling the value, not finishing a tutorial. Facebook's was '7 friends in 10 days'; Twitter's was following 30 accounts. Onboarding should deliver every user here fast",
      "answer": "Aha Moment",
      "distractors": [
        "Churn",
        "LTV (Lifetime Value)",
        "Cohort analysis"
      ],
      "derivedFrom": "sa-def-aha-moment",
      "explanation": "Compare: Churn — The loss of users over time. Roughly 80% of users stop using an app after the third day post-install, which is why the onboarding-to-Aha pipeline is the highest-leverage place to fight churn.",
      "uid": "1iawfjq1ujt1qm"
    },
    {
      "id": "czr-sticky-apps-sa-def-push-notification",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "push-notification"
      ],
      "template": "___ — The primary channel for reactivating users who have left the habit loop. The most effective ones are contextually timed, personalized to the user's state, and carry a curiosity or FOMO gap",
      "answer": "Push notification",
      "distractors": [
        "Investment (Hook)",
        "Churn",
        "DAU/MAU ratio"
      ],
      "derivedFrom": "sa-def-push-notification",
      "uid": "kv2w50je9lic"
    },
    {
      "id": "czr-sticky-apps-sa-def-cohort-analysis",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "cohort-analysis"
      ],
      "template": "___ — Tracking the percentage of users from a given install cohort who return on Day 1, 7, 30, and 90. It is also how teams identify the Aha Moment — the early actions that correlate with long-term retention",
      "answer": "Cohort analysis",
      "distractors": [
        "Push notification",
        "Churn",
        "Investment (Hook)"
      ],
      "derivedFrom": "sa-def-cohort-analysis",
      "explanation": "Compare: Push notification — The primary channel for reactivating users who have left the habit loop. The most effective ones are contextually timed, personalized to the user's state, and carry a curiosity or FOMO gap.",
      "uid": "1d3gi5x1mou603"
    },
    {
      "id": "czr-sticky-apps-sa-def-dau-mau-ratio",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "dau-mau"
      ],
      "template": "___ — Daily active users as a share of monthly active users — a measure of how habitually people return. Industry average sits well below 20%; Duolingo reached 36%",
      "answer": "DAU/MAU ratio",
      "distractors": [
        "LTV (Lifetime Value)",
        "Push notification",
        "Investment (Hook)"
      ],
      "derivedFrom": "sa-def-dau-mau-ratio",
      "explanation": "Compare: LTV (Lifetime Value) — The total value a user generates over their lifetime. A 5% improvement in retention can raise LTV by 25–95%, making retention far more capital-efficient than paid acquisition. Paid loops are sustainable only when LTV greatly exceeds CAC.",
      "uid": "1az35vu1qo5ike"
    },
    {
      "id": "czr-sticky-apps-sa-def-cac",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "cac"
      ],
      "template": "___ — The cost to acquire one new user. A K-factor above 1 lowers CAC because users recruit each other; Duolingo's CAC fell from roughly $41 at IPO to about $33 as its base became more self-referencing",
      "answer": "CAC (Customer Acquisition Cost)",
      "distractors": [
        "Investment (Hook)",
        "Churn",
        "Cohort analysis"
      ],
      "derivedFrom": "sa-def-cac",
      "uid": "8qpitw18ia4zs"
    },
    {
      "id": "czr-sticky-apps-sa-def-ltv",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "ltv"
      ],
      "template": "___ — The total value a user generates over their lifetime. A 5% improvement in retention can raise LTV by 25–95%, making retention far more capital-efficient than paid acquisition. Paid loops are sustainable only when LTV greatly exceeds CAC",
      "answer": "LTV (Lifetime Value)",
      "distractors": [
        "Cohort analysis",
        "Investment (Hook)",
        "Churn"
      ],
      "derivedFrom": "sa-def-ltv",
      "explanation": "Compare: Cohort analysis — Tracking the percentage of users from a given install cohort who return on Day 1, 7, 30, and 90. It is also how teams identify the Aha Moment — the early actions that correlate with long-term retention.",
      "uid": "hyf0tjflbafp"
    },
    {
      "id": "cz-sticky-apps-sa-def-churn",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "retention",
        "churn"
      ],
      "template": "The loss of users over time. Roughly 80% of users stop using an app after the third day post-install, which is why the onboarding-to-Aha pipeline is the highest-leverage place to fight ___.",
      "answer": "Churn",
      "distractors": [
        "Investment (Hook)",
        "DAU/MAU ratio",
        "Cohort analysis"
      ],
      "derivedFrom": "sa-def-churn",
      "uid": "6kilhjysk2r"
    },
    {
      "id": "cz-sticky-apps-sa-def-dark-pattern",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "design-patterns",
        "dark-pattern"
      ],
      "template": "A manipulative design that works against the user's own goals — shaming language ('No, I don't want to be smart'), impossible cancellation flows, manufactured scarcity. ___ destroy long-term trust.",
      "answer": "Dark pattern",
      "distractors": [
        "Core loop",
        "Doherty Threshold",
        "Progressive disclosure"
      ],
      "derivedFrom": "sa-def-dark-pattern",
      "explanation": "Compare: Core loop — The fundamental action cycle a user repeats every session. A good one is completable in 2–5 minutes, gives feedback under the Doherty Threshold, ends with a variable reward, and sets up the next session via an open loop.",
      "uid": "4qklw817rtu0c"
    },
    {
      "id": "czr-sticky-apps-sa-def-progressive-disclosure",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "design-patterns",
        "progressive-disclosure"
      ],
      "template": "___ — An onboarding principle of revealing complexity gradually rather than exposing every feature at once, so new users aren't overwhelmed before they reach the Aha Moment",
      "answer": "Progressive disclosure",
      "distractors": [
        "Core loop",
        "Doherty Threshold",
        "Dark pattern"
      ],
      "derivedFrom": "sa-def-progressive-disclosure",
      "explanation": "Compare: Core loop — The fundamental action cycle a user repeats every session. A good one is completable in 2–5 minutes, gives feedback under the Doherty Threshold, ends with a variable reward, and sets up the next session via an open loop.",
      "uid": "1opkjfuj6povm"
    },
    {
      "id": "czr-sticky-apps-sa-def-core-loop",
      "shape": "cloze",
      "tags": [
        "vocabulary",
        "design-patterns",
        "core-loop"
      ],
      "template": "___ — The fundamental action cycle a user repeats every session. A good one is completable in 2–5 minutes, gives feedback under the Doherty Threshold, ends with a variable reward, and sets up the next session via an open loop",
      "answer": "Core loop",
      "distractors": [
        "Dark pattern",
        "Progressive disclosure"
      ],
      "derivedFrom": "sa-def-core-loop",
      "explanation": "Compare: Dark pattern — A manipulative design that works against the user's own goals — shaming language ('No, I don't want to be smart'), impossible cancellation flows, manufactured scarcity. Dark patterns destroy long-term trust.",
      "uid": "pic1p61yhixj6"
    },
    {
      "id": "czr-sticky-apps-sa-def-variable-ratio",
      "shape": "cloze",
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "template": "___ — A reinforcement schedule, from B.F. Skinner's 1950s experiments, in which rewards arrive after an unpredictable number of actions. Rats on this schedule pressed the lever far more often and persistently than those on fixed schedules",
      "answer": "Variable-ratio reinforcement",
      "distractors": [
        "The slot machine / notification model",
        "Reward Prediction Error",
        "Ventral Tegmental Area"
      ],
      "derivedFrom": "sa-def-variable-ratio",
      "explanation": "Compare: The slot machine / notification model — Variable-ratio reinforcement. Reward Prediction Error — First described by Wolfram Schultz, this is the signal at the core of the brain's wanting system.",
      "uid": "1urpwey1f183vu"
    },
    {
      "id": "czr-sticky-apps-sa-def-bmap",
      "shape": "cloze",
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "template": "___ — Behavior = Motivation × Ability × Prompt — a behavior occurs only when a prompt arrives while motivation and ability are both sufficient",
      "answer": "B = MAP (Fogg Behavior Model)",
      "distractors": [
        "The Hook Model",
        "Octalysis",
        "Dynamic Difficulty Adjustment"
      ],
      "derivedFrom": "sa-def-bmap",
      "explanation": "Compare: The Hook Model — A practitioner framework from a 2014 book, now standard at the major social apps.",
      "uid": "13a1wzr1035pkh"
    },
    {
      "id": "czr-sticky-apps-sa-def-dda",
      "shape": "cloze",
      "tags": [
        "frameworks",
        "flow"
      ],
      "template": "___ — Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel — Duolingo tunes course structure to how fast each user learns",
      "answer": "Dynamic Difficulty Adjustment",
      "distractors": [
        "Flow Theory",
        "BJ Fogg's Behavior Model",
        "Boredom — the user disengages and churns"
      ],
      "derivedFrom": "sa-def-dda",
      "explanation": "Compare: Boredom — the user disengages and churns — Challenge far below skill.",
      "uid": "1f793t91bffvrr"
    },
    {
      "id": "czr-sticky-apps-sa-def-goal-gradient",
      "shape": "cloze",
      "tags": [
        "gamification",
        "goal-gradient",
        "psychology"
      ],
      "template": "___ — The tendency to accelerate effort as you approach a milestone — the closer the reward, the harder people push toward it",
      "answer": "Goal Gradient Effect",
      "distractors": [
        "The Endowment Effect",
        "Prospect Theory",
        "Loss aversion"
      ],
      "derivedFrom": "sa-def-goal-gradient",
      "explanation": "Compare: The Endowment Effect — A cognitive bias in which people overvalue what they already own. Prospect Theory — A behavioral-economics framework from Kahneman and Tversky about how people weigh gains against losses.",
      "uid": "17id6is1yiuy2s"
    },
    {
      "id": "czr-sticky-apps-sa-def-zero-blank-slate",
      "shape": "cloze",
      "tags": [
        "design-patterns",
        "onboarding",
        "vocabulary"
      ],
      "template": "___ — Pre-populating a new user's experience with data, suggested friends, or example content, because an empty screen signals no value",
      "answer": "Zero blank slate",
      "distractors": [
        "Infinite scroll",
        "Doherty Threshold",
        "Dark pattern"
      ],
      "derivedFrom": "sa-def-zero-blank-slate",
      "explanation": "Compare: Infinite scroll — A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006.",
      "uid": "1xsf4dp167w5lb"
    },
    {
      "id": "czr-sticky-apps-sa-def-demotion-threat",
      "shape": "cloze",
      "tags": [
        "case-study",
        "gamification",
        "vocabulary"
      ],
      "template": "___ — A league mechanic where falling below a tier's cutoff drops you a rank — the fear of dropping is engineered to motivate more than the desire to advance",
      "answer": "Demotion threat",
      "distractors": [
        "Perfect Lesson",
        "Ephemeral content",
        "Snapchat's September"
      ],
      "derivedFrom": "sa-def-demotion-threat",
      "explanation": "Compare: Ephemeral content — Posts that auto-delete after viewing or a set window — engineered to create urgency and to lower the social anxiety of sharing imperfect moments.",
      "uid": "2y4afjop5o5"
    },
    {
      "id": "czr-sticky-apps-sa-def-ephemeral-content",
      "shape": "cloze",
      "tags": [
        "case-study",
        "ephemerality",
        "vocabulary"
      ],
      "template": "___ — Posts that auto-delete after viewing or a set window — engineered to create urgency and to lower the social anxiety of sharing imperfect moments",
      "answer": "Ephemeral content",
      "distractors": [
        "Infinite scroll",
        "For You Page (FYP)",
        "Progressive disclosure"
      ],
      "derivedFrom": "sa-def-ephemeral-content",
      "explanation": "Compare: Infinite scroll — A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop. Aza Raskin patented it in 2006.",
      "uid": "61prm0yxb8sk"
    },
    {
      "id": "cz-sticky-apps-sa-fact-charismatic-computers",
      "shape": "cloze",
      "tags": [
        "history",
        "captology"
      ],
      "template": "The lineage of sticky design starts not with a product manager but with a Stanford doctoral student. **___** 1993 dissertation, *Charismatic Computers*, showed for the first time that computers could change human thoughts and behaviors in predictable ways.",
      "answer": "BJ Fogg",
      "distractors": [
        "Aza Raskin",
        "Nir Eyal",
        "Anna Lembke"
      ],
      "derivedFrom": "sa-fact-charismatic-computers",
      "explanation": "Compare: Aza Raskin — An interface designer who later became a prominent critic of the attention economy he helped build. Nir Eyal — A product-design writer who distilled the industry's habit-forming techniques into one practitioner framework.",
      "uid": "1ferenx1gl412r"
    },
    {
      "id": "cz-sticky-apps-sa-fact-stanford-lab",
      "shape": "cloze",
      "tags": [
        "history",
        "captology"
      ],
      "template": "In **1998**, Fogg founded the **___**. His 2003 book *Persuasive Technology: Using Computers to Change What We Think and Do* became the academic foundation — and later the product-design bible — of the mobile era.",
      "answer": "Stanford Persuasive Technology Lab",
      "distractors": [
        "MIT Media Lab",
        "Xerox PARC",
        "Stanford HCI Group"
      ],
      "derivedFrom": "sa-fact-stanford-lab",
      "uid": "gtnwtanri0ea"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-stanford-lab",
      "shape": "mcq",
      "tags": [
        "history",
        "captology"
      ],
      "prompt": {
        "modality": "text",
        "value": "In **1998**, Fogg founded the **___**. His 2003 book *Persuasive Technology: Using Computers to Change What We Think and Do* became the academic foundation — and later the product-design bible — of the mobile era."
      },
      "options": [
        {
          "modality": "text",
          "value": "Xerox PARC"
        },
        {
          "modality": "text",
          "value": "MIT Media Lab"
        },
        {
          "modality": "text",
          "value": "Stanford Persuasive Technology Lab"
        },
        {
          "modality": "text",
          "value": "Stanford HCI Group"
        }
      ],
      "correctIndex": 2,
      "derivedFrom": "sa-fact-stanford-lab",
      "uid": "13w7iwf1w2jbyx"
    },
    {
      "id": "cz-sticky-apps-sa-fact-facebook-platform",
      "shape": "cloze",
      "tags": [
        "history",
        "gamification"
      ],
      "template": "The **___** arrived in **May 2007**, triggering a Cambrian explosion of social apps. Text games gave way to visual 'farms' and 'cities' that used social obligation as their core mechanic.",
      "answer": "Facebook Developer Platform",
      "distractors": [
        "Apple App Store",
        "Google Play Store",
        "MySpace Developer Platform"
      ],
      "derivedFrom": "sa-fact-facebook-platform",
      "uid": "1gagzdlpvs72r"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-facebook-platform",
      "shape": "mcq",
      "tags": [
        "history",
        "gamification"
      ],
      "prompt": {
        "modality": "text",
        "value": "The **___** arrived in **May 2007**, triggering a Cambrian explosion of social apps. Text games gave way to visual 'farms' and 'cities' that used social obligation as their core mechanic."
      },
      "options": [
        {
          "modality": "text",
          "value": "Facebook Developer Platform"
        },
        {
          "modality": "text",
          "value": "Apple App Store"
        },
        {
          "modality": "text",
          "value": "Google Play Store"
        },
        {
          "modality": "text",
          "value": "MySpace Developer Platform"
        }
      ],
      "correctIndex": 0,
      "derivedFrom": "sa-fact-facebook-platform",
      "uid": "11a52ys1vwxd9s"
    },
    {
      "id": "cz-sticky-apps-sa-fact-farmville",
      "shape": "cloze",
      "tags": [
        "history",
        "gamification"
      ],
      "template": "In June 2009, Zynga launched **FarmVille**. It hit one million ___ in four days and 30 million in six months — driven not by gameplay depth but by social sharing: visible farms, resource-gifting loops that required friends, and 'a friend needs help' notifications.",
      "answer": "Daily Active Users",
      "distractors": [
        "Monthly Active Users",
        "Registered Users",
        "Concurrent Players"
      ],
      "derivedFrom": "sa-fact-farmville",
      "uid": "1xs1rgq7z7yvu"
    },
    {
      "id": "cz-sticky-apps-sa-fact-portable-skinner-box",
      "shape": "cloze",
      "tags": [
        "history",
        "neuroscience"
      ],
      "template": "The iPhone's 2007 launch and the 2008 ___ opening moved apps from the desktop to the pocket — available in every idle moment. The smartphone became a **portable Skinner box**: a conditioning chamber you carry everywhere.",
      "answer": "App Store",
      "distractors": [
        "Amazon Appstore",
        "BlackBerry World",
        "Samsung Galaxy Store"
      ],
      "derivedFrom": "sa-fact-portable-skinner-box",
      "uid": "1ykvdw1oi1z17"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-portable-skinner-box",
      "shape": "mcq",
      "tags": [
        "history",
        "neuroscience"
      ],
      "prompt": {
        "modality": "text",
        "value": "The iPhone's 2007 launch and the 2008 ___ opening moved apps from the desktop to the pocket — available in every idle moment. The smartphone became a **portable Skinner box**: a conditioning chamber you carry everywhere."
      },
      "options": [
        {
          "modality": "text",
          "value": "Samsung Galaxy Store"
        },
        {
          "modality": "text",
          "value": "Amazon Appstore"
        },
        {
          "modality": "text",
          "value": "App Store"
        },
        {
          "modality": "text",
          "value": "BlackBerry World"
        }
      ],
      "correctIndex": 2,
      "derivedFrom": "sa-fact-portable-skinner-box",
      "uid": "f2shhz1c74ms9"
    },
    {
      "id": "cz-sticky-apps-sa-fact-hooked-book",
      "shape": "cloze",
      "tags": [
        "history",
        "frameworks"
      ],
      "template": "___ 2014 book *Hooked: How to Build Habit-Forming Products* synthesized the field's practitioner knowledge into the **Hook Model** (Trigger → Action → Variable Reward → Investment) — which became the dominant framework for teams at Snapchat, Instagram, Twitter, and beyond.",
      "answer": "Nir Eyal",
      "distractors": [
        "BJ Fogg",
        "Aza Raskin",
        "Anna Lembke"
      ],
      "derivedFrom": "sa-fact-hooked-book",
      "explanation": "Compare: BJ Fogg — A Stanford researcher who, in the 1990s, proved computers could deliberately change human attitudes and behavior. Aza Raskin — An interface designer who later became a prominent critic of the attention economy he helped build.",
      "uid": "1dxnp051ckie7f"
    },
    {
      "id": "cz-sticky-apps-sa-fact-fogg-bmap",
      "shape": "cloze",
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "template": "**___** says behavior happens only when three things converge at once: **B = Motivation × Ability × Prompt**. A prompt fires, but it only succeeds if motivation and ability are both high enough at that moment. Miss any factor and nothing happens.",
      "answer": "BJ Fogg's Behavior Model",
      "distractors": [
        "The Hook Model",
        "Octalysis",
        "Dynamic Difficulty Adjustment"
      ],
      "derivedFrom": "sa-fact-fogg-bmap",
      "explanation": "Compare: The Hook Model — A practitioner framework from a 2014 book, now standard at the major social apps.",
      "uid": "mr1jwc1vwazro"
    },
    {
      "id": "cz-sticky-apps-sa-fact-flow-channel",
      "shape": "cloze",
      "tags": [
        "frameworks",
        "flow"
      ],
      "template": "___ **Flow Theory** describes a channel of optimal engagement where challenge matches skill. Too easy and the user is bored; too hard and they're anxious — both drive churn. The sticky app keeps the user inside the channel.",
      "answer": "Mihaly Csikszentmihalyi",
      "distractors": [
        "Daniel Kahneman",
        "Anna Lembke",
        "Yu-kai Chou"
      ],
      "derivedFrom": "sa-fact-flow-channel",
      "explanation": "Compare: Daniel Kahneman — A psychologist who won a Nobel Prize in economics for his work on human judgment and decision-making. Anna Lembke — A Stanford psychiatrist who studies addiction and modern compulsion.",
      "uid": "oh9vsrq23az5"
    },
    {
      "id": "cz-sticky-apps-sa-fact-octalysis-stacking",
      "shape": "cloze",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "template": "Octalysis names **eight ___**. The trick isn't picking the right one — it's engaging *several at once*. The most durable apps fire multiple ___ simultaneously, so when one loses its grip another keeps the user tethered.",
      "answer": "Core Drives",
      "distractors": [
        "Player Types",
        "Reward Schedules",
        "Behavior Triggers"
      ],
      "derivedFrom": "sa-fact-octalysis-stacking",
      "uid": "1l4rxu61ylnjcm"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-octalysis-stacking",
      "shape": "mcq",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "prompt": {
        "modality": "text",
        "value": "Octalysis names **eight ___**. The trick isn't picking the right one — it's engaging *several at once*. The most durable apps fire multiple ___ simultaneously, so when one loses its grip another keeps the user tethered."
      },
      "options": [
        {
          "modality": "text",
          "value": "Behavior Triggers"
        },
        {
          "modality": "text",
          "value": "Core Drives"
        },
        {
          "modality": "text",
          "value": "Reward Schedules"
        },
        {
          "modality": "text",
          "value": "Player Types"
        }
      ],
      "correctIndex": 1,
      "derivedFrom": "sa-fact-octalysis-stacking",
      "uid": "1tvgmxj4g7j1x"
    },
    {
      "id": "cz-sticky-apps-sa-fact-streak-poll",
      "shape": "cloze",
      "tags": [
        "case-study",
        "streak",
        "retention"
      ],
      "template": "A ___ LinkedIn poll split Duolingo users: **62%** said the streak boosted motivation; **38%** said it added stress. Duolingo profits either way — both reactions bring users back. Anxiety is engagement that simply doesn't feel good.",
      "answer": "2024",
      "distractors": [
        "2017",
        "2033",
        "2000"
      ],
      "derivedFrom": "sa-fact-streak-poll",
      "uid": "1cavczu1cj0bdi"
    },
    {
      "id": "cz-sticky-apps-sa-fact-saga-map",
      "shape": "cloze",
      "tags": [
        "gamification",
        "goal-gradient",
        "case-study"
      ],
      "template": "Duolingo's **___** — a winding path of nodes showing how far you've come — exploits the **Goal Gradient Effect**. Completion rates climb sharply near checkpoints. The design rule it teaches: always show users how close they are to the next reward.",
      "answer": "Saga Map",
      "distractors": [
        "Demotion threat",
        "Daily login bonus",
        "Core Drives"
      ],
      "derivedFrom": "sa-fact-saga-map",
      "explanation": "Compare: Demotion threat — A league mechanic where falling below a tier's cutoff drops you a rank — the fear of dropping is engineered to motivate more than the desire to advance. Daily login bonus — Fixed Interval.",
      "uid": "1rrdof01bt5v3c"
    },
    {
      "id": "cz-sticky-apps-sa-fact-fb-moat",
      "shape": "cloze",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "template": "Facebook's early dominance rested on the **social graph** — a map of real-world, identity-based relationships. ___, Groups, and Photos were all built *on top of* this graph, each giving users a fresh reason to return.",
      "answer": "News Feed",
      "distractors": [
        "Facebook Watch",
        "Facebook Dating",
        "Facebook Gaming"
      ],
      "derivedFrom": "sa-fact-fb-moat",
      "uid": "vc8784xoc2oc"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-fb-moat",
      "shape": "mcq",
      "tags": [
        "social-graph",
        "case-study"
      ],
      "prompt": {
        "modality": "text",
        "value": "Facebook's early dominance rested on the **social graph** — a map of real-world, identity-based relationships. ___, Groups, and Photos were all built *on top of* this graph, each giving users a fresh reason to return."
      },
      "options": [
        {
          "modality": "text",
          "value": "News Feed"
        },
        {
          "modality": "text",
          "value": "Facebook Watch"
        },
        {
          "modality": "text",
          "value": "Facebook Gaming"
        },
        {
          "modality": "text",
          "value": "Facebook Dating"
        }
      ],
      "correctIndex": 0,
      "derivedFrom": "sa-fact-fb-moat",
      "uid": "11f51nj1o7je79"
    },
    {
      "id": "cz-sticky-apps-sa-fact-stories-expiry",
      "shape": "cloze",
      "tags": [
        "fomo",
        "design-patterns"
      ],
      "template": "Content shared to **___** expires after **24 hours**. The expiry is the mechanic: it manufactures a *social* cost for non-participation, not just an informational one.",
      "answer": "Instagram Stories",
      "distractors": [
        "News Feed",
        "For You Page",
        "Facebook Timeline"
      ],
      "derivedFrom": "sa-fact-stories-expiry",
      "uid": "q8eqsx10ldvpv"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-stories-expiry",
      "shape": "mcq",
      "tags": [
        "fomo",
        "design-patterns"
      ],
      "prompt": {
        "modality": "text",
        "value": "Content shared to **___** expires after **24 hours**. The expiry is the mechanic: it manufactures a *social* cost for non-participation, not just an informational one."
      },
      "options": [
        {
          "modality": "text",
          "value": "News Feed"
        },
        {
          "modality": "text",
          "value": "Facebook Timeline"
        },
        {
          "modality": "text",
          "value": "Instagram Stories"
        },
        {
          "modality": "text",
          "value": "For You Page"
        }
      ],
      "correctIndex": 2,
      "derivedFrom": "sa-fact-stories-expiry",
      "uid": "18ryfbm1ys0kja"
    },
    {
      "id": "cz-sticky-apps-sa-fact-duolingo-cac",
      "shape": "cloze",
      "tags": [
        "growth",
        "case-study",
        "economics"
      ],
      "template": "Duolingo's customer acquisition cost dropped from an estimated **~$41 at IPO** to **~$33 in Q1 ___** — a direct measure of improving viral dynamics as the user base grew more self-referencing. Cheaper acquisition is what viral growth looks like on a spreadsheet.",
      "answer": "2025",
      "distractors": [
        "2018",
        "2034",
        "2001"
      ],
      "derivedFrom": "sa-fact-duolingo-cac",
      "uid": "1vnt4w01psiic8"
    },
    {
      "id": "cz-sticky-apps-sa-fact-snapchat-ephemeral",
      "shape": "cloze",
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "template": "**Snapchat** built around **ephemeral content** — but that wasn't a privacy feature, it was behavioral design. ___ create urgency (FOMO) and lower the social anxiety of sharing imperfect content. Vanishing makes posting feel cheap, which makes it frequent.",
      "answer": "Disappearing Snaps",
      "distractors": [
        "Snapchat Lenses",
        "Bitmoji avatars",
        "Discover channels"
      ],
      "derivedFrom": "sa-fact-snapchat-ephemeral",
      "uid": "e1xjbxb85pjb"
    },
    {
      "id": "cz-sticky-apps-sa-fact-snapchat-group-streaks",
      "shape": "cloze",
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "template": "___ 2025 **Group Streaks** extend the obligation to multi-person relationships: collective Snapping from most of a group keeps the streak alive. Now non-participation costs you the group, not just a friend — multiplying the social pressure.",
      "answer": "Snapchat's September",
      "distractors": [
        "Instagram's October",
        "TikTok's August",
        "Duolingo's November"
      ],
      "derivedFrom": "sa-fact-snapchat-group-streaks",
      "uid": "1n95ucva32qm1"
    },
    {
      "id": "cz-sticky-apps-sa-fact-farmville-proof",
      "shape": "cloze",
      "tags": [
        "case-study",
        "social-obligation",
        "farmville"
      ],
      "template": "**FarmVille** (___) was the prototype for social-obligation loops. Its **gift-sending** mechanics required other players to participate — your progress depended on theirs, and theirs on yours. The loop ran on social obligation and loss aversion, not on the game being fun.",
      "answer": "2009",
      "distractors": [
        "2002",
        "2018",
        "1985"
      ],
      "derivedFrom": "sa-fact-farmville-proof",
      "uid": "biq9gccc29b0"
    },
    {
      "id": "cz-sticky-apps-sa-fact-duolingo-xp",
      "shape": "cloze",
      "tags": [
        "case-study",
        "gamification",
        "duolingo"
      ],
      "template": "Lesson completion yields **variable XP** — bonus rounds, surprise multipliers, and '___' celebrations. The reward isn't a flat payout; it's unpredictable, which is exactly what keeps the next lesson worth starting.",
      "answer": "Perfect Lesson",
      "distractors": [
        "Combo Bonus",
        "Legendary Level",
        "Lightning Round"
      ],
      "derivedFrom": "sa-fact-duolingo-xp",
      "uid": "g6kwgc159r3pw"
    },
    {
      "id": "mcq-c-sticky-apps-sa-fact-duolingo-xp",
      "shape": "mcq",
      "tags": [
        "case-study",
        "gamification",
        "duolingo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Lesson completion yields **variable XP** — bonus rounds, surprise multipliers, and '___' celebrations. The reward isn't a flat payout; it's unpredictable, which is exactly what keeps the next lesson worth starting."
      },
      "options": [
        {
          "modality": "text",
          "value": "Combo Bonus"
        },
        {
          "modality": "text",
          "value": "Legendary Level"
        },
        {
          "modality": "text",
          "value": "Perfect Lesson"
        },
        {
          "modality": "text",
          "value": "Lightning Round"
        }
      ],
      "correctIndex": 2,
      "derivedFrom": "sa-fact-duolingo-xp",
      "uid": "owofak1qmy0ag"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-lembke-digital-dopamine",
      "shape": "trueFalse",
      "tags": [
        "history",
        "neuroscience"
      ],
      "statement": "Anna Lembke is \"Called the smartphone the modern hypodermic needle delivering digital dopamine\".",
      "isTrue": true,
      "why": "Anna Lembke is Called the smartphone the modern hypodermic needle delivering digital dopamine.",
      "derivedFrom": "sa-pair-lembke-digital-dopamine",
      "uid": "9etrgn4cqp1"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-raskin-infinite-scroll",
      "shape": "trueFalse",
      "tags": [
        "history",
        "design-patterns"
      ],
      "statement": "Aza Raskin is \"Patented the infinite scroll in 2006\".",
      "isTrue": true,
      "why": "Aza Raskin is Patented the infinite scroll in 2006.",
      "derivedFrom": "sa-pair-raskin-infinite-scroll",
      "uid": "g3fx8b1tsgwe1"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-skinner-slot-machine",
      "shape": "trueFalse",
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "statement": "\"Variable-ratio reinforcement\" refers to \"The slot machine / notification model\".",
      "isTrue": true,
      "why": "Variable-ratio reinforcement refers to The slot machine / notification model.",
      "derivedFrom": "sa-pair-skinner-slot-machine",
      "uid": "39168nti6afp"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-dopamine-seeking",
      "shape": "trueFalse",
      "tags": [
        "neurochemicals",
        "dopamine"
      ],
      "statement": "\"Dopamine\" refers to \"Pain suppression & exertion\".",
      "isTrue": false,
      "why": "Dopamine actually refers to Seeking & anticipation.",
      "derivedFrom": "sa-pair-dopamine-seeking",
      "uid": "1r43jzm1yh0kty"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-oxytocin-bonding",
      "shape": "trueFalse",
      "tags": [
        "neurochemicals",
        "oxytocin"
      ],
      "statement": "\"Oxytocin\" refers to \"Social bonding & trust\".",
      "isTrue": true,
      "why": "Oxytocin refers to Social bonding & trust.",
      "derivedFrom": "sa-pair-oxytocin-bonding",
      "uid": "1cmt2ak1k290hc"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-serotonin-status",
      "shape": "trueFalse",
      "tags": [
        "neurochemicals",
        "serotonin"
      ],
      "statement": "\"Serotonin\" refers to \"Seeking & anticipation\".",
      "isTrue": false,
      "why": "Serotonin actually refers to Status & belonging.",
      "derivedFrom": "sa-pair-serotonin-status",
      "uid": "1das7cyl3v1qe"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-endorphins-exertion",
      "shape": "trueFalse",
      "tags": [
        "neurochemicals",
        "endorphins"
      ],
      "statement": "\"Endorphins\" refers to \"Pain suppression & exertion\".",
      "isTrue": true,
      "why": "Endorphins refers to Pain suppression & exertion.",
      "derivedFrom": "sa-pair-endorphins-exertion",
      "uid": "1d6lo5s1wwbl0s"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-dmn-zoning-out",
      "shape": "trueFalse",
      "tags": [
        "neuroscience",
        "default-mode-network"
      ],
      "statement": "\"Default Mode Network dominant\" refers to \"The slot machine / notification model\".",
      "isTrue": false,
      "why": "Default Mode Network dominant actually refers to 'Zoning out' while scrolling.",
      "derivedFrom": "sa-pair-dmn-zoning-out",
      "uid": "2j3utt1i012jr"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-epic-meaning",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "statement": "Epic Meaning is \"The drive of belonging to something larger than yourself\".",
      "isTrue": true,
      "why": "Epic Meaning is The drive of belonging to something larger than yourself.",
      "derivedFrom": "sa-pair-epic-meaning",
      "uid": "1sxf04413cjfjw"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-ownership-drive",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "octalysis",
        "frameworks"
      ],
      "statement": "\"Ownership & Possession\" refers to \"The drive of belonging to something larger than yourself\".",
      "isTrue": false,
      "why": "Ownership & Possession actually refers to The drive to accumulate and protect things you feel are yours.",
      "derivedFrom": "sa-pair-ownership-drive",
      "uid": "10r32uumk3tbu"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-variable-ratio-loot",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "statement": "Variable Ratio is \"Mystery chest / loot box\".",
      "isTrue": true,
      "why": "Variable Ratio is Mystery chest / loot box.",
      "derivedFrom": "sa-pair-variable-ratio-loot",
      "uid": "ddxsym12z2yva"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-fixed-ratio-xp",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "statement": "Fixed Ratio is \"10 XP per 10 cards\".",
      "isTrue": true,
      "why": "Fixed Ratio is 10 XP per 10 cards.",
      "derivedFrom": "sa-pair-fixed-ratio-xp",
      "uid": "ahr3twmkis40"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-fixed-interval-login",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "statement": "Fixed Interval is \"When will the next match arrive?\".",
      "isTrue": false,
      "why": "Fixed Interval actually is Daily login bonus.",
      "derivedFrom": "sa-pair-fixed-interval-login",
      "uid": "17nfq4c1j1qcsc"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-variable-interval-match",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "reward-schedules",
        "psychology"
      ],
      "statement": "Variable Interval is \"Mystery chest / loot box\".",
      "isTrue": false,
      "why": "Variable Interval actually is When will the next match arrive?.",
      "derivedFrom": "sa-pair-variable-interval-match",
      "uid": "g2r8zp3ueg5z"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-direct-effect",
      "shape": "trueFalse",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "statement": "\"Direct network effect\" refers to \"More users = directly better for you\".",
      "isTrue": true,
      "why": "Direct network effect refers to More users = directly better for you.",
      "derivedFrom": "sa-pair-direct-effect",
      "uid": "1cu0vtj1dh74d5"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-indirect-effect",
      "shape": "trueFalse",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "statement": "\"Indirect network effect\" refers to \"More users = directly better for you\".",
      "isTrue": false,
      "why": "Indirect network effect actually refers to More users = better content/infrastructure for you.",
      "derivedFrom": "sa-pair-indirect-effect",
      "uid": "5o0qu1ubob1f"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-social-anchoring",
      "shape": "trueFalse",
      "tags": [
        "social-graph",
        "retention"
      ],
      "statement": "\"Social anchoring\" refers to \"40–60% higher retention than solo-use tools\".",
      "isTrue": true,
      "why": "Social anchoring refers to 40–60% higher retention than solo-use tools.",
      "derivedFrom": "sa-pair-social-anchoring",
      "uid": "t39d6t1tx7dxv"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-viral-loop-power",
      "shape": "trueFalse",
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "statement": "\"Viral loop\" refers to \"Users recruiting users through sharing and invitations\".",
      "isTrue": true,
      "why": "Viral loop refers to Users recruiting users through sharing and invitations.",
      "derivedFrom": "sa-pair-viral-loop-power",
      "uid": "pcqfv3rhu2tl"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-content-loop-power",
      "shape": "trueFalse",
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "statement": "\"Content/ASO loop\" refers to \"Ad spend buying installs whose revenue funds more spend\".",
      "isTrue": false,
      "why": "Content/ASO loop actually refers to User activity becoming content that lifts App Store visibility.",
      "derivedFrom": "sa-pair-content-loop-power",
      "uid": "1sthj751rmjyyz"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-paid-loop-power",
      "shape": "trueFalse",
      "tags": [
        "growth",
        "growth-loops",
        "pairs"
      ],
      "statement": "\"Paid acquisition loop\" refers to \"Ad spend buying installs whose revenue funds more spend\".",
      "isTrue": true,
      "why": "Paid acquisition loop refers to Ad spend buying installs whose revenue funds more spend.",
      "derivedFrom": "sa-pair-paid-loop-power",
      "uid": "1h8unautpieda"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-wrapped-artifact",
      "shape": "trueFalse",
      "tags": [
        "growth",
        "artifacts",
        "pairs"
      ],
      "statement": "Spotify Wrapped is \"Users recruiting users through sharing and invitations\".",
      "isTrue": false,
      "why": "Spotify Wrapped actually is Identity-affirming yearly summary shared with zero paid media.",
      "derivedFrom": "sa-pair-wrapped-artifact",
      "uid": "15wp9l91g0z22n"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-duolingo-badge-artifact",
      "shape": "trueFalse",
      "tags": [
        "growth",
        "artifacts",
        "pairs"
      ],
      "statement": "\"Duolingo 'Top 1% of learners' badge\" refers to \"User activity becoming content that lifts App Store visibility\".",
      "isTrue": false,
      "why": "Duolingo 'Top 1% of learners' badge actually refers to Achievement that signals discipline to a user's social graph.",
      "derivedFrom": "sa-pair-duolingo-badge-artifact",
      "uid": "771ywbaswwk"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-facebook-aha",
      "shape": "trueFalse",
      "tags": [
        "aha-moment",
        "case-study",
        "facebook"
      ],
      "statement": "\"Facebook\" refers to \"7 friends in 10 days\".",
      "isTrue": true,
      "why": "Facebook refers to 7 friends in 10 days.",
      "derivedFrom": "sa-pair-facebook-aha",
      "uid": "r4bu5uqjp5l6"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-twitter-aha",
      "shape": "trueFalse",
      "tags": [
        "aha-moment",
        "case-study",
        "twitter"
      ],
      "statement": "\"Twitter\" refers to \"7 friends in 10 days\".",
      "isTrue": false,
      "why": "Twitter actually refers to follow 30 accounts.",
      "derivedFrom": "sa-pair-twitter-aha",
      "uid": "e8e0se14wvmqa"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-duolingo-aha",
      "shape": "trueFalse",
      "tags": [
        "aha-moment",
        "case-study",
        "duolingo"
      ],
      "statement": "\"Duolingo\" refers to \"7 friends in 10 days\".",
      "isTrue": false,
      "why": "Duolingo actually refers to first lesson + animated XP.",
      "derivedFrom": "sa-pair-duolingo-aha",
      "uid": "udulbaui1wqe"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-linkedin-investment",
      "shape": "trueFalse",
      "tags": [
        "investment",
        "case-study",
        "linkedin"
      ],
      "statement": "\"LinkedIn\" refers to \"streak count\".",
      "isTrue": false,
      "why": "LinkedIn actually refers to professional reputation score.",
      "derivedFrom": "sa-pair-linkedin-investment",
      "uid": "cjodax1uhj7zv"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-duolingo-investment",
      "shape": "trueFalse",
      "tags": [
        "investment",
        "case-study",
        "duolingo"
      ],
      "statement": "\"Duolingo\" refers to \"streak count\".",
      "isTrue": true,
      "why": "Duolingo refers to streak count.",
      "derivedFrom": "sa-pair-duolingo-investment",
      "uid": "z8vibplvgdb7"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-personalized-notification",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "notifications"
      ],
      "statement": "\"Personalized notification\" refers to \"Shared quests, collaborative challenges\".",
      "isTrue": false,
      "why": "Personalized notification actually refers to 'Your 14-day streak is at risk'.",
      "derivedFrom": "sa-pair-personalized-notification",
      "uid": "1as92f61dqwo0i"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-async-social-proof",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "statement": "\"Asynchronous social proof\" refers to \"Leaderboards, follower counts\".",
      "isTrue": true,
      "why": "Asynchronous social proof refers to Leaderboards, follower counts.",
      "derivedFrom": "sa-pair-async-social-proof",
      "uid": "28dszy1kb53pa"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-cooperative-features",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "statement": "\"Cooperative features\" refers to \"Shared quests, collaborative challenges\".",
      "isTrue": true,
      "why": "Cooperative features refers to Shared quests, collaborative challenges.",
      "derivedFrom": "sa-pair-cooperative-features",
      "uid": "d92mac1k8h648"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-synchronous-competition",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "social-layer"
      ],
      "statement": "\"Synchronous competition\" refers to \"Live battles, real-time leaderboards\".",
      "isTrue": true,
      "why": "Synchronous competition refers to Live battles, real-time leaderboards.",
      "derivedFrom": "sa-pair-synchronous-competition",
      "uid": "h7htheedds1a"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-fogg-maxim-want",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "statement": "\"Fogg's first maxim\" refers to \"Help people do what they already want to do\".",
      "isTrue": true,
      "why": "Fogg's first maxim refers to Help people do what they already want to do.",
      "derivedFrom": "sa-pair-fogg-maxim-want",
      "uid": "7tamhh17fux8z"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-fogg-maxim-simplicity",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "statement": "\"Fogg's maxim on behavior change\" refers to \"Who is in the user's social graph?\".",
      "isTrue": false,
      "why": "Fogg's maxim on behavior change actually refers to Simplicity changes behavior.",
      "derivedFrom": "sa-pair-fogg-maxim-simplicity",
      "uid": "b5xjtv11s2aat"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-ppte-people",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "context"
      ],
      "statement": "\"People\" refers to \"Who is in the user's social graph?\".",
      "isTrue": true,
      "why": "People refers to Who is in the user's social graph?.",
      "derivedFrom": "sa-pair-ppte-people",
      "uid": "15xsl531cp9bj1"
    },
    {
      "id": "tf-f-sticky-apps-sa-pair-ppte-places",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "context"
      ],
      "statement": "\"Places\" refers to \"Who is in the user's social graph?\".",
      "isTrue": false,
      "why": "Places actually refers to Where is the user when they engage?.",
      "derivedFrom": "sa-pair-ppte-places",
      "uid": "11xdg31xifuzh"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-ppte-things",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "context"
      ],
      "statement": "\"Things\" refers to \"What artifacts does the user accumulate?\".",
      "isTrue": true,
      "why": "Things refers to What artifacts does the user accumulate?.",
      "derivedFrom": "sa-pair-ppte-things",
      "uid": "8qzef31jfy4l9"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-ppte-events",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "context"
      ],
      "statement": "\"Events\" refers to \"What recurring real-world moments or occasions re-engage the user?\".",
      "isTrue": true,
      "why": "Events refers to what recurring real-world moments or occasions re-engage the user.",
      "derivedFrom": "sa-pair-ppte-events",
      "uid": "hyepbe8xqiyq"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-tiktok-mechanic",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "interest-graph",
        "tiktok"
      ],
      "statement": "\"TikTok\" refers to \"Interest graph + variable-ratio For You Page\".",
      "isTrue": true,
      "why": "TikTok refers to Interest graph + variable-ratio For You Page.",
      "derivedFrom": "sa-pair-tiktok-mechanic",
      "uid": "gaja9f1ohqdsx"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-instagram-mechanic",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "interest-graph",
        "instagram"
      ],
      "statement": "\"Instagram\" refers to \"Social graph moat + algorithmic Reels broadcast\".",
      "isTrue": true,
      "why": "Instagram refers to Social graph moat + algorithmic Reels broadcast.",
      "derivedFrom": "sa-pair-instagram-mechanic",
      "uid": "1e9go9t35alan"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-snapchat-mechanic",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "ephemerality",
        "snapchat"
      ],
      "statement": "\"Snapchat\" refers to \"Ephemeral content + loss-aversion streaks\".",
      "isTrue": true,
      "why": "Snapchat refers to Ephemeral content + loss-aversion streaks.",
      "derivedFrom": "sa-pair-snapchat-mechanic",
      "uid": "1nyhwym1qmoh0y"
    },
    {
      "id": "tf-t-sticky-apps-sa-pair-farmville-mechanic",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "social-obligation",
        "farmville"
      ],
      "statement": "\"FarmVille\" refers to \"Social-obligation gift-sending loops\".",
      "isTrue": true,
      "why": "FarmVille refers to Social-obligation gift-sending loops.",
      "derivedFrom": "sa-pair-farmville-mechanic",
      "uid": "1qg9zx5mfe16z"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-captology",
      "shape": "trueFalse",
      "tags": [
        "history",
        "captology",
        "vocabulary"
      ],
      "statement": "Captology: The study of Computers As Persuasive Technologies — how computers can be designed to change human thoughts and behaviors.",
      "isTrue": true,
      "why": "That definition is correct for \"Captology\".",
      "derivedFrom": "sa-def-captology",
      "uid": "1u46905ddg5tf"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-infinite-scroll",
      "shape": "trueFalse",
      "tags": [
        "history",
        "design-patterns",
        "vocabulary"
      ],
      "statement": "Infinite scroll: A feed design with no natural stopping point — content loads endlessly as you scroll, removing the cues that previously told you to stop.",
      "isTrue": true,
      "why": "That definition is correct for \"Infinite scroll\".",
      "derivedFrom": "sa-def-infinite-scroll",
      "uid": "lt1jrekdcuve"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-for-you-page",
      "shape": "trueFalse",
      "tags": [
        "history",
        "algorithm",
        "vocabulary"
      ],
      "statement": "Infinite scroll: TikTok's main feed, driven by a reinforcement-learning algorithm that infers preferences from watch time, completions, and skips to optimize for what a user can't stop watching.",
      "isTrue": false,
      "why": "That's the definition of \"For You Page (FYP)\", not \"Infinite scroll\".",
      "derivedFrom": "sa-def-for-you-page",
      "uid": "fcj1vapxdm0i"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-dopamine",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "dopamine"
      ],
      "statement": "Zeigarnik effect: The neurochemical that governs wanting and seeking — not liking or satisfaction.",
      "isTrue": false,
      "why": "That's the definition of \"Dopamine\", not \"Zeigarnik effect\".",
      "derivedFrom": "sa-def-dopamine",
      "uid": "12i2cj315i37v9"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-variable-ratio-reinforcement",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "variable-ratio"
      ],
      "statement": "Variable-ratio reinforcement: An operant schedule, from B.F.",
      "isTrue": true,
      "why": "That definition is correct for \"Variable-ratio reinforcement\".",
      "derivedFrom": "sa-def-variable-ratio-reinforcement",
      "uid": "mtei351bxvzsv"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-default-mode-network",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "default-mode-network"
      ],
      "statement": "Default Mode Network (DMN): The brain network associated with mind-wandering and self-referential thought.",
      "isTrue": true,
      "why": "That definition is correct for \"Default Mode Network (DMN)\".",
      "derivedFrom": "sa-def-default-mode-network",
      "uid": "1ki3ypeg0021a"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-loss-aversion",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "loss-aversion"
      ],
      "statement": "Sunk cost fallacy: From Kahneman and Tversky's Prospect Theory: losses feel roughly twice as psychologically powerful as equivalent gains.",
      "isTrue": false,
      "why": "That's the definition of \"Loss aversion\", not \"Sunk cost fallacy\".",
      "derivedFrom": "sa-def-loss-aversion",
      "uid": "1rj6nfs16mi9ro"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-endowment-effect",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "endowment-effect"
      ],
      "statement": "Dopamine: The tendency to value something more highly simply because you own it.",
      "isTrue": false,
      "why": "That's the definition of \"Endowment effect\", not \"Dopamine\".",
      "derivedFrom": "sa-def-endowment-effect",
      "uid": "1ixg65c1y9qh54"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-sunk-cost-fallacy",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "sunk-cost"
      ],
      "statement": "Sunk cost fallacy: The bias to keep investing in something because of what you have already put in, even when quitting would be rational.",
      "isTrue": true,
      "why": "That definition is correct for \"Sunk cost fallacy\".",
      "derivedFrom": "sa-def-sunk-cost-fallacy",
      "uid": "11k7orsl1on7g"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-zeigarnik-effect",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "zeigarnik-effect"
      ],
      "statement": "Zeigarnik effect: The finding that people remember and are drawn back to incomplete tasks more strongly than completed ones.",
      "isTrue": true,
      "why": "That definition is correct for \"Zeigarnik effect\".",
      "derivedFrom": "sa-def-zeigarnik-effect",
      "uid": "28ue8irjrxx2"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-flow-state",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "neuroscience",
        "flow"
      ],
      "statement": "Flow state: Mihaly Csikszentmihalyi's channel of optimal engagement where challenge matches skill.",
      "isTrue": true,
      "why": "That definition is correct for \"Flow state\".",
      "derivedFrom": "sa-def-flow-state",
      "uid": "s99mkg5q3cq4"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-goal-gradient-effect",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "gamification",
        "goal-gradient"
      ],
      "statement": "Goal gradient effect: The tendency to accelerate effort as you approach a milestone.",
      "isTrue": true,
      "why": "That definition is correct for \"Goal gradient effect\".",
      "derivedFrom": "sa-def-goal-gradient-effect",
      "uid": "1mrrdey6ft51e"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-fogg-behavior-model",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "frameworks",
        "fogg-model"
      ],
      "statement": "Fogg Behavior Model (B = MAP): BJ Fogg's formula stating that Behavior = Motivation × Ability × Prompt.",
      "isTrue": true,
      "why": "That definition is correct for \"Fogg Behavior Model (B = MAP)\".",
      "derivedFrom": "sa-def-fogg-behavior-model",
      "uid": "1f89m6k1fwn4zg"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-hook-model",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "frameworks",
        "hook-model"
      ],
      "statement": "Investment (Hook): Nir Eyal's four-stage habit loop from his 2014 book Hooked: Trigger → Action → Variable Reward → Investment.",
      "isTrue": false,
      "why": "That's the definition of \"Hook Model\", not \"Investment (Hook)\".",
      "derivedFrom": "sa-def-hook-model",
      "uid": "v85n6c19o83og"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-trigger",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "frameworks",
        "trigger"
      ],
      "statement": "Trigger: The cue that starts a Hook loop.",
      "isTrue": true,
      "why": "That definition is correct for \"Trigger\".",
      "derivedFrom": "sa-def-trigger",
      "uid": "1bmas21tx25hj"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-variable-reward",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "frameworks",
        "variable-reward"
      ],
      "statement": "Variable reward: The third Hook stage: an unpredictable payoff of the tribe (social validation), the hunt (information), or the self (mastery).",
      "isTrue": true,
      "why": "That definition is correct for \"Variable reward\".",
      "derivedFrom": "sa-def-variable-reward",
      "uid": "1b0s87511wk2nn"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-investment-hook",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "frameworks",
        "investment",
        "retention"
      ],
      "statement": "LTV (Lifetime Value): The fourth Hook stage: users put something into the product — data, content, social connections, reputation.",
      "isTrue": false,
      "why": "That's the definition of \"Investment (Hook)\", not \"LTV (Lifetime Value)\".",
      "derivedFrom": "sa-def-investment-hook",
      "uid": "14en9a81i2ck80"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-pbl",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "gamification",
        "pbl"
      ],
      "statement": "PBL (Points, Badges, Leaderboards): The surface layer of gamification: visible, legible reward elements that are also easy to habituate to.",
      "isTrue": true,
      "why": "That definition is correct for \"PBL (Points, Badges, Leaderboards)\".",
      "derivedFrom": "sa-def-pbl",
      "uid": "1y8eknh1gphk9r"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-octalysis",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "gamification",
        "octalysis"
      ],
      "statement": "Streak Freeze: Yu-kai Chou's framework identifying eight Core Drives that motivate behavior — from Epic Meaning to Ownership to Social Influence.",
      "isTrue": false,
      "why": "That's the definition of \"Octalysis\", not \"Streak Freeze\".",
      "derivedFrom": "sa-def-octalysis",
      "uid": "13fys42doob52"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-streak-freeze",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "gamification",
        "streak-freeze"
      ],
      "statement": "Streak Freeze: A purchasable or earnable item that protects a streak during an absence.",
      "isTrue": true,
      "why": "That definition is correct for \"Streak Freeze\".",
      "derivedFrom": "sa-def-streak-freeze",
      "uid": "20yt2iy6b1i2"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-dynamic-difficulty-adjustment",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "gamification",
        "dynamic-difficulty"
      ],
      "statement": "PBL (Points, Badges, Leaderboards): Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel.",
      "isTrue": false,
      "why": "That's the definition of \"Dynamic Difficulty Adjustment (DDA)\", not \"PBL (Points, Badges, Leaderboards)\".",
      "derivedFrom": "sa-def-dynamic-difficulty-adjustment",
      "uid": "qvcw1w1g6km6w"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-doherty-threshold",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "design-patterns",
        "doherty-threshold"
      ],
      "statement": "Dark pattern: The sub-400ms response time below which a system feels instantaneous and keeps a user productively engaged.",
      "isTrue": false,
      "why": "That's the definition of \"Doherty Threshold\", not \"Dark pattern\".",
      "derivedFrom": "sa-def-doherty-threshold",
      "uid": "fmria9b2925b"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-network-effect",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "network-effect"
      ],
      "statement": "Network effect: The dynamic where a product becomes more valuable to each user as more people use it.",
      "isTrue": true,
      "why": "That definition is correct for \"Network effect\".",
      "derivedFrom": "sa-def-network-effect",
      "uid": "qpa4d71xoxofl"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-metcalfes-law",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "metcalfes-law"
      ],
      "statement": "Parasocial bond: A model stating that a network's value scales with the square of its number of users (n²).",
      "isTrue": false,
      "why": "That's the definition of \"Metcalfe's Law\", not \"Parasocial bond\".",
      "derivedFrom": "sa-def-metcalfes-law",
      "uid": "dmi7qs1so7hhk"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-social-graph",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "social-graph"
      ],
      "statement": "Social graph: A map of real-world, identity-based relationships — who you know.",
      "isTrue": true,
      "why": "That definition is correct for \"Social graph\".",
      "derivedFrom": "sa-def-social-graph",
      "uid": "1ofwdq3vfogm"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-interest-graph",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "interest-graph"
      ],
      "statement": "Parasocial bond: A machine-curated map of what you are drawn to rather than who you know.",
      "isTrue": false,
      "why": "That's the definition of \"Interest graph\", not \"Parasocial bond\".",
      "derivedFrom": "sa-def-interest-graph",
      "uid": "1edoctfxstbd5"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-fomo",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "fomo"
      ],
      "statement": "Parasocial bond: Anxiety driven not by missing content but by the social consequences of missed bonding opportunities.",
      "isTrue": false,
      "why": "That's the definition of \"FOMO (Fear of Missing Out)\", not \"Parasocial bond\".",
      "derivedFrom": "sa-def-fomo",
      "uid": "12gz1hz1mxn2i1"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-parasocial-bond",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "network-effects",
        "parasocial"
      ],
      "statement": "Metcalfe's Law: An oxytocin-mediated emotional attachment to a non-human or non-reciprocating entity, such as Duolingo's Duo owl.",
      "isTrue": false,
      "why": "That's the definition of \"Parasocial bond\", not \"Metcalfe's Law\".",
      "derivedFrom": "sa-def-parasocial-bond",
      "uid": "1vcdxs71gl7nyx"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-viral-coefficient",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "growth",
        "k-factor"
      ],
      "statement": "Viral coefficient (K-factor): A measure of how many new users each existing user generates, calculated as K = i × c (invitations sent × conversion rate).",
      "isTrue": true,
      "why": "That definition is correct for \"Viral coefficient (K-factor)\".",
      "derivedFrom": "sa-def-viral-coefficient",
      "uid": "1op4sex9gvz03"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-viral-loop",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "growth",
        "viral-loop"
      ],
      "statement": "Referral program: A growth loop in which users naturally recruit others through sharing, invitations, or social artifacts.",
      "isTrue": false,
      "why": "That's the definition of \"Viral loop\", not \"Referral program\".",
      "derivedFrom": "sa-def-viral-loop",
      "uid": "14g116c9um6co"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-shareable-artifact",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "growth",
        "shareable-artifact"
      ],
      "statement": "Shareable artifact: Content a user wants to share because it reflects well on them — Spotify Wrapped, a 'Top 1% of learners' badge.",
      "isTrue": true,
      "why": "That definition is correct for \"Shareable artifact\".",
      "derivedFrom": "sa-def-shareable-artifact",
      "uid": "1icatxz1jl2mut"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-referral-program",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "growth",
        "referral"
      ],
      "statement": "Referral program: An invite mechanic for acquisition.",
      "isTrue": true,
      "why": "That definition is correct for \"Referral program\".",
      "derivedFrom": "sa-def-referral-program",
      "uid": "o0idng12gix1o"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-aha-moment",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "aha-moment"
      ],
      "statement": "Churn: The instant an app's core value becomes emotionally real — feeling the value, not finishing a tutorial.",
      "isTrue": false,
      "why": "That's the definition of \"Aha Moment\", not \"Churn\".",
      "derivedFrom": "sa-def-aha-moment",
      "uid": "1vzu42m1b0phg2"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-push-notification",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "push-notification"
      ],
      "statement": "Push notification: The primary channel for reactivating users who have left the habit loop.",
      "isTrue": true,
      "why": "That definition is correct for \"Push notification\".",
      "derivedFrom": "sa-def-push-notification",
      "uid": "t69w9afu8n46"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-cohort-analysis",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "cohort-analysis"
      ],
      "statement": "Cohort analysis: Tracking the percentage of users from a given install cohort who return on Day 1, 7, 30, and 90.",
      "isTrue": true,
      "why": "That definition is correct for \"Cohort analysis\".",
      "derivedFrom": "sa-def-cohort-analysis",
      "uid": "er0u9d82hacv"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-dau-mau-ratio",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "dau-mau"
      ],
      "statement": "DAU/MAU ratio: Daily active users as a share of monthly active users — a measure of how habitually people return.",
      "isTrue": true,
      "why": "That definition is correct for \"DAU/MAU ratio\".",
      "derivedFrom": "sa-def-dau-mau-ratio",
      "uid": "nams0x18z6it3"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-cac",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "cac"
      ],
      "statement": "Investment (Hook): The cost to acquire one new user.",
      "isTrue": false,
      "why": "That's the definition of \"CAC (Customer Acquisition Cost)\", not \"Investment (Hook)\".",
      "derivedFrom": "sa-def-cac",
      "uid": "1i68k6p1r97ktf"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-ltv",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "ltv"
      ],
      "statement": "LTV (Lifetime Value): The total value a user generates over their lifetime.",
      "isTrue": true,
      "why": "That definition is correct for \"LTV (Lifetime Value)\".",
      "derivedFrom": "sa-def-ltv",
      "uid": "1ufn8x3l2yv8d"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-churn",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "retention",
        "churn"
      ],
      "statement": "Churn: The loss of users over time.",
      "isTrue": true,
      "why": "That definition is correct for \"Churn\".",
      "derivedFrom": "sa-def-churn",
      "uid": "1ilh7xt1wlj55f"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-dark-pattern",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "design-patterns",
        "dark-pattern"
      ],
      "statement": "Core loop: A manipulative design that works against the user's own goals — shaming language ('No, I don't want to be smart'), impossible cancellation flows, manufactured scarcity.",
      "isTrue": false,
      "why": "That's the definition of \"Dark pattern\", not \"Core loop\".",
      "derivedFrom": "sa-def-dark-pattern",
      "uid": "1eolt4c1ehmk5s"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-progressive-disclosure",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "design-patterns",
        "progressive-disclosure"
      ],
      "statement": "Core loop: An onboarding principle of revealing complexity gradually rather than exposing every feature at once, so new users aren't overwhelmed before they reach the Aha Moment.",
      "isTrue": false,
      "why": "That's the definition of \"Progressive disclosure\", not \"Core loop\".",
      "derivedFrom": "sa-def-progressive-disclosure",
      "uid": "zuyz1dxls633"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-core-loop",
      "shape": "trueFalse",
      "tags": [
        "vocabulary",
        "design-patterns",
        "core-loop"
      ],
      "statement": "Core loop: The fundamental action cycle a user repeats every session.",
      "isTrue": true,
      "why": "That definition is correct for \"Core loop\".",
      "derivedFrom": "sa-def-core-loop",
      "uid": "ha4a5v1ae0svt"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-variable-ratio",
      "shape": "trueFalse",
      "tags": [
        "neuroscience",
        "skinner",
        "variable-ratio"
      ],
      "statement": "Variable-ratio reinforcement: A reinforcement schedule, from B.F.",
      "isTrue": true,
      "why": "That definition is correct for \"Variable-ratio reinforcement\".",
      "derivedFrom": "sa-def-variable-ratio",
      "uid": "174vstl1812x0n"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-bmap",
      "shape": "trueFalse",
      "tags": [
        "frameworks",
        "fogg-model"
      ],
      "statement": "B = MAP (Fogg Behavior Model): Behavior = Motivation × Ability × Prompt — a behavior occurs only when a prompt arrives while motivation and ability are both sufficient.",
      "isTrue": true,
      "why": "That definition is correct for \"B = MAP (Fogg Behavior Model)\".",
      "derivedFrom": "sa-def-bmap",
      "uid": "xkls0we2la50"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-dda",
      "shape": "trueFalse",
      "tags": [
        "frameworks",
        "flow"
      ],
      "statement": "B = MAP (Fogg Behavior Model): Systems that analyze a user's performance in real time and modulate challenge to keep them inside the flow channel — Duolingo tunes course structure to how fast each user learns.",
      "isTrue": false,
      "why": "That's the definition of \"Dynamic Difficulty Adjustment\", not \"B = MAP (Fogg Behavior Model)\".",
      "derivedFrom": "sa-def-dda",
      "uid": "dfukng1wfzdjo"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-goal-gradient",
      "shape": "trueFalse",
      "tags": [
        "gamification",
        "goal-gradient",
        "psychology"
      ],
      "statement": "Goal Gradient Effect: The tendency to accelerate effort as you approach a milestone — the closer the reward, the harder people push toward it.",
      "isTrue": true,
      "why": "That definition is correct for \"Goal Gradient Effect\".",
      "derivedFrom": "sa-def-goal-gradient",
      "uid": "1rkwww7pifhpx"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-zero-blank-slate",
      "shape": "trueFalse",
      "tags": [
        "design-patterns",
        "onboarding",
        "vocabulary"
      ],
      "statement": "Infinite scroll: Pre-populating a new user's experience with data, suggested friends, or example content, because an empty screen signals no value.",
      "isTrue": false,
      "why": "That's the definition of \"Zero blank slate\", not \"Infinite scroll\".",
      "derivedFrom": "sa-def-zero-blank-slate",
      "uid": "5tme911rwdsmf"
    },
    {
      "id": "tf-d-sticky-apps-sa-def-demotion-threat",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "gamification",
        "vocabulary"
      ],
      "statement": "Demotion threat: A league mechanic where falling below a tier's cutoff drops you a rank — the fear of dropping is engineered to motivate more than the desire to advance.",
      "isTrue": true,
      "why": "That definition is correct for \"Demotion threat\".",
      "derivedFrom": "sa-def-demotion-threat",
      "uid": "33ju8k195xun8"
    },
    {
      "id": "tf-df-sticky-apps-sa-def-ephemeral-content",
      "shape": "trueFalse",
      "tags": [
        "case-study",
        "ephemerality",
        "vocabulary"
      ],
      "statement": "Demotion threat: Posts that auto-delete after viewing or a set window — engineered to create urgency and to lower the social anxiety of sharing imperfect moments.",
      "isTrue": false,
      "why": "That's the definition of \"Ephemeral content\", not \"Demotion threat\".",
      "derivedFrom": "sa-def-ephemeral-content",
      "uid": "jlt3qpg5mq6z"
    },
    {
      "id": "concept-rw-sticky-apps-captology",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "history",
        "persuasion"
      ],
      "name": "Captology",
      "clues": [
        "A term coined in 1996 that named a new discipline: the study of computers as tools of persuasion.",
        "It grew out of a 1993 Stanford doctoral dissertation titled Charismatic Computers.",
        "Its name is compressed from the phrase 'Computers As Persuasive Technologies.'"
      ],
      "uid": "14sala4cv5fgs"
    },
    {
      "id": "concept-rw-sticky-apps-farmville",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "history",
        "social-games"
      ],
      "name": "FarmVille",
      "clues": [
        "This 2009 Zynga simulation launched on a newly opened social platform and made social obligation its core mechanic.",
        "Its viral loop combined visible progress as social proof, resource-gifting that forced friends to reciprocate, and 'a friend needs help' notifications to pull lapsed players back.",
        "It reached 1 million Daily Active Users in four days and 30 million in six months — numbers with no precedent in consumer software."
      ],
      "uid": "iiakzp4rtxrv"
    },
    {
      "id": "concept-rw-sticky-apps-infinite-scroll",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "history",
        "ui-pattern"
      ],
      "name": "Infinite Scroll",
      "clues": [
        "Aza Raskin patented this feed design in 2006 — a layout with no natural stopping point.",
        "Content loads endlessly, removing the visual cues that once told a user when to stop.",
        "On mobile it turned ruinous, erasing the page-turns and load screens that used to give the brain a moment to reassert control."
      ],
      "uid": "dtq5yw16g5bis"
    },
    {
      "id": "concept-rw-sticky-apps-tiktok",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "history",
        "algorithm"
      ],
      "name": "TikTok",
      "clues": [
        "This app launched globally in 2018 and marked a qualitative leap beyond social-graph and hand-tuned platforms.",
        "Its feed runs on a reinforcement-learning algorithm that infers preferences from watch time, video completions, and skips — signals users don't know they're giving.",
        "A $1.7 million Georgia Tech study audited its For You Page and confirmed both its precision and its opacity."
      ],
      "uid": "mk0vrf6ls1kp"
    },
    {
      "id": "concept-rw-sticky-apps-dopamine",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "neurochemistry",
        "brain"
      ],
      "name": "Dopamine",
      "clues": [
        "This neurochemical is the most misunderstood molecule in tech discourse — it does not deliver pleasure, it drives pursuit.",
        "It fires during the anticipation of something good, not when the good thing arrives, which is why seeking a feed can hold attention more than the content does.",
        "In the wanting-versus-liking split, it runs the wanting/seeking system while opioid circuits handle enjoyment."
      ],
      "uid": "1iksoc41uj61vk"
    },
    {
      "id": "concept-rw-sticky-apps-oxytocin",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "neurochemistry",
        "brain"
      ],
      "name": "Oxytocin",
      "clues": [
        "One of the four neurochemical levers app design pulls, this one drives social bonding and trust.",
        "It produces the warmth from peer acknowledgment, cooperative features, or a message from a friend.",
        "On social acknowledgment it releases first, followed by a status chemical, the pair landing together in the nucleus accumbens."
      ],
      "uid": "93www6l3vsty"
    },
    {
      "id": "concept-rw-sticky-apps-serotonin",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "neurochemistry",
        "brain"
      ],
      "name": "Serotonin",
      "clues": [
        "One of the four neurochemical levers, this one drives status and belonging.",
        "Leaderboards, follower counts, and any visible signal that you rank meaningfully among others work through it.",
        "After social acknowledgment it follows the bonding chemical, and the two hit the nucleus accumbens together."
      ],
      "uid": "c3duesqy8p4w"
    },
    {
      "id": "concept-rw-sticky-apps-endorphins",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "neurochemistry",
        "brain"
      ],
      "name": "Endorphins",
      "clues": [
        "One of the four neurochemical levers, this one suppresses pain and rewards exertion.",
        "It is the release that comes from finishing a hard lesson or completing a workout.",
        "Among the four levers it is the one tied to effort and physical push rather than seeking, bonding, or status."
      ],
      "uid": "19dernc19au5zg"
    },
    {
      "id": "concept-rw-sticky-apps-the-endowment-effect",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "psychology",
        "bias"
      ],
      "name": "The Endowment Effect",
      "clues": [
        "A cognitive bias in which people overvalue what they already own.",
        "In the Hook Model's investment stage, it's why loading in contacts, preferences, and history raises a user's switching cost.",
        "It also explains sharing account credentials rather than letting a Snapstreak reset — the about-to-be-lost thing feels inflated in value."
      ],
      "uid": "rc70h5p8yb1n"
    },
    {
      "id": "concept-rw-sticky-apps-prospect-theory",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "psychology",
        "loss-aversion"
      ],
      "name": "Prospect Theory",
      "clues": [
        "A behavioral-economics framework from Kahneman and Tversky about how people weigh gains against losses.",
        "Its central finding: a loss feels roughly twice as painful as an equivalent gain feels good.",
        "It's the reason a 100-day streak's threatened reset drives retention harder than any equal-sized reward could."
      ],
      "uid": "1ob2n751qwhd6n"
    },
    {
      "id": "concept-rw-sticky-apps-the-flow-state",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "psychology",
        "engagement"
      ],
      "name": "The Flow State",
      "clues": [
        "Mihaly Csikszentmihalyi described this as a narrow channel where challenge and skill are balanced.",
        "Inside it, attention is total, time distorts, and effort feels effortless.",
        "Rise above the channel and excess difficulty breeds anxiety; drop below and too little challenge breeds boredom — both drive churn."
      ],
      "uid": "bgzh6e1mc9y8q"
    },
    {
      "id": "concept-rw-sticky-apps-dynamic-difficulty-adjustment",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "psychology",
        "difficulty"
      ],
      "name": "Dynamic Difficulty Adjustment",
      "clues": [
        "The engineering answer to keeping users inside the balanced-challenge channel.",
        "Systems that track performance in real time and modulate the challenge to match keep users engaged longer.",
        "Duolingo applies it by tuning course structure to each learner's actual pace instead of a fixed curriculum."
      ],
      "uid": "bdtzpy14yahw6"
    },
    {
      "id": "concept-rw-sticky-apps-fixed-ratio-reinforcement",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "gamification",
        "reward-schedules"
      ],
      "name": "Fixed-Ratio Reinforcement",
      "clues": [
        "One of four operant-conditioning schedules that set the reward-timing layer of a gamified system.",
        "This one pays out after a set number of actions, and its predictability makes it far less compulsive than the unpredictable schedules.",
        "Duolingo's textbook example: 10 XP for every 10 cards you complete."
      ],
      "uid": "yo10my6w5p9a"
    },
    {
      "id": "concept-rw-sticky-apps-fixed-interval-reinforcement",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "gamification",
        "reward-schedules"
      ],
      "name": "Fixed-Interval Reinforcement",
      "clues": [
        "One of the four operant-conditioning schedules from Skinner's research.",
        "It delivers its reward after a set amount of time passes, no matter how much activity you put in.",
        "The everyday app version is the once-a-day login bonus."
      ],
      "uid": "1n5ncmj1mrawd5"
    },
    {
      "id": "concept-rw-sticky-apps-variable-interval-reinforcement",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "gamification",
        "reward-schedules"
      ],
      "name": "Variable-Interval Reinforcement",
      "clues": [
        "One of the four operant-conditioning schedules, and one of the two unpredictable ones.",
        "Its reward arrives after an unpredictable amount of time rather than after a set count of actions.",
        "In app terms, it's the open-ended wait for when your next match shows up."
      ],
      "uid": "k1zyoaldbv4y"
    },
    {
      "id": "concept-rw-sticky-apps-metcalfe-s-law",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "network-effects"
      ],
      "name": "Metcalfe's Law",
      "clues": [
        "A principle that gives network effects a mathematical frame.",
        "It holds that a network's value scales with the square of the number of connected users — n².",
        "Double the users and you quadruple the value, in theory — though unequal connections make it a directional intuition, not precise accounting."
      ],
      "uid": "o4p9zk18kq9w8"
    },
    {
      "id": "concept-rw-sticky-apps-the-social-graph",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "network-effects",
        "social"
      ],
      "name": "The Social Graph",
      "clues": [
        "Facebook's early moat was built on this — a persistent, identity-based map of real-world relationships.",
        "It tied users to their real names and contacts, unlike interest communities or anonymous forums; News Feed, Groups, and Photos were layered on top.",
        "Rivals could copy any single feature but never the underlying web of who-knows-whom."
      ],
      "uid": "1ih025c6n5rx4"
    },
    {
      "id": "concept-rw-sticky-apps-layered-defensibility",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "network-effects",
        "moat"
      ],
      "name": "Layered Defensibility",
      "clues": [
        "A phrase coined by the VC firm NFX for stacking many network effects at once instead of relying on just one.",
        "NFX pictures it as a castle with six concentric walls a challenger must breach one at a time.",
        "Its six walls: identity, social relationships, data, payment credentials, media, and platform integrations."
      ],
      "uid": "ap6eiq1bgmxmm"
    },
    {
      "id": "concept-rw-sticky-apps-the-interest-graph",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "network-effects",
        "algorithm"
      ],
      "name": "The Interest Graph",
      "clues": [
        "TikTok built its recommendation engine around this rather than around a map of who you know.",
        "It's a map of what you're drawn to, inferred from behavior — completion rate, shares, comments, follows, re-watches — weighting completion and sharing most.",
        "Because it judges the content, not the creator's follower history, a zero-follower account can still go viral."
      ],
      "uid": "1rnpmp1dip8gv"
    },
    {
      "id": "concept-rw-sticky-apps-the-cold-start-problem",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "network-effects",
        "algorithm"
      ],
      "name": "The Cold-Start Problem",
      "clues": [
        "The barrier that crippled follower-based platforms: a newcomer reaches almost no one because they have no audience yet.",
        "TikTok's interest graph dissolves it — a brand-new account with zero followers can win viral distribution within 24 hours.",
        "The fix is judging each video against a small test group's engagement thresholds rather than the creator's history."
      ],
      "uid": "19c914t1oduud3"
    },
    {
      "id": "concept-rw-sticky-apps-the-viral-loop",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "growth",
        "virality"
      ],
      "name": "The viral loop",
      "clues": [
        "Of the three growth engines, this is the most celebrated — and it costs almost nothing per additional install.",
        "It works by having existing users recruit new ones through sharing, invitations, and social artifacts.",
        "This compounding, nearly-free growth engine is measured directly by the K-factor: invitations sent times conversion rate."
      ],
      "uid": "n66q1313vtdlh"
    },
    {
      "id": "concept-rw-sticky-apps-the-content-aso-loop",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "growth",
        "aso"
      ],
      "name": "The content/ASO loop",
      "clues": [
        "This subtler growth engine turns ordinary user activity into a free discovery channel.",
        "Posts, reviews, and public profiles become indexable material that lifts App Store and search visibility.",
        "It pulls in cold-search installs with no media buy, because user activity itself becomes the searchable asset that raises store ranking."
      ],
      "uid": "1eapq2o1ustiu0"
    },
    {
      "id": "concept-rw-sticky-apps-the-paid-acquisition-loop",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "growth",
        "paid-ads"
      ],
      "name": "The paid acquisition loop",
      "clues": [
        "Unlike the two compounding engines, this growth mechanism can scale fast but only under the right unit economics.",
        "Ad spend buys installs whose in-app revenue funds still more ad spend.",
        "It is sustainable only when a user's lifetime value far exceeds the cost to land them — negative unit economics make it accelerate losses instead of growth."
      ],
      "uid": "16aobrb1vnenx5"
    },
    {
      "id": "concept-rw-sticky-apps-facebook",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "aha-moment",
        "retention"
      ],
      "name": "Facebook",
      "clues": [
        "This social network located its Aha Moment as a specific social-density threshold new users had to hit early on.",
        "Reach that density and the feed becomes meaningful; miss it and the product feels like an empty room.",
        "Its famous benchmark: reaching 7 friends within the first 10 days of signup."
      ],
      "uid": "auwhn1unmmav"
    },
    {
      "id": "concept-rw-sticky-apps-twitter",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "aha-moment",
        "retention"
      ],
      "name": "Twitter",
      "clues": [
        "This microblogging platform defined its Aha Moment as reaching enough signal to make the timeline worth returning to.",
        "The threshold was about following enough sources to fill a feed.",
        "Its specific onboarding target was following 30 accounts."
      ],
      "uid": "d3z5qp1oh8sin"
    },
    {
      "id": "concept-rw-sticky-apps-duolingo",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "aha-moment",
        "retention"
      ],
      "name": "Duolingo",
      "clues": [
        "This language-learning app's Aha Moment is immediate and sensory rather than social.",
        "It hinges on finishing your very first exercise and getting an instant gamified payoff.",
        "New users feel the value the moment an animated XP celebration fires after lesson one — a dopamine hit that makes the habit feel attainable."
      ],
      "uid": "mqxria8x7d1i"
    },
    {
      "id": "concept-rw-sticky-apps-people",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "ppte",
        "context"
      ],
      "name": "People",
      "clues": [
        "One of the four PPTE context axes, this one treats the user's social graph as a first-class design variable.",
        "It asks who is in a user's network and how the app surfaces them.",
        "It drives three retention mechanisms at once — mutual accountability, competitive stakes, and belonging — without adding any new content."
      ],
      "uid": "rovsof1837nzp"
    },
    {
      "id": "concept-rw-sticky-apps-places",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "ppte",
        "context"
      ],
      "name": "Places",
      "clues": [
        "One of the four PPTE axes, this one treats the physical and cognitive context of use as a design variable.",
        "It asks where a user is when they engage — designing for actual context beats designing for a generic session.",
        "A commute app behaves differently from a bedtime app precisely because of this axis: the user's location and situation."
      ],
      "uid": "1glboxaxchzby"
    },
    {
      "id": "concept-rw-sticky-apps-things",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "ppte",
        "context"
      ],
      "name": "Things",
      "clues": [
        "One of the four PPTE axes, this one covers the artifacts a user piles up inside an app.",
        "Streaks, badges, followers, and created content each function as a sunk cost that raises the switching cost of leaving.",
        "A user with a 200-day streak, 500 followers, and a full course library has built real value here — the pain of abandonment scales with what they've accumulated."
      ],
      "uid": "11dpyt55wh8in"
    },
    {
      "id": "concept-rw-sticky-apps-events",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "ppte",
        "context"
      ],
      "name": "Events",
      "clues": [
        "One of the four PPTE axes, this one covers recurring real-world moments that predictably open re-engagement windows.",
        "New Year's resolutions, back-to-school seasons, and holidays are the openings this axis tells you to prepare for.",
        "Duolingo's largest-ever quarterly DAU spike, in Q1, is credited partly to resolution-makers — the textbook case for this axis."
      ],
      "uid": "fh0ucw5b5h18"
    },
    {
      "id": "concept-rw-sticky-apps-instagram",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "case-study",
        "social-graph"
      ],
      "name": "Instagram",
      "clues": [
        "This platform copied short-form video and matched its rival's content quality — but still couldn't close the gap.",
        "The reason is structural: its moat is the social graph, years of accumulated real-world relationships that can't be ported.",
        "It launched Reels to counter its rival and stayed the second-largest short-form platform on the strength of family and close-friend ties."
      ],
      "uid": "w389jvozs8a9"
    },
    {
      "id": "concept-rw-sticky-apps-snapchat",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "case-study",
        "ephemeral"
      ],
      "name": "Snapchat",
      "clues": [
        "This app built its thesis on ephemeral content — posts that auto-delete after viewing or a set window.",
        "Disappearing posts create FOMO and lower social anxiety, making posting feel cheap and frequent — feeding a daily-open habit.",
        "Its streak mechanic turns that frequency into a loss-aversion engine; in September 2025 it launched Group Streaks to extend the obligation to whole chat groups."
      ],
      "uid": "bc2th31ny6lvt"
    },
    {
      "id": "concept-rw-sticky-apps-reward-prediction-error",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "neuroscience",
        "dopamine"
      ],
      "name": "Reward Prediction Error",
      "clues": [
        "First described by Wolfram Schultz, this is the signal at the core of the brain's wanting system.",
        "Dopamine surges when an outcome beats expectations and is suppressed when it falls short.",
        "Because it runs on the gap between expected and actual payoff, apps with uncertain outcomes are more compelling than reliably good ones."
      ],
      "uid": "obzo471y79h8l"
    },
    {
      "id": "concept-rw-sticky-apps-flow-state",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "psychology",
        "engagement"
      ],
      "name": "Flow state",
      "clues": [
        "Named by the psychologist Mihaly Csikszentmihalyi, this is the engagement zone apps are trying to hit.",
        "It is the channel where the challenge presented exactly matches the user's skill.",
        "Too easy breeds boredom and too hard breeds anxiety — both drive churn, so apps aim for this balanced zone."
      ],
      "uid": "5d21hyydv79u"
    },
    {
      "id": "concept-rw-sticky-apps-the-sunk-cost-fallacy",
      "shape": "concept",
      "conceptKind": "thing",
      "tags": [
        "thing",
        "behavioral-economics",
        "bias"
      ],
      "name": "The sunk cost fallacy",
      "clues": [
        "This reasoning error keeps people committed to something long after quitting would be the rational move.",
        "It means continuing to invest because of what you've already put in, not because of future value.",
        "A 100-day streak is the classic example — abandoning it feels like wasting everything already accumulated."
      ],
      "uid": "1279tz8w35dcw"
    },
    {
      "id": "ot-captology-define",
      "shape": "mcq",
      "tags": [
        "captology",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "Captology is the study of computers as what kind of technology?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Educational aids"
        },
        {
          "modality": "text",
          "value": "Productivity tools"
        },
        {
          "modality": "text",
          "value": "Persuasive technologies"
        },
        {
          "modality": "text",
          "value": "Collaborative networks"
        }
      ],
      "correctIndex": 2,
      "explanation": "Captology stands for Computers As Persuasive Technologies — the study of how computers can be designed to change human thoughts and behaviors.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1hopl6w4pfhb0"
    },
    {
      "id": "ot-captology-coiner",
      "shape": "mcq",
      "tags": [
        "captology",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who coined the term captology in 1996?"
      },
      "options": [
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        },
        {
          "modality": "text",
          "value": "Aza Raskin"
        }
      ],
      "correctIndex": 0,
      "explanation": "BJ Fogg coined captology in 1996. Eyal wrote Hooked, Raskin patented infinite scroll, and Lembke wrote Dopamine Nation.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1cksuys1qda2xc"
    },
    {
      "id": "ot-captology-fogg-role",
      "shape": "mcq",
      "tags": [
        "fogg",
        "stanford-lab"
      ],
      "prompt": {
        "modality": "text",
        "value": "BJ Fogg is credited with which pair of contributions?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Coining captology and founding the Stanford Persuasive Technology Lab",
          "short": "Coined captology; founded Stanford lab"
        },
        {
          "modality": "text",
          "value": "Launching FarmVille and the Facebook Platform",
          "short": "Launched FarmVille; built Facebook Platform"
        },
        {
          "modality": "text",
          "value": "Patenting infinite scroll and writing Hooked",
          "short": "Patented infinite scroll; wrote Hooked"
        },
        {
          "modality": "text",
          "value": "Building TikTok's For You Page and Dopamine Nation",
          "short": "Built TikTok's FYP; wrote Dopamine Nation"
        }
      ],
      "correctIndex": 0,
      "explanation": "Fogg both coined captology (1996) and founded the Stanford Persuasive Technology Lab (1998). The other pairs belong to Raskin/Eyal, Zynga, and TikTok/Lembke.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1vxr3lii1g8p6"
    },
    {
      "id": "ot-captology-not",
      "shape": "mcq",
      "tags": [
        "captology",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement about captology is NOT accurate?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It means Computers As Persuasive Technologies"
        },
        {
          "modality": "text",
          "value": "It was coined by Nir Eyal in his book Hooked"
        },
        {
          "modality": "text",
          "value": "BJ Fogg coined the term"
        },
        {
          "modality": "text",
          "value": "It studies how computers change human thoughts and behaviors"
        }
      ],
      "correctIndex": 1,
      "explanation": "Captology was coined by BJ Fogg in 1996, not by Nir Eyal. The other three statements are all accurate.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1p76ijz1panqm5"
    },
    {
      "id": "ot-timeline-dissertation",
      "shape": "mcq",
      "tags": [
        "timeline",
        "dissertation"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year did BJ Fogg complete his Charismatic Computers dissertation?"
      },
      "options": [
        {
          "modality": "text",
          "value": "1996"
        },
        {
          "modality": "text",
          "value": "1998"
        },
        {
          "modality": "text",
          "value": "2003"
        },
        {
          "modality": "text",
          "value": "1993"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Charismatic Computers dissertation was 1993. Captology was coined in 1996, the lab founded in 1998, and the Persuasive Technology book published in 2003.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ton65m1453s6a"
    },
    {
      "id": "ot-timeline-coined",
      "shape": "mcq",
      "tags": [
        "timeline",
        "captology"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year did Fogg coin the term captology?"
      },
      "options": [
        {
          "modality": "text",
          "value": "1996"
        },
        {
          "modality": "text",
          "value": "2003"
        },
        {
          "modality": "text",
          "value": "1993"
        },
        {
          "modality": "text",
          "value": "1998"
        }
      ],
      "correctIndex": 0,
      "explanation": "Captology was coined in 1996 — three years after the 1993 dissertation and two years before the 1998 lab.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "uztz1zd9xz4t"
    },
    {
      "id": "ot-timeline-lab",
      "shape": "mcq",
      "tags": [
        "timeline",
        "stanford-lab"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year was the Stanford Persuasive Technology Lab founded?"
      },
      "options": [
        {
          "modality": "text",
          "value": "1998"
        },
        {
          "modality": "text",
          "value": "2003"
        },
        {
          "modality": "text",
          "value": "1993"
        },
        {
          "modality": "text",
          "value": "1996"
        }
      ],
      "correctIndex": 0,
      "explanation": "Fogg founded the Stanford Persuasive Technology Lab in 1998, after coining captology in 1996 and before his 2003 book.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1c0jijvaoz3uh"
    },
    {
      "id": "ot-timeline-book",
      "shape": "mcq",
      "tags": [
        "timeline",
        "book"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year did Fogg publish Persuasive Technology: Using Computers to Change What We Think and Do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "1998"
        },
        {
          "modality": "text",
          "value": "2003"
        },
        {
          "modality": "text",
          "value": "1996"
        },
        {
          "modality": "text",
          "value": "2007"
        }
      ],
      "correctIndex": 1,
      "explanation": "The book was published in 2003, five years after the 1998 lab founding. It predated the iPhone (2007).",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "cfrmq01pb8w30"
    },
    {
      "id": "ot-timeline-order",
      "shape": "mcq",
      "tags": [
        "timeline",
        "order"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which sequence lists these milestones in correct chronological order?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Founding the lab → dissertation → coining captology → publishing the book",
          "short": "Lab → dissertation → captology → book"
        },
        {
          "modality": "text",
          "value": "Dissertation → coining captology → founding the lab → publishing the book",
          "short": "Dissertation → captology → lab → book"
        },
        {
          "modality": "text",
          "value": "Publishing the book → founding the lab → coining captology → dissertation",
          "short": "Book → lab → captology → dissertation"
        },
        {
          "modality": "text",
          "value": "Coining captology → dissertation → publishing the book → founding the lab",
          "short": "Captology → dissertation → book → lab"
        }
      ],
      "correctIndex": 1,
      "explanation": "The order is dissertation (1993) → captology coined (1996) → Stanford lab (1998) → Persuasive Technology book (2003).",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1exuxcddnskyr"
    },
    {
      "id": "ot-social-obligation-mechanic",
      "shape": "mcq",
      "tags": [
        "facebook",
        "social-graph",
        "viral-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "What did the Facebook Developer Platform give outside game teams that let them make social obligation the core mechanic?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Unlimited free push notifications to non-users",
          "short": "Unlimited push notifications"
        },
        {
          "modality": "text",
          "value": "Direct access to users' social graph, so friends could see and affect each other's games",
          "short": "Access to users' social graph"
        },
        {
          "modality": "text",
          "value": "Built-in cryptocurrency payments for in-game purchases",
          "short": "Built-in crypto payments"
        },
        {
          "modality": "text",
          "value": "A reinforcement-learning recommendation algorithm",
          "short": "An RL recommendation algorithm"
        }
      ],
      "correctIndex": 1,
      "explanation": "The platform opened Facebook's social graph to outside teams, so friends could see and affect each other's games — making social obligation the core mechanic. Reinforcement-learning feeds came later with TikTok.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ymu7pr4h9fep"
    },
    {
      "id": "ot-social-farmville-4days",
      "shape": "mcq",
      "tags": [
        "farmville",
        "dau"
      ],
      "prompt": {
        "modality": "text",
        "value": "How many Daily Active Users did FarmVille reach in just four days?"
      },
      "options": [
        {
          "modality": "text",
          "value": "1 million"
        },
        {
          "modality": "text",
          "value": "100,000"
        },
        {
          "modality": "text",
          "value": "10 million"
        },
        {
          "modality": "text",
          "value": "30 million"
        }
      ],
      "correctIndex": 0,
      "explanation": "FarmVille hit 1 million DAU in four days and 30 million in six months — figures with no precedent in consumer software.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "32rg9c1x90kk4"
    },
    {
      "id": "ot-social-farmville-6months",
      "shape": "mcq",
      "tags": [
        "farmville",
        "dau"
      ],
      "prompt": {
        "modality": "text",
        "value": "How many Daily Active Users did FarmVille reach within six months?"
      },
      "options": [
        {
          "modality": "text",
          "value": "5 million"
        },
        {
          "modality": "text",
          "value": "1 million"
        },
        {
          "modality": "text",
          "value": "30 million"
        },
        {
          "modality": "text",
          "value": "300 million"
        }
      ],
      "correctIndex": 2,
      "explanation": "FarmVille grew to 30 million DAU in six months, up from 1 million in its first four days.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "13r55621yccorm"
    },
    {
      "id": "ot-social-loop-driver",
      "shape": "mcq",
      "tags": [
        "farmville",
        "viral-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "What primarily drove FarmVille's explosive growth?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Deep, innovative gameplay mechanics",
          "short": "Deep, innovative gameplay"
        },
        {
          "modality": "text",
          "value": "A large paid advertising budget",
          "short": "A large paid ad budget"
        },
        {
          "modality": "text",
          "value": "An engineered viral loop of social proof, gifting, and 'friend needs help' notifications",
          "short": "An engineered viral loop"
        },
        {
          "modality": "text",
          "value": "Exclusive availability on the iPhone App Store",
          "short": "iPhone App Store exclusive"
        }
      ],
      "correctIndex": 2,
      "explanation": "Growth came from a tightly engineered viral loop — visible farms as social proof, resource-gifting requiring friends, and lapsed-user notifications — not gameplay depth.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1aub53wchnllk"
    },
    {
      "id": "ot-skinner-raskin",
      "shape": "mcq",
      "tags": [
        "infinite-scroll",
        "raskin"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who patented infinite scroll in 2006?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Anna Lembke"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Aza Raskin"
        }
      ],
      "correctIndex": 3,
      "explanation": "Aza Raskin patented infinite scroll in 2006. Fogg coined captology, Eyal wrote Hooked, and Lembke coined 'digital dopamine'.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ht5pix1jpgww7"
    },
    {
      "id": "ot-skinner-scroll-def",
      "shape": "mcq",
      "tags": [
        "infinite-scroll",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which best defines infinite scroll?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A feed that loads content endlessly as you scroll",
          "short": "A feed that loads endlessly"
        },
        {
          "modality": "text",
          "value": "A social graph that lets friends see your activity",
          "short": "A graph of friends' activity"
        },
        {
          "modality": "text",
          "value": "A notification that pulls lapsed users back to an app",
          "short": "A notification pulling users back"
        },
        {
          "modality": "text",
          "value": "A reward that arrives on a fixed, predictable schedule",
          "short": "A reward on a fixed schedule"
        }
      ],
      "correctIndex": 0,
      "explanation": "Infinite scroll is a feed design with no natural stopping point that loads content endlessly, removing the cues that told you to stop.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1knr5th1isa1sv"
    },
    {
      "id": "ot-skinner-lembke",
      "shape": "mcq",
      "tags": [
        "lembke",
        "digital-dopamine"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which figure called the smartphone the modern hypodermic needle delivering 'digital dopamine'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Nir Eyal"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Aza Raskin"
        }
      ],
      "correctIndex": 1,
      "explanation": "Anna Lembke, Stanford psychiatrist and author of Dopamine Nation, used the hypodermic-needle metaphor for digital dopamine.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "tjge3510zzu3n"
    },
    {
      "id": "ot-skinner-box-meaning",
      "shape": "mcq",
      "tags": [
        "skinner-box",
        "smartphone"
      ],
      "prompt": {
        "modality": "text",
        "value": "Calling the smartphone a 'portable Skinner box' means it is best described as what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A conditioning chamber you carry everywhere"
        },
        {
          "modality": "text",
          "value": "A feed with a fixed daily stopping point"
        },
        {
          "modality": "text",
          "value": "A tool that only works when you sit at a desk"
        },
        {
          "modality": "text",
          "value": "A device that blocks all notifications by default"
        }
      ],
      "correctIndex": 0,
      "explanation": "The portable Skinner box metaphor casts the smartphone as a conditioning chamber that travels with you, able to condition users in every idle moment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1fl7zcbgs7ksd"
    },
    {
      "id": "ot-hook-eyal-author",
      "shape": "mcq",
      "tags": [
        "hooked",
        "eyal"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who wrote Hooked and formalized the Hook Model?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Aza Raskin"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        }
      ],
      "correctIndex": 3,
      "explanation": "Nir Eyal wrote Hooked (2014) and synthesized practitioner knowledge into the Hook Model. Fogg's separate framework is B=MAP.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "nhbtwwzln03k"
    },
    {
      "id": "ot-hook-hooked-year",
      "shape": "mcq",
      "tags": [
        "hooked",
        "year"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year was Nir Eyal's Hooked published?"
      },
      "options": [
        {
          "modality": "text",
          "value": "2018"
        },
        {
          "modality": "text",
          "value": "2009"
        },
        {
          "modality": "text",
          "value": "2014"
        },
        {
          "modality": "text",
          "value": "2007"
        }
      ],
      "correctIndex": 2,
      "explanation": "Hooked was published in 2014 — after the iPhone (2007) and App Store (2008) had primed a cohort of mobile teams for the synthesis.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1vnixj3jcm65"
    },
    {
      "id": "ot-hook-tiktok-year",
      "shape": "mcq",
      "tags": [
        "tiktok",
        "year"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year did TikTok launch globally, marking the algorithm era?"
      },
      "options": [
        {
          "modality": "text",
          "value": "2014"
        },
        {
          "modality": "text",
          "value": "2009"
        },
        {
          "modality": "text",
          "value": "2007"
        },
        {
          "modality": "text",
          "value": "2018"
        }
      ],
      "correctIndex": 3,
      "explanation": "TikTok launched globally in 2018, four years after Hooked (2014), shifting the field from human-designed loops to algorithm-optimized conditioning.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "u9lyx0ma74rg"
    },
    {
      "id": "ot-hook-fyp-engine",
      "shape": "mcq",
      "tags": [
        "tiktok",
        "fyp",
        "algorithm"
      ],
      "prompt": {
        "modality": "text",
        "value": "What powers TikTok's For You Page, distinguishing it from earlier apps?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A reinforcement-learning algorithm inferring preferences from watch time, completions, and skips",
          "short": "RL algorithm from watch time & skips"
        },
        {
          "modality": "text",
          "value": "A team of editors hand-picking each video",
          "short": "Editors hand-picking each video"
        },
        {
          "modality": "text",
          "value": "A social graph showing what your friends liked",
          "short": "A graph of what friends liked"
        },
        {
          "modality": "text",
          "value": "A chronological feed of posts from accounts you follow",
          "short": "A chronological feed you follow"
        }
      ],
      "correctIndex": 0,
      "explanation": "The FYP runs on a reinforcement-learning algorithm that infers preferences from behavioral signals users aren't aware of giving — not social graphs or hand-tuned heuristics.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1uh9e2g1bd2vk4"
    },
    {
      "id": "ot-dopamine-berridge",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "berridge",
        "wanting"
      ],
      "prompt": {
        "modality": "text",
        "value": "Kent Berridge's lesion studies showed dopamine governs which system?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Liking and enjoyment"
        },
        {
          "modality": "text",
          "value": "Pain suppression"
        },
        {
          "modality": "text",
          "value": "Social bonding and trust"
        },
        {
          "modality": "text",
          "value": "Wanting and seeking"
        }
      ],
      "correctIndex": 3,
      "explanation": "Berridge separated wanting from liking: dopamine drives the wanting/seeking system, while opioid circuits govern liking/enjoyment. That is why craving and satisfaction can come apart.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1f2klxmmp9bte"
    },
    {
      "id": "ot-dopamine-timing",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "anticipation"
      ],
      "prompt": {
        "modality": "text",
        "value": "In an engagement loop, dopamine is released mainly during which moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The instant the reward arrives"
        },
        {
          "modality": "text",
          "value": "Only when the reward is guaranteed"
        },
        {
          "modality": "text",
          "value": "The anticipation before the reward"
        },
        {
          "modality": "text",
          "value": "After satisfaction fades"
        }
      ],
      "correctIndex": 2,
      "explanation": "Dopamine is an anticipation signal, not a reward signal. The hit comes from seeking, which is why a feed stays compulsive even when the content barely satisfies.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "2wcwrf1qk9lmp"
    },
    {
      "id": "ot-dopamine-predictable",
      "shape": "mcq",
      "tags": [
        "rpe",
        "uncertainty"
      ],
      "prompt": {
        "modality": "text",
        "value": "What happens to the dopamine signal for a reward that becomes perfectly predictable?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It converts into liking"
        },
        {
          "modality": "text",
          "value": "It grows stronger each time"
        },
        {
          "modality": "text",
          "value": "It spikes higher than before"
        },
        {
          "modality": "text",
          "value": "It flattens toward nothing"
        }
      ],
      "correctIndex": 3,
      "explanation": "Under Reward Prediction Error, meeting expectation produces a flat signal. A perfectly predictable reward trains dopamine out of existence; uncertainty is the fuel.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "smya0nimclkt"
    },
    {
      "id": "ot-dopamine-not",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "misconception"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement about dopamine is NOT accurate?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It fires in anticipation of a reward"
        },
        {
          "modality": "text",
          "value": "It is the brain's pleasure and liking chemical"
        },
        {
          "modality": "text",
          "value": "It governs wanting and seeking"
        },
        {
          "modality": "text",
          "value": "Its signal is driven by uncertainty"
        }
      ],
      "correctIndex": 1,
      "explanation": "The pleasure/liking claim is the common misconception. Dopamine drives wanting and anticipation; liking runs on separate opioid circuits.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1pluvyk15kdkdk"
    },
    {
      "id": "ot-vr-def",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "schedule"
      ],
      "prompt": {
        "modality": "text",
        "value": "Variable-ratio reinforcement delivers rewards on what basis?"
      },
      "options": [
        {
          "modality": "text",
          "value": "After a fixed number of actions"
        },
        {
          "modality": "text",
          "value": "Only after the very first action"
        },
        {
          "modality": "text",
          "value": "After an unpredictable number of actions"
        },
        {
          "modality": "text",
          "value": "At fixed time intervals"
        }
      ],
      "correctIndex": 2,
      "explanation": "On a variable-ratio schedule, rewards arrive after an unpredictable number of actions. That uncertainty, not the reward's quality, drives relentless repetition.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1gy71of1mdkcl1"
    },
    {
      "id": "ot-vr-skinner",
      "shape": "mcq",
      "tags": [
        "skinner",
        "history"
      ],
      "prompt": {
        "modality": "text",
        "value": "Whose 1950s lever-pressing experiments established the variable-ratio schedule?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Ivan Pavlov"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        },
        {
          "modality": "text",
          "value": "B.F. Skinner"
        }
      ],
      "correctIndex": 3,
      "explanation": "Skinner's 1950s rat experiments defined variable-ratio reinforcement. Berridge studied wanting vs. liking; Schultz described Reward Prediction Error.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "rku9tk2oilwg"
    },
    {
      "id": "ot-vr-slot",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "slot-machine"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which everyday design is the clearest real-world analog of the variable-ratio schedule?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A fixed loyalty punch card"
        },
        {
          "modality": "text",
          "value": "A monthly subscription bill"
        },
        {
          "modality": "text",
          "value": "A daily alarm clock"
        },
        {
          "modality": "text",
          "value": "The slot machine"
        }
      ],
      "correctIndex": 3,
      "explanation": "The slot machine is the archetypal variable-ratio payoff. Subscriptions, alarms, and punch cards are all fixed and predictable, so they lack the uncertainty that drives compulsion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1jp90a513deoy3"
    },
    {
      "id": "ot-vr-compare",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "behavior"
      ],
      "prompt": {
        "modality": "text",
        "value": "Compared with fixed schedules, how did Skinner's variable-ratio rats press the lever?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Far more relentlessly"
        },
        {
          "modality": "text",
          "value": "Slightly less often"
        },
        {
          "modality": "text",
          "value": "Only when hungry"
        },
        {
          "modality": "text",
          "value": "At the same rate"
        }
      ],
      "correctIndex": 0,
      "explanation": "Rats on the variable-ratio schedule pressed far more relentlessly and persistently than those on any predictable schedule. The schedule, not the reward, drove the behavior.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1vreko0fx71xc"
    },
    {
      "id": "ot-vr-not",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "examples"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is NOT an example of a variable-ratio engagement loop?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A social-media notification"
        },
        {
          "modality": "text",
          "value": "A spin-to-win prize wheel"
        },
        {
          "modality": "text",
          "value": "A reward that unlocks at a set hour each day"
        },
        {
          "modality": "text",
          "value": "A loot box"
        }
      ],
      "correctIndex": 2,
      "explanation": "A reward on a set daily schedule is fixed and predictable, so it isn't variable-ratio. Notifications, loot boxes, and spin-to-win wheels all pay off on unpredictable odds — true variable-ratio schedules.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1iwqfz81ua81c8"
    },
    {
      "id": "ot-map-seeking",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "mapping"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which neurochemical drives seeking and anticipation?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Oxytocin"
        },
        {
          "modality": "text",
          "value": "Serotonin"
        },
        {
          "modality": "text",
          "value": "Endorphins"
        }
      ],
      "correctIndex": 0,
      "explanation": "Dopamine powers seeking and anticipation, the pull toward the next notification or variable reward. Oxytocin bonds, serotonin signals status, endorphins reward exertion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "vpcyuy1tbos1m"
    },
    {
      "id": "ot-map-bonding",
      "shape": "mcq",
      "tags": [
        "oxytocin",
        "mapping"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which neurochemical drives social bonding and trust?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Oxytocin"
        },
        {
          "modality": "text",
          "value": "Endorphins"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Serotonin"
        }
      ],
      "correctIndex": 0,
      "explanation": "Oxytocin drives social bonding and trust, the warmth from peer acknowledgment or a friend's message. Serotonin handles status, dopamine seeking, endorphins exertion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "18w5jjblu4wv9"
    },
    {
      "id": "ot-map-status",
      "shape": "mcq",
      "tags": [
        "serotonin",
        "status"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which neurochemical drives status and belonging?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Oxytocin"
        },
        {
          "modality": "text",
          "value": "Endorphins"
        },
        {
          "modality": "text",
          "value": "Serotonin"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        }
      ],
      "correctIndex": 2,
      "explanation": "Serotonin drives status and belonging, which is what leaderboards and follower counts feed. Dopamine handles seeking, oxytocin bonding, endorphins exertion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "buw6mqb6oi2m"
    },
    {
      "id": "ot-map-endorphins",
      "shape": "mcq",
      "tags": [
        "endorphins",
        "exertion"
      ],
      "prompt": {
        "modality": "text",
        "value": "Endorphins are tied to which human drive?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Status and belonging"
        },
        {
          "modality": "text",
          "value": "Seeking and anticipation"
        },
        {
          "modality": "text",
          "value": "Social bonding and trust"
        },
        {
          "modality": "text",
          "value": "Suppressing pain and rewarding exertion"
        }
      ],
      "correctIndex": 3,
      "explanation": "Endorphins suppress pain and reward exertion, like the release from finishing a hard lesson or workout. The other drives map to serotonin, oxytocin, and dopamine.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "13ui54wsckgo"
    },
    {
      "id": "ot-map-mismatch",
      "shape": "mcq",
      "tags": [
        "mapping",
        "discriminate"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which chemical-to-drive pairing is INCORRECT?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Dopamine drives seeking and anticipation"
        },
        {
          "modality": "text",
          "value": "Endorphins suppress pain and reward exertion"
        },
        {
          "modality": "text",
          "value": "Oxytocin drives social bonding and trust"
        },
        {
          "modality": "text",
          "value": "Serotonin drives social bonding and trust"
        }
      ],
      "correctIndex": 3,
      "explanation": "Serotonin drives status and belonging, not bonding. Bonding and trust are oxytocin's role; the other three pairings are correct.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1irlvkh15p3v3n"
    },
    {
      "id": "ot-apply-oxytocin",
      "shape": "mcq",
      "tags": [
        "oxytocin",
        "apply"
      ],
      "prompt": {
        "modality": "text",
        "value": "A co-op feature where a partner thanks you most directly pulls which neurochemical lever?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Oxytocin"
        },
        {
          "modality": "text",
          "value": "Serotonin"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Endorphins"
        }
      ],
      "correctIndex": 0,
      "explanation": "Peer acknowledgment and cooperative recognition run on oxytocin, the bonding-and-trust chemical. Status signals would be serotonin; exertion would be endorphins.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "3b7uex529g77"
    },
    {
      "id": "ot-apply-reject",
      "shape": "mcq",
      "tags": [
        "serotonin",
        "discriminate"
      ],
      "prompt": {
        "modality": "text",
        "value": "A designer claims a follower count works by releasing endorphins. Why is that wrong?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Follower counts release no neurochemical at all"
        },
        {
          "modality": "text",
          "value": "Follower counts are status signals, which run on serotonin"
        },
        {
          "modality": "text",
          "value": "Follower counts run on oxytocin, not endorphins"
        },
        {
          "modality": "text",
          "value": "Endorphins apply only to notifications"
        }
      ],
      "correctIndex": 1,
      "explanation": "A follower count is a visible status signal, so it feeds serotonin, not endorphins. Endorphins reward physical exertion and effort, like finishing a hard challenge.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "fi09h2bya68y"
    },
    {
      "id": "ot-apply-dopamine",
      "shape": "mcq",
      "tags": [
        "dopamine",
        "apply"
      ],
      "prompt": {
        "modality": "text",
        "value": "An unpredictable push notification pulls primarily on which neurochemical?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Serotonin"
        },
        {
          "modality": "text",
          "value": "Endorphins"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Oxytocin"
        }
      ],
      "correctIndex": 2,
      "explanation": "An unpredictable notification is a variable reward, which drives the dopamine seeking system. Serotonin is status, oxytocin is bonding, endorphins are exertion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "161pxpv125c6nl"
    },
    {
      "id": "ot-dmn-def",
      "shape": "mcq",
      "tags": [
        "dmn",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Default Mode Network is associated with what kind of mental activity?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Motor coordination"
        },
        {
          "modality": "text",
          "value": "Mind-wandering and self-referential thought"
        },
        {
          "modality": "text",
          "value": "Deliberate executive control"
        },
        {
          "modality": "text",
          "value": "Memory encoding"
        }
      ],
      "correctIndex": 1,
      "explanation": "The DMN is the network of mind-wandering, self-referential thought, and inward drift. When scrolling turns automatic, it takes over from deliberate attention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14ry68z1fxjnu1"
    },
    {
      "id": "ot-dmn-prefrontal",
      "shape": "mcq",
      "tags": [
        "prefrontal-cortex",
        "control"
      ],
      "prompt": {
        "modality": "text",
        "value": "Under deliberate, conscious use, which region maintains the executive control that lets you decide to stop?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Default Mode Network"
        },
        {
          "modality": "text",
          "value": "The basal ganglia"
        },
        {
          "modality": "text",
          "value": "The VTA"
        },
        {
          "modality": "text",
          "value": "The prefrontal cortex"
        }
      ],
      "correctIndex": 3,
      "explanation": "The prefrontal cortex holds executive control during deliberate use. As scrolling becomes habitual, control shifts to the basal ganglia and the DMN takes over.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ylu2qs1kk4uis"
    },
    {
      "id": "ot-dmn-load",
      "shape": "mcq",
      "tags": [
        "cognitive-load",
        "inhibition"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why does stopping get harder the longer a scroll session runs?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Dopamine simply runs out",
          "short": "Dopamine simply runs out"
        },
        {
          "modality": "text",
          "value": "The basal ganglia tires and hands control back",
          "short": "The basal ganglia tires out"
        },
        {
          "modality": "text",
          "value": "Cognitive load depletes the prefrontal cortex's inhibitory capacity",
          "short": "Cognitive load saps inhibition"
        },
        {
          "modality": "text",
          "value": "The DMN gradually shuts down",
          "short": "The DMN gradually shuts down"
        }
      ],
      "correctIndex": 2,
      "explanation": "Attentional control is depletable. Prolonged exposure raises cognitive load, draining the prefrontal cortex's inhibition, so the stop signal weakens over time.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "4lg2l9o0zvmz"
    },
    {
      "id": "ot-dmn-scroll",
      "shape": "mcq",
      "tags": [
        "infinite-scroll",
        "design"
      ],
      "prompt": {
        "modality": "text",
        "value": "How does infinite scroll specifically make stopping harder?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It boosts serotonin with every swipe",
          "short": "It boosts serotonin per swipe"
        },
        {
          "modality": "text",
          "value": "It raises the reward quality of each post",
          "short": "It raises each post's reward"
        },
        {
          "modality": "text",
          "value": "It removes the natural pause points that let inhibition reassert itself",
          "short": "It removes natural pause points"
        },
        {
          "modality": "text",
          "value": "It re-engages the prefrontal cortex",
          "short": "It re-engages the prefrontal cortex"
        }
      ],
      "correctIndex": 2,
      "explanation": "Infinite scroll strips out page turns and load screens, the natural pauses where inhibitory capacity could reassert. A depleted brain with no stopping cue keeps going.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1uxjbym1y5bbza"
    },
    {
      "id": "ot-hook-order",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "stages"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the correct order of the four stages of Nir Eyal's Hook Model?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Action → Trigger → Investment → Variable Reward"
        },
        {
          "modality": "text",
          "value": "Investment → Trigger → Action → Variable Reward"
        },
        {
          "modality": "text",
          "value": "Trigger → Action → Variable Reward → Investment"
        },
        {
          "modality": "text",
          "value": "Trigger → Variable Reward → Action → Investment"
        }
      ],
      "correctIndex": 2,
      "explanation": "Eyal's loop runs Trigger → Action → Variable Reward → Investment. The cue starts it, the action is the simple behavior, the reward is unpredictable, and investment feeds back into the next loop.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1fu2l9x8qm3kf"
    },
    {
      "id": "ot-hook-trigger-role",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "trigger"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the Hook Model, what is the role of the Trigger stage?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The cue that starts the loop — external or internal"
        },
        {
          "modality": "text",
          "value": "Data the user loads in that improves the next use"
        },
        {
          "modality": "text",
          "value": "The unpredictable payoff that releases dopamine"
        },
        {
          "modality": "text",
          "value": "The simplest behavior done in anticipation of reward"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Trigger is the cue that starts the loop; it can be external (a notification) or internal (an emotion like boredom). The other options describe Variable Reward, Action, and Investment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "85239451bnr8"
    },
    {
      "id": "ot-hook-action-role",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "action"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which Hook Model stage is 'the simplest behavior done in anticipation of a reward — open, scroll, tap'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Variable Reward"
        },
        {
          "modality": "text",
          "value": "Trigger"
        },
        {
          "modality": "text",
          "value": "Investment"
        },
        {
          "modality": "text",
          "value": "Action"
        }
      ],
      "correctIndex": 3,
      "explanation": "Action is the simplest behavior a user performs expecting a reward. The lower the friction, the more reliably it happens.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "5lu0pz1vs9ccx"
    },
    {
      "id": "ot-hook-reward-role",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "variable-reward"
      ],
      "prompt": {
        "modality": "text",
        "value": "An app delivers an unpredictable payoff to keep dopamine high and users coming back. Which Hook stage is this?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger"
        },
        {
          "modality": "text",
          "value": "Action"
        },
        {
          "modality": "text",
          "value": "Variable Reward"
        },
        {
          "modality": "text",
          "value": "Investment"
        }
      ],
      "correctIndex": 2,
      "explanation": "Variable Reward is the unpredictable payoff (tribe, hunt, or self). Unpredictable outcomes release more dopamine than predictable ones, which is why a slot machine beats a vending machine as a habit engine.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1qpidvav99dyi"
    },
    {
      "id": "ot-hook-not-stage",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "stages"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which of the following is NOT one of the four stages of the Hook Model?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger"
        },
        {
          "modality": "text",
          "value": "Reinforcement"
        },
        {
          "modality": "text",
          "value": "Investment"
        },
        {
          "modality": "text",
          "value": "Action"
        }
      ],
      "correctIndex": 1,
      "explanation": "The four stages are Trigger, Action, Variable Reward, and Investment. 'Reinforcement' is not one of them.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "hsilol1o195vn"
    },
    {
      "id": "ot-reward-hunt",
      "shape": "mcq",
      "tags": [
        "variable-reward",
        "hunt"
      ],
      "prompt": {
        "modality": "text",
        "value": "Scrolling a feed searching for the next good post is an example of which type of variable reward?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rewards of the tribe"
        },
        {
          "modality": "text",
          "value": "A predictable, fixed reward"
        },
        {
          "modality": "text",
          "value": "Rewards of the hunt"
        },
        {
          "modality": "text",
          "value": "Rewards of the self"
        }
      ],
      "correctIndex": 2,
      "explanation": "Rewards of the hunt are about information seeking — scrolling a feed for the next good thing. Tribe is social validation; self is mastery. 'Rewards of the chase' is not one of Eyal's three types.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1begkkr1fq45md"
    },
    {
      "id": "ot-reward-tribe",
      "shape": "mcq",
      "tags": [
        "variable-reward",
        "tribe"
      ],
      "prompt": {
        "modality": "text",
        "value": "Likes, comments, and social recognition are an example of which variable-reward type?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rewards of the tribe"
        },
        {
          "modality": "text",
          "value": "A predictable, fixed reward"
        },
        {
          "modality": "text",
          "value": "Rewards of the hunt"
        },
        {
          "modality": "text",
          "value": "Rewards of the self"
        }
      ],
      "correctIndex": 0,
      "explanation": "Rewards of the tribe are social validation — likes, comments, recognition. Hunt is information seeking; self is mastery/progress.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "yf6jrs7zoj8"
    },
    {
      "id": "ot-reward-self",
      "shape": "mcq",
      "tags": [
        "variable-reward",
        "self"
      ],
      "prompt": {
        "modality": "text",
        "value": "Completion, leveling up, and personal accomplishment are an example of which variable-reward type?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rewards of the tribe"
        },
        {
          "modality": "text",
          "value": "Rewards of the mind"
        },
        {
          "modality": "text",
          "value": "Rewards of the self"
        },
        {
          "modality": "text",
          "value": "Rewards of the hunt"
        }
      ],
      "correctIndex": 2,
      "explanation": "Rewards of the self are mastery and progress — completion, leveling up, personal accomplishment. Tribe is social; hunt is information seeking.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1fjnxcd626lrz"
    },
    {
      "id": "ot-invest-endowment",
      "shape": "mcq",
      "tags": [
        "investment",
        "endowment-effect"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why does loading contacts, preferences, and history into an app raise a user's switching cost?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Endowment Effect makes users overvalue what they already own",
          "short": "Endowment effect: you overvalue it"
        },
        {
          "modality": "text",
          "value": "Notifications automatically increase with more data",
          "short": "Notifications rise with more data"
        },
        {
          "modality": "text",
          "value": "The app becomes technically impossible to export data from",
          "short": "Data becomes impossible to export"
        },
        {
          "modality": "text",
          "value": "Motivation mechanically rises with each data point added",
          "short": "Motivation rises with each data point"
        }
      ],
      "correctIndex": 0,
      "explanation": "Investment works through the Endowment Effect: users overvalue their accumulated profile and social graph, so leaving feels like losing something valuable. That raises switching cost and compounds retention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1sm1mh81swjq9k"
    },
    {
      "id": "ot-bmap-formula",
      "shape": "mcq",
      "tags": [
        "bmap",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "In Fogg's Behavior Model (B=MAP), how do Motivation, Ability, and a Prompt combine to produce a behavior?"
      },
      "options": [
        {
          "modality": "text",
          "value": "They multiply — if any one is zero, the behavior won't happen",
          "short": "They multiply — any zero blocks it"
        },
        {
          "modality": "text",
          "value": "Only the strongest of the three decides the outcome",
          "short": "The strongest one decides"
        },
        {
          "modality": "text",
          "value": "They must occur in a fixed sequence",
          "short": "They must occur in fixed order"
        },
        {
          "modality": "text",
          "value": "They add together to cross a behavior threshold",
          "short": "They add to cross a threshold"
        }
      ],
      "correctIndex": 0,
      "explanation": "B = MAP is multiplicative: Motivation, Ability, AND a Prompt must all be present at once. If any factor is zero the product is zero and no behavior occurs — which is why it's × not +.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1pnbako59yrts"
    },
    {
      "id": "ot-bmap-overinvest",
      "shape": "mcq",
      "tags": [
        "bmap",
        "motivation"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to Fogg, which factor do most teams over-invest in while missing the real blocker?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Motivation"
        },
        {
          "modality": "text",
          "value": "Reward"
        },
        {
          "modality": "text",
          "value": "Ability"
        },
        {
          "modality": "text",
          "value": "Prompt"
        }
      ],
      "correctIndex": 0,
      "explanation": "Teams over-invest in motivation — better copy, stronger appeals — when the real blocker is usually ability. A highly motivated user still won't act if the action has too many steps.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "190qpckjbv40c"
    },
    {
      "id": "ot-bmap-both-high",
      "shape": "mcq",
      "tags": [
        "bmap",
        "prompt"
      ],
      "prompt": {
        "modality": "text",
        "value": "When both motivation and ability are already high, what does the Fogg model say is enough to fire the behavior?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A larger, more unpredictable reward"
        },
        {
          "modality": "text",
          "value": "A simple prompt or signal, like a notification sound"
        },
        {
          "modality": "text",
          "value": "Cutting even more steps to raise ability"
        },
        {
          "modality": "text",
          "value": "A strong emotional spark to lift motivation further"
        }
      ],
      "correctIndex": 1,
      "explanation": "With motivation and ability both sufficient, a simple signal suffices — the notification alone drives the behavior. Sparks are for low motivation; simplifying is for low ability.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "jvr3tiucjrqe"
    },
    {
      "id": "ot-bmap-more-prompts",
      "shape": "mcq",
      "tags": [
        "bmap",
        "prompt"
      ],
      "prompt": {
        "modality": "text",
        "value": "In a low-ability experience, what does firing more prompts (push notifications) tend to do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Accelerate uninstalls"
        },
        {
          "modality": "text",
          "value": "Substitute for the missing motivation"
        },
        {
          "modality": "text",
          "value": "Reliably trigger the target behavior"
        },
        {
          "modality": "text",
          "value": "Raise the user's ability to act"
        }
      ],
      "correctIndex": 0,
      "explanation": "Prompts only help when motivation and ability are already in place. Firing more prompts into a low-ability experience just annoys users and accelerates uninstalls.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "mud7w6kckyzm"
    },
    {
      "id": "ot-loss-2x",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "prospect-theory"
      ],
      "prompt": {
        "modality": "text",
        "value": "In Prospect Theory, a loss feels roughly how many times as psychologically powerful as an equivalent gain?"
      },
      "options": [
        {
          "modality": "text",
          "value": "About 2×"
        },
        {
          "modality": "text",
          "value": "About 5×"
        },
        {
          "modality": "text",
          "value": "About 10×"
        },
        {
          "modality": "text",
          "value": "About 1.5×"
        }
      ],
      "correctIndex": 0,
      "explanation": "Kahneman and Tversky established that a loss feels roughly 2× as painful as an equivalent gain feels good — the asymmetry that makes breaking a streak so effective at driving retention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1pjhtai167o94y"
    },
    {
      "id": "ot-loss-origin",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "prospect-theory"
      ],
      "prompt": {
        "modality": "text",
        "value": "Loss aversion and the roughly 2x loss-versus-gain asymmetry come from whose Prospect Theory?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Kahneman and Tversky"
        },
        {
          "modality": "text",
          "value": "Fogg and Eyal"
        },
        {
          "modality": "text",
          "value": "Bluma Zeigarnik"
        }
      ],
      "correctIndex": 1,
      "explanation": "Kahneman and Tversky's Prospect Theory established loss aversion and the ~2x asymmetry. Fogg (B=MAP), Csikszentmihalyi (flow), and Zeigarnik (open loops) are the other named theorists in this lesson.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "71z33g1lwwyms"
    },
    {
      "id": "ot-endowment-def",
      "shape": "mcq",
      "tags": [
        "endowment-effect",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "The endowment effect is best defined as the tendency to:"
      },
      "options": [
        {
          "modality": "text",
          "value": "Value something more highly simply because you own it",
          "short": "Value it more because you own it"
        },
        {
          "modality": "text",
          "value": "Feel losses about twice as strongly as equivalent gains",
          "short": "Feel losses about twice as strongly"
        },
        {
          "modality": "text",
          "value": "Be drawn back more strongly to unfinished tasks",
          "short": "Be drawn back to unfinished tasks"
        },
        {
          "modality": "text",
          "value": "Keep going because of past investment that can't be recovered",
          "short": "Keep going due to sunk investment"
        }
      ],
      "correctIndex": 0,
      "explanation": "The endowment effect is overvaluing what you own. Option 2 is loss aversion, option 3 is the Zeigarnik effect, and option 4 is the sunk-cost fallacy.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1hpgjyu1byy5n6"
    },
    {
      "id": "ot-loss-snapstreak",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "endowment-effect",
        "snapchat"
      ],
      "prompt": {
        "modality": "text",
        "value": "Users share account credentials with friends just to keep a Snapstreak alive. Which explains this best?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Loss aversion inflated by the endowment effect"
        },
        {
          "modality": "text",
          "value": "The Zeigarnik effect closing an open loop"
        },
        {
          "modality": "text",
          "value": "The flow state and dynamic difficulty adjustment"
        },
        {
          "modality": "text",
          "value": "A variable reward of the hunt"
        }
      ],
      "correctIndex": 0,
      "explanation": "The behavior is irrational unless the endowment effect inflates the perceived value of the streak about to be lost, and loss aversion makes that loss feel devastating. The hourglass is loss aversion as a feature.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "skn7zuns6qei"
    },
    {
      "id": "ot-loss-false",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "prospect-theory"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement about loss aversion is FALSE?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Losses feel roughly twice as powerful as equal gains"
        },
        {
          "modality": "text",
          "value": "It is the engine behind streak mechanics"
        },
        {
          "modality": "text",
          "value": "A loss and an equal gain feel about equally powerful"
        },
        {
          "modality": "text",
          "value": "It comes from Kahneman and Tversky's Prospect Theory"
        }
      ],
      "correctIndex": 2,
      "explanation": "The false statement is that losses and gains feel equal — Prospect Theory shows losses feel about 2× as powerful, which is exactly why streaks drive retention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "mg8apuge61hu"
    },
    {
      "id": "ot-flow-author",
      "shape": "mcq",
      "tags": [
        "flow",
        "csikszentmihalyi"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who described the flow state — the channel where challenge and skill are balanced?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Bluma Zeigarnik"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        }
      ],
      "correctIndex": 0,
      "explanation": "Csikszentmihalyi described the flow channel. Eyal built the Hook Model, Fogg the B=MAP model, and Zeigarnik documented the pull of unfinished tasks.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "15ekzy4r66xpw"
    },
    {
      "id": "ot-flow-above-skill",
      "shape": "mcq",
      "tags": [
        "flow",
        "anxiety"
      ],
      "prompt": {
        "modality": "text",
        "value": "In flow theory, what happens when challenge is far above the user's skill?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Flow — total absorption and time distortion"
        },
        {
          "modality": "text",
          "value": "Boredom — the user disengages and churns"
        },
        {
          "modality": "text",
          "value": "Mastery — the user levels up and continues"
        },
        {
          "modality": "text",
          "value": "Anxiety — the user feels overwhelmed and churns"
        }
      ],
      "correctIndex": 3,
      "explanation": "Above the flow channel, excess difficulty produces anxiety; below it, insufficient challenge produces boredom. Both drive churn.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "kclrnrtqdkvp"
    },
    {
      "id": "ot-flow-dda",
      "shape": "mcq",
      "tags": [
        "dda",
        "flow"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is Dynamic Difficulty Adjustment designed to do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Reset a streak counter to zero to trigger loss aversion",
          "short": "Zero a streak for loss aversion"
        },
        {
          "modality": "text",
          "value": "Fire a push notification whenever the user goes idle",
          "short": "Notify when the user goes idle"
        },
        {
          "modality": "text",
          "value": "Track performance in real time and modulate challenge to keep users in the flow channel",
          "short": "Tune challenge to stay in flow"
        },
        {
          "modality": "text",
          "value": "Insert unpredictable rewards into a scrolling feed",
          "short": "Add random rewards to the feed"
        }
      ],
      "correctIndex": 2,
      "explanation": "DDA tracks performance in real time and tunes challenge to keep users inside the flow channel — Duolingo tunes course structure to each user's learning pace rather than a fixed curriculum.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "fou63c1k9pu0k"
    },
    {
      "id": "ot-flow-zeigarnik-def",
      "shape": "mcq",
      "tags": [
        "zeigarnik",
        "open-loops"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Zeigarnik effect is the finding that people are drawn back most strongly to which kind of task?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Tasks they have fully finished"
        },
        {
          "modality": "text",
          "value": "Tasks done together with friends"
        },
        {
          "modality": "text",
          "value": "Tasks that offer the largest rewards"
        },
        {
          "modality": "text",
          "value": "Tasks left incomplete"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Zeigarnik effect is that incomplete tasks are remembered and pull us back more strongly than completed ones. The brain treats the unfinished task as an open file it can't close.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "a9cepua01h3"
    },
    {
      "id": "ot-pbl-1",
      "shape": "mcq",
      "tags": [
        "pbl",
        "definitions"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does PBL stand for in the surface layer of gamification?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Points, Boosts, Loot"
        },
        {
          "modality": "text",
          "value": "Perks, Badges, Ladders"
        },
        {
          "modality": "text",
          "value": "Progress, Bonuses, Levels"
        },
        {
          "modality": "text",
          "value": "Points, Badges, Leaderboards"
        }
      ],
      "correctIndex": 3,
      "explanation": "PBL is Points, Badges, and Leaderboards — the visible, legible reward elements that are easy to bolt on but also easy to habituate to.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ubltneukmho2"
    },
    {
      "id": "ot-pbl-2",
      "shape": "mcq",
      "tags": [
        "pbl",
        "recall"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which of these is NOT one of the three elements of the PBL surface layer?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Points"
        },
        {
          "modality": "text",
          "value": "Badges"
        },
        {
          "modality": "text",
          "value": "Leaderboards"
        },
        {
          "modality": "text",
          "value": "Streaks"
        }
      ],
      "correctIndex": 3,
      "explanation": "PBL is Points, Badges, and Leaderboards. Streaks are a deeper loss-aversion mechanic, not part of the PBL surface layer.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1hka2hq1ej5kdi"
    },
    {
      "id": "ot-pbl-3",
      "shape": "mcq",
      "tags": [
        "pbl",
        "plateau"
      ],
      "prompt": {
        "modality": "text",
        "value": "What engagement pattern does the guide say designers typically see when they rely on PBL alone?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Strong early engagement followed by a plateau"
        },
        {
          "modality": "text",
          "value": "Low initial uptake that compounds over years"
        },
        {
          "modality": "text",
          "value": "Steady linear growth that never plateaus"
        },
        {
          "modality": "text",
          "value": "Immediate churn with no early lift at all"
        }
      ],
      "correctIndex": 0,
      "explanation": "Designers who stop at PBL tend to see strong early engagement then a plateau, because novelty accounts for most of the lift. Once the novelty of visible rewards fades, PBL alone can't sustain growth.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "g6q8v2nizh9y"
    },
    {
      "id": "ot-pbl-4",
      "shape": "mcq",
      "tags": [
        "pbl",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the guide, durable engagement beyond PBL requires reaching deeper into which level of motivation?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Higher point values and more badges"
        },
        {
          "modality": "text",
          "value": "Faster loading times and cleaner UI"
        },
        {
          "modality": "text",
          "value": "Narrative, identity, and social positioning"
        },
        {
          "modality": "text",
          "value": "Larger leaderboards with more competitors"
        }
      ],
      "correctIndex": 2,
      "explanation": "PBL works as scaffolding, not the whole structure. The deeper work of retention operates at the level of narrative, identity, and social meaning — not bigger versions of the same surface rewards.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "smcxey6dwu0m"
    },
    {
      "id": "ot-oct-1",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "recall"
      ],
      "prompt": {
        "modality": "text",
        "value": "How many Core Drives does Yu-kai Chou's Octalysis framework identify?"
      },
      "options": [
        {
          "modality": "text",
          "value": "6"
        },
        {
          "modality": "text",
          "value": "12"
        },
        {
          "modality": "text",
          "value": "10"
        },
        {
          "modality": "text",
          "value": "8"
        }
      ],
      "correctIndex": 3,
      "explanation": "Octalysis maps motivation onto eight Core Drives, from Epic Meaning & Calling to Loss & Avoidance.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "lpn6q53ff3p7"
    },
    {
      "id": "ot-oct-2",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "epic-meaning"
      ],
      "prompt": {
        "modality": "text",
        "value": "In Octalysis, which Core Drive is defined as belonging to something larger than yourself?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Development & Accomplishment"
        },
        {
          "modality": "text",
          "value": "Scarcity & Impatience"
        },
        {
          "modality": "text",
          "value": "Epic Meaning & Calling"
        },
        {
          "modality": "text",
          "value": "Ownership & Possession"
        }
      ],
      "correctIndex": 2,
      "explanation": "Epic Meaning & Calling is the pull of a mission, story, or community with stakes bigger than one person. Ownership is about accumulating things you feel are yours.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1gle17e1d2j6sy"
    },
    {
      "id": "ot-oct-3",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "ownership"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which Octalysis Core Drive covers virtual currency, streaks, and customized profiles?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Social Influence & Relatedness"
        },
        {
          "modality": "text",
          "value": "Unpredictability & Curiosity"
        },
        {
          "modality": "text",
          "value": "Ownership & Possession"
        },
        {
          "modality": "text",
          "value": "Empowerment of Creativity"
        }
      ],
      "correctIndex": 2,
      "explanation": "Ownership & Possession is the drive to accumulate and protect things you feel are yours — virtual currency, streaks, and customized profiles are its typical expressions.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14464oq40ykum"
    },
    {
      "id": "ot-oct-4",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "stacking"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does Octalysis say is the craft of durable design, given that each Core Drive has a ceiling?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rank users on how many drives they respond to",
          "short": "Rank users by drives they use"
        },
        {
          "modality": "text",
          "value": "Optimize relentlessly for one dominant Core Drive",
          "short": "Optimize one dominant Core Drive"
        },
        {
          "modality": "text",
          "value": "Rotate to a new single drive every week",
          "short": "Rotate to one new drive weekly"
        },
        {
          "modality": "text",
          "value": "Engage several Core Drives at once so another picks up the slack",
          "short": "Engage many Core Drives at once"
        }
      ],
      "correctIndex": 3,
      "explanation": "No single drive sustains engagement indefinitely — each has a ceiling. The craft is firing several drives simultaneously, so when one weakens another keeps the user tethered.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "13xee0to19193"
    },
    {
      "id": "ot-strk-1",
      "shape": "mcq",
      "tags": [
        "streak-freeze",
        "definitions"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is Duolingo's Streak Freeze?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A purchasable or earnable item that protects a streak during an absence",
          "short": "Item that guards a streak away"
        },
        {
          "modality": "text",
          "value": "A penalty that pauses XP earning after a missed day",
          "short": "Penalty that pauses XP earning"
        },
        {
          "modality": "text",
          "value": "A daily reminder notification to keep the streak alive",
          "short": "Daily reminder to keep it alive"
        },
        {
          "modality": "text",
          "value": "A leaderboard that ranks the longest streaks",
          "short": "Leaderboard of longest streaks"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Streak Freeze is bought or earned and protects the streak during an absence. Users buy insurance for a number — itself a product of the streak's perceived value.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "11kybdr1kr5lfp"
    },
    {
      "id": "ot-strk-2",
      "shape": "mcq",
      "tags": [
        "streak",
        "loss-aversion"
      ],
      "prompt": {
        "modality": "text",
        "value": "What happens to a Duolingo streak if the user misses a single day of practice?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The counter resets to zero"
        },
        {
          "modality": "text",
          "value": "It pauses until the next login"
        },
        {
          "modality": "text",
          "value": "It drops by one day"
        },
        {
          "modality": "text",
          "value": "It loses points but keeps the day count"
        }
      ],
      "correctIndex": 0,
      "explanation": "Miss one day and the counter resets to zero. That reset is the engine: the threat of losing an existing streak drives loss aversion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "bk5c6i7r7asy"
    },
    {
      "id": "ot-strk-3",
      "shape": "mcq",
      "tags": [
        "streak",
        "sunk-cost"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why does a Duolingo streak become progressively harder to abandon the longer it runs?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Each extra day multiplies the amount of XP the streak is worth",
          "short": "Each day multiplies the streak's XP"
        },
        {
          "modality": "text",
          "value": "The accumulated days act as a growing sunk cost the user is reluctant to forfeit",
          "short": "Accumulated days become a sunk cost"
        },
        {
          "modality": "text",
          "value": "Longer streaks unlock exponentially rarer badges",
          "short": "Longer streaks unlock rarer badges"
        },
        {
          "modality": "text",
          "value": "The app raises the daily goal in step with the streak length",
          "short": "Daily goal rises with streak length"
        }
      ],
      "correctIndex": 1,
      "explanation": "The longer a streak runs, the larger the sunk cost and the harder it is to rationalize walking away. The escalating investment — not new rewards — is what raises the stakes over time.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "178mtke1dh7mku"
    },
    {
      "id": "ot-strk-4",
      "shape": "mcq",
      "tags": [
        "streak",
        "poll"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the 2024 LinkedIn poll, 62% said the streak boosted motivation and 38% said it added stress. Why does the guide say Duolingo captures both groups?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The two groups cancel out, so the streak has no net effect",
          "short": "The two groups cancel out"
        },
        {
          "modality": "text",
          "value": "Only the motivated 62% actually return the next day",
          "short": "Only the motivated 62% return"
        },
        {
          "modality": "text",
          "value": "The stressed group eventually cancels, leaving only motivated users",
          "short": "Stressed users eventually quit"
        },
        {
          "modality": "text",
          "value": "Both reactions bring the user back — anxiety is engagement without pleasure",
          "short": "Both reactions bring users back"
        }
      ],
      "correctIndex": 3,
      "explanation": "The reactions feel opposed, but the retention outcome is identical: both groups came back. Anxiety is engagement without pleasure, so Duolingo profits either way.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1w2l131k1nzi9"
    },
    {
      "id": "ot-dau-1",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "dau"
      ],
      "prompt": {
        "modality": "text",
        "value": "How many daily active users did Duolingo have at its 2021 IPO?"
      },
      "options": [
        {
          "modality": "text",
          "value": "4.6 million"
        },
        {
          "modality": "text",
          "value": "46.6 million"
        },
        {
          "modality": "text",
          "value": "21 million"
        },
        {
          "modality": "text",
          "value": "7.5 million"
        }
      ],
      "correctIndex": 3,
      "explanation": "Duolingo reported 7.5 million daily active users at its 2021 IPO, the baseline against which later growth is measured.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "198fkuk1n6fems"
    },
    {
      "id": "ot-dau-2",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "dau"
      ],
      "prompt": {
        "modality": "text",
        "value": "By Q1 2025, how many daily active users did Duolingo report?"
      },
      "options": [
        {
          "modality": "text",
          "value": "52 million"
        },
        {
          "modality": "text",
          "value": "36 million"
        },
        {
          "modality": "text",
          "value": "46.6 million"
        },
        {
          "modality": "text",
          "value": "41.5 million"
        }
      ],
      "correctIndex": 2,
      "explanation": "Duolingo's DAU reached 46.6 million by Q1 2025, up from 7.5 million at its 2021 IPO.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "dcbyzk1csobnk"
    },
    {
      "id": "ot-dau-3",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "growth"
      ],
      "prompt": {
        "modality": "text",
        "value": "What was Duolingo's DAU growth from its 2021 IPO to Q1 2025?"
      },
      "options": [
        {
          "modality": "text",
          "value": "521%"
        },
        {
          "modality": "text",
          "value": "236%"
        },
        {
          "modality": "text",
          "value": "121%"
        },
        {
          "modality": "text",
          "value": "46.6%"
        }
      ],
      "correctIndex": 0,
      "explanation": "Growing from 7.5 million to 46.6 million DAU is a 521% increase, the headline evidence the streak mechanic drives retention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "nuhe4n14tge7l"
    },
    {
      "id": "ot-dau-4",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "dau-mau"
      ],
      "prompt": {
        "modality": "text",
        "value": "What was Duolingo's DAU/MAU ratio at its 2021 IPO?"
      },
      "options": [
        {
          "modality": "text",
          "value": "62%"
        },
        {
          "modality": "text",
          "value": "21%"
        },
        {
          "modality": "text",
          "value": "36%"
        },
        {
          "modality": "text",
          "value": "46%"
        }
      ],
      "correctIndex": 1,
      "explanation": "The DAU/MAU ratio was 21% at the 2021 IPO; it later climbed to 36% by Q1 2025.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ygcaquj7y8ca"
    },
    {
      "id": "ot-dau-5",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "dau-mau"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's DAU/MAU ratio climbed to 36% by Q1 2025. What does a rising DAU/MAU ratio indicate?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Monthly users are churning faster than before"
        },
        {
          "modality": "text",
          "value": "Daily users are opening the app fewer times each day"
        },
        {
          "modality": "text",
          "value": "Total downloads fell while revenue rose"
        },
        {
          "modality": "text",
          "value": "A growing share of monthly users became daily habits"
        }
      ],
      "correctIndex": 3,
      "explanation": "DAU/MAU rising from 21% to 36% means a growing share of monthly users turned into daily habits — the stickiness the streak mechanic is designed to produce.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "dz1zu9a91ztr"
    },
    {
      "id": "ot-gg-1",
      "shape": "mcq",
      "tags": [
        "goal-gradient",
        "definitions"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the Goal Gradient Effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Rewards feel larger the longer you wait for them"
        },
        {
          "modality": "text",
          "value": "People accelerate their effort as they approach a goal"
        },
        {
          "modality": "text",
          "value": "Unpredictable rewards produce the strongest habits"
        },
        {
          "modality": "text",
          "value": "Effort declines steadily as a task drags on"
        }
      ],
      "correctIndex": 1,
      "explanation": "The Goal Gradient Effect is the empirical finding that people accelerate effort as they near a goal — proximity to a reward raises its perceived value.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "11629tv1oriydd"
    },
    {
      "id": "ot-gg-2",
      "shape": "mcq",
      "tags": [
        "saga-map",
        "goal-gradient"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's Saga Map — a winding path of lesson nodes with progress marked — is a direct implementation of which principle?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Loss aversion"
        },
        {
          "modality": "text",
          "value": "Reciprocity"
        },
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "Variable-ratio reinforcement"
        }
      ],
      "correctIndex": 2,
      "explanation": "The Saga Map shows users exactly how close they are to the next milestone, exploiting the Goal Gradient Effect — completion rates spike near checkpoints.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "qqu01lai8xrn"
    },
    {
      "id": "ot-gg-3",
      "shape": "mcq",
      "tags": [
        "schedules",
        "fixed-ratio"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which reinforcement schedule is correctly matched to its example?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Fixed interval — mystery chest / loot box"
        },
        {
          "modality": "text",
          "value": "Variable ratio — daily login bonus"
        },
        {
          "modality": "text",
          "value": "Variable interval — 10 XP per 10 cards"
        },
        {
          "modality": "text",
          "value": "Fixed ratio — 10 XP per 10 cards"
        }
      ],
      "correctIndex": 3,
      "explanation": "Fixed ratio delivers a reward after a set number of actions — 10 XP per 10 cards. Loot boxes are variable ratio; the daily login bonus is fixed interval.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "9yvrjtul31kj"
    },
    {
      "id": "ot-gg-4",
      "shape": "mcq",
      "tags": [
        "schedules",
        "variable-ratio"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which Skinnerian reinforcement schedule produces the highest, most persistent response and the greatest resistance to extinction?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Fixed ratio"
        },
        {
          "modality": "text",
          "value": "Variable ratio"
        },
        {
          "modality": "text",
          "value": "Variable interval"
        },
        {
          "modality": "text",
          "value": "Fixed interval"
        }
      ],
      "correctIndex": 1,
      "explanation": "Variable-ratio reinforcement — rewards after an unpredictable number of actions — produces the highest and most persistent response rates, which is why loot boxes and randomized drops are so widely used.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "8v4rh1ra52zr"
    },
    {
      "id": "ot-net-def-1",
      "shape": "mcq",
      "tags": [
        "network-effect",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What defines a network effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A product gets cheaper to produce as output scales up",
          "short": "More output makes it cheaper"
        },
        {
          "modality": "text",
          "value": "A product becomes more valuable to each user as more people join",
          "short": "More users make it more valuable"
        },
        {
          "modality": "text",
          "value": "Ad revenue rises with each new advertiser onboarded",
          "short": "Ad revenue rises per advertiser"
        },
        {
          "modality": "text",
          "value": "Server costs fall as the user base grows",
          "short": "Server costs fall as users grow"
        }
      ],
      "correctIndex": 1,
      "explanation": "A network effect exists when a product becomes more valuable to each user as more people use it. The other options describe economies of scale or ad models, not network effects.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "r7jnbc10a45tc"
    },
    {
      "id": "ot-net-direct-2",
      "shape": "mcq",
      "tags": [
        "direct-effect",
        "network-effect"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is an example of a DIRECT network effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "More sellers on a marketplace attract more buyers"
        },
        {
          "modality": "text",
          "value": "More iPhone users attract more app developers"
        },
        {
          "modality": "text",
          "value": "More friends on a messaging app makes messaging more useful"
        },
        {
          "modality": "text",
          "value": "More content on a platform improves it for everyone"
        }
      ],
      "correctIndex": 2,
      "explanation": "A direct effect improves your experience because more people are on the same side of the product. The other three are indirect effects: you benefit from growth you don't personally connect to.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "fgvhsuarr0wy"
    },
    {
      "id": "ot-net-indirect-3",
      "shape": "mcq",
      "tags": [
        "indirect-effect",
        "network-effect"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which scenario is an example of an INDIRECT network effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Doubling users quadruples value per Metcalfe's Law",
          "short": "Doubling users quadruples value"
        },
        {
          "modality": "text",
          "value": "More friends to message makes messaging more useful",
          "short": "More friends make messaging useful"
        },
        {
          "modality": "text",
          "value": "More iPhone users attract more app developers, improving the platform",
          "short": "More users draw more app developers"
        },
        {
          "modality": "text",
          "value": "Users on the same side of the product improve your experience",
          "short": "Same-side users improve experience"
        }
      ],
      "correctIndex": 2,
      "explanation": "Indirect effects benefit you through parties you never meet — more iPhone users draw more developers. The 'same side' and 'more friends' options describe direct effects.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1h13xtm12sgq7i"
    },
    {
      "id": "ot-net-quadruple-4",
      "shape": "mcq",
      "tags": [
        "metcalfe",
        "n-squared"
      ],
      "prompt": {
        "modality": "text",
        "value": "Per Metcalfe's Law, if a network's users double, its value in theory does what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Doubles"
        },
        {
          "modality": "text",
          "value": "Halves"
        },
        {
          "modality": "text",
          "value": "Grows by the logarithm of users"
        },
        {
          "modality": "text",
          "value": "Quadruples"
        }
      ],
      "correctIndex": 3,
      "explanation": "Value scales with n², so doubling users (2n) yields (2n)² = 4x the value — a quadrupling. This is a directional intuition, not precise accounting.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "192xp6h96wvcf"
    },
    {
      "id": "ot-moat-graph-1",
      "shape": "mcq",
      "tags": [
        "social-graph",
        "moat"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the 'social graph' that Facebook built its moat on?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A map of users' interests inferred from their behavior"
        },
        {
          "modality": "text",
          "value": "A ranked feed of trending public content"
        },
        {
          "modality": "text",
          "value": "An anonymous forum of shared interest communities"
        },
        {
          "modality": "text",
          "value": "A persistent, identity-based map of real-world relationships"
        }
      ],
      "correctIndex": 3,
      "explanation": "The social graph tied users to their actual names and contacts — a persistent map of real-world relationships. An interest-based map is TikTok's interest graph, not the social graph.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1rrdu521qbmzpa"
    },
    {
      "id": "ot-moat-nfx-2",
      "shape": "mcq",
      "tags": [
        "nfx",
        "layered-defensibility"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which VC firm coined the phrase 'layered defensibility' for Facebook's stacked network effects?"
      },
      "options": [
        {
          "modality": "text",
          "value": "a16z"
        },
        {
          "modality": "text",
          "value": "Y Combinator"
        },
        {
          "modality": "text",
          "value": "Sequoia"
        },
        {
          "modality": "text",
          "value": "NFX"
        }
      ],
      "correctIndex": 3,
      "explanation": "The VC firm NFX coined 'layered defensibility' to describe Facebook stacking six distinct network effects, imagined as a castle with six concentric walls.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14cjm2uvnctgm"
    },
    {
      "id": "ot-moat-drawbridge-3",
      "shape": "mcq",
      "tags": [
        "moat",
        "features"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the moat metaphor, what role did News Feed, Groups, and Photos play relative to the social graph?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Six concentric defensive walls locking users in",
          "short": "Six walls locking users in"
        },
        {
          "modality": "text",
          "value": "The identity layer underpinning every other feature",
          "short": "The identity layer under it all"
        },
        {
          "modality": "text",
          "value": "The moat itself that competitors could never cross",
          "short": "The moat competitors can't cross"
        },
        {
          "modality": "text",
          "value": "Drawbridges layered on top of the graph, adding reasons to return",
          "short": "Drawbridges on top of the graph"
        }
      ],
      "correctIndex": 3,
      "explanation": "The graph itself was the moat; the features were merely drawbridges across it. Competitors could copy the features but not replicate the graph underneath.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "oae9pocbp89k"
    },
    {
      "id": "ot-moat-walls-4",
      "shape": "mcq",
      "tags": [
        "six-walls",
        "layered-defensibility"
      ],
      "prompt": {
        "modality": "text",
        "value": "NFX pictures Facebook's moat as a castle with six concentric walls. Which is one of those six lock-in mechanisms?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Payment credentials"
        },
        {
          "modality": "text",
          "value": "Professional reputation score"
        },
        {
          "modality": "text",
          "value": "Virtual currency"
        },
        {
          "modality": "text",
          "value": "Streak count"
        }
      ],
      "correctIndex": 0,
      "explanation": "The six walls are identity, social relationships, data, payment credentials, media, and platform integrations. Ad pricing, server redundancy, and 2FA are not among them.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ir5xylds33ar"
    },
    {
      "id": "ot-quant-marginal-1",
      "shape": "mcq",
      "tags": [
        "marginal-friend",
        "value"
      ],
      "prompt": {
        "modality": "text",
        "value": "What was the measured marginal value of one additional Facebook friend, per month?"
      },
      "options": [
        {
          "modality": "text",
          "value": "About $0.04"
        },
        {
          "modality": "text",
          "value": "About $4.00"
        },
        {
          "modality": "text",
          "value": "About $0.004"
        },
        {
          "modality": "text",
          "value": "About $0.40"
        }
      ],
      "correctIndex": 2,
      "explanation": "The MIT/Chapman/UCLA study found the marginal value of one more friend was roughly $0.004 per month — tiny individually, enormous in aggregate.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "zst0791t47r0n"
    },
    {
      "id": "ot-quant-total-2",
      "shape": "mcq",
      "tags": [
        "platform-value",
        "measurement"
      ],
      "prompt": {
        "modality": "text",
        "value": "The MIT/Chapman/UCLA study put total Facebook platform value per user per month in what range?"
      },
      "options": [
        {
          "modality": "text",
          "value": "$78–$101"
        },
        {
          "modality": "text",
          "value": "$40–$60"
        },
        {
          "modality": "text",
          "value": "$20–$34"
        },
        {
          "modality": "text",
          "value": "$101–$150"
        }
      ],
      "correctIndex": 0,
      "explanation": "Total platform value ranged from $78 to $101 per month per user. The 20–34 figure is the social share (a percentage), and 40–60 is the retention lift — not dollar amounts.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ummdaz13s6dzd"
    },
    {
      "id": "ot-quant-share-3",
      "shape": "mcq",
      "tags": [
        "social-share",
        "value"
      ],
      "prompt": {
        "modality": "text",
        "value": "What share of Facebook's total platform value was attributable to social connections specifically?"
      },
      "options": [
        {
          "modality": "text",
          "value": "69%"
        },
        {
          "modality": "text",
          "value": "20–34%"
        },
        {
          "modality": "text",
          "value": "78–101%"
        },
        {
          "modality": "text",
          "value": "40–60%"
        }
      ],
      "correctIndex": 1,
      "explanation": "Of the $78–101 monthly value, 20–34% traced to social ties; the rest came from content, utility, and habit. 40–60% is retention lift, 69% is FOMO prevalence.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1xh5tvg1uie1y0"
    },
    {
      "id": "ot-quant-retention-4",
      "shape": "mcq",
      "tags": [
        "social-anchoring",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "Social anchoring: socially-tied users show how much higher retention than solo users?"
      },
      "options": [
        {
          "modality": "text",
          "value": "40–60% higher"
        },
        {
          "modality": "text",
          "value": "20–34% higher"
        },
        {
          "modality": "text",
          "value": "69% higher"
        },
        {
          "modality": "text",
          "value": "About 4% higher"
        }
      ],
      "correctIndex": 0,
      "explanation": "Social anchoring is the finding that socially-tied users show 40–60% higher retention than solo users. The 20–34% figure is the social share of value, not retention.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1jjmpad13rtw5b"
    },
    {
      "id": "ot-quant-not-5",
      "shape": "mcq",
      "tags": [
        "measurement",
        "which-not"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which figure is NOT one of the measured values of Facebook's network effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "20–34% of value from social ties"
        },
        {
          "modality": "text",
          "value": "$0.004 marginal value per friend per month"
        },
        {
          "modality": "text",
          "value": "$0.40 marginal value per friend per month"
        },
        {
          "modality": "text",
          "value": "$78–$101 total platform value per month"
        }
      ],
      "correctIndex": 2,
      "explanation": "The measured marginal value was $0.004 per friend, not $0.40. The other three figures all match the study's findings.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ehwrq8okptyo"
    },
    {
      "id": "ot-viral-leaderboard-1",
      "shape": "mcq",
      "tags": [
        "leaderboard",
        "serotonin"
      ],
      "prompt": {
        "modality": "text",
        "value": "Competitive leaderboards primarily run on which neurochemical and driver?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Serotonin — status"
        },
        {
          "modality": "text",
          "value": "Dopamine — anticipation"
        },
        {
          "modality": "text",
          "value": "Oxytocin — social bonding"
        },
        {
          "modality": "text",
          "value": "Cortisol — stress relief"
        }
      ],
      "correctIndex": 0,
      "explanation": "Leaderboards work on status and serotonin. Oxytocin drives bonding (co-op quests, parasocial bonds), not competitive status ranking.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1kl9t3j4ashnp"
    },
    {
      "id": "ot-viral-parasocial-2",
      "shape": "mcq",
      "tags": [
        "parasocial",
        "oxytocin"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is a parasocial bond, like the attachment to Duolingo's Duo owl?"
      },
      "options": [
        {
          "modality": "text",
          "value": "An oxytocin-mediated attachment to a non-reciprocating entity",
          "short": "Oxytocin bond to a one-way entity"
        },
        {
          "modality": "text",
          "value": "A financial reward for maintaining a daily streak",
          "short": "Reward for maintaining a streak"
        },
        {
          "modality": "text",
          "value": "A serotonin-driven status competition with peers",
          "short": "Serotonin status race with peers"
        },
        {
          "modality": "text",
          "value": "A reciprocal friendship between two active users",
          "short": "Reciprocal bond between two users"
        }
      ],
      "correctIndex": 0,
      "explanation": "A parasocial bond is an oxytocin-mediated attachment to a non-human or non-reciprocating entity, manufactured through consistency and mild threat of loss.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1lrh1al1166buz"
    },
    {
      "id": "ot-viral-fomo-3",
      "shape": "mcq",
      "tags": [
        "fomo",
        "bonding"
      ],
      "prompt": {
        "modality": "text",
        "value": "Cornell research found FOMO is driven by anxiety about what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The social consequences of missed bonding"
        },
        {
          "modality": "text",
          "value": "Losing a competitive leaderboard position"
        },
        {
          "modality": "text",
          "value": "Missing informational content or news"
        },
        {
          "modality": "text",
          "value": "Falling behind on unread notifications"
        }
      ],
      "correctIndex": 0,
      "explanation": "Cornell found FOMO isn't about missed content — it's anxiety over the social consequences of missed bonding. Adding more content won't resolve it.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "5qvaht1rh6jyr"
    },
    {
      "id": "ot-viral-lossav-4",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "leaderboard"
      ],
      "prompt": {
        "modality": "text",
        "value": "On competitive leaderboards, what makes players grind hardest?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The desire to reach the very top tier"
        },
        {
          "modality": "text",
          "value": "Avoiding demotion outweighs the pleasure of promotion"
        },
        {
          "modality": "text",
          "value": "Earning the most points in a single session"
        },
        {
          "modality": "text",
          "value": "Unlocking exclusive cosmetic rewards"
        }
      ],
      "correctIndex": 1,
      "explanation": "Loss aversion is the engine: the pain of dropping a tier outweighs the pleasure of climbing one, so players grind to avoid demotion from the rank they hold.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1v02ijn1iuxly1"
    },
    {
      "id": "ot-interest-def-1",
      "shape": "mcq",
      "tags": [
        "interest-graph",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does TikTok's interest graph map?"
      },
      "options": [
        {
          "modality": "text",
          "value": "What you're drawn to, learned from your behavior"
        },
        {
          "modality": "text",
          "value": "Your identity and phone contact list"
        },
        {
          "modality": "text",
          "value": "Your explicit follow and friend connections"
        },
        {
          "modality": "text",
          "value": "Who you know in real life"
        }
      ],
      "correctIndex": 0,
      "explanation": "The interest graph is a machine-curated map of what you're drawn to, learned from behavior — not who you know, which is the social graph.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "o84noqpnyfr2"
    },
    {
      "id": "ot-interest-coldstart-2",
      "shape": "mcq",
      "tags": [
        "cold-start",
        "interest-graph"
      ],
      "prompt": {
        "modality": "text",
        "value": "How does the interest graph solve the cold-start problem?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It pays new creators to seed an initial audience",
          "short": "It pays creators to seed reach"
        },
        {
          "modality": "text",
          "value": "A zero-follower account can go viral in 24h if content clears thresholds",
          "short": "Zero-follower posts can go viral"
        },
        {
          "modality": "text",
          "value": "It ranks accounts by follower count and account age",
          "short": "It ranks by followers and age"
        },
        {
          "modality": "text",
          "value": "It requires new creators to import their contact list",
          "short": "Creators import their contacts"
        }
      ],
      "correctIndex": 1,
      "explanation": "The video is judged, not the creator's history — a brand-new zero-follower account can earn viral distribution within 24 hours if content clears engagement thresholds.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ck58r26sa10m"
    },
    {
      "id": "ot-interest-tradeoff-3",
      "shape": "mcq",
      "tags": [
        "engagement",
        "tradeoff"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the trade-off of TikTok optimizing for engagement over social connection?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Slower growth but far deeper loyalty"
        },
        {
          "modality": "text",
          "value": "Longer sessions but weaker social bonding"
        },
        {
          "modality": "text",
          "value": "Higher retention and stronger social ties"
        },
        {
          "modality": "text",
          "value": "Shorter sessions but stronger social bonding"
        }
      ],
      "correctIndex": 1,
      "explanation": "Optimizing for raw engagement produces far longer sessions but weaker social bonding, since ties are to content categories, not people — sacrificing structural stickiness.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "j4gm9p1az8j3z"
    },
    {
      "id": "ot-interest-contrast-4",
      "shape": "mcq",
      "tags": [
        "interest-graph",
        "social-graph"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement contrasting the interest graph and the social graph is correct?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The social graph gets more accurate the more you use it",
          "short": "Social graph sharpens with use"
        },
        {
          "modality": "text",
          "value": "The interest graph needs followers to distribute content",
          "short": "Interest graph needs followers"
        },
        {
          "modality": "text",
          "value": "The interest graph judges the video on its own merits",
          "short": "Judges the video on its own merits"
        },
        {
          "modality": "text",
          "value": "The interest graph maps who you already know",
          "short": "Interest graph maps who you know"
        }
      ],
      "correctIndex": 2,
      "explanation": "On the interest graph the video is judged, not the creator — so no followers are needed. Getting more accurate with use describes the interest graph, and mapping who you know describes the social graph.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1e839dx17evw4f"
    },
    {
      "id": "ot-kfactor-formula",
      "shape": "mcq",
      "tags": [
        "k-factor",
        "formula"
      ],
      "prompt": {
        "modality": "text",
        "value": "The K-factor is calculated as the product of which two quantities?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Lifetime value and retention rate",
          "short": "Lifetime value × retention rate"
        },
        {
          "modality": "text",
          "value": "Customer acquisition cost and conversion rate",
          "short": "Acquisition cost × conversion"
        },
        {
          "modality": "text",
          "value": "Invitations sent and the conversion rate on those invitations",
          "short": "Invites sent × conversion rate"
        },
        {
          "modality": "text",
          "value": "Installs and churn rate",
          "short": "Installs × the churn rate"
        }
      ],
      "correctIndex": 2,
      "explanation": "K = i x c: invitations sent multiplied by the conversion rate on those invitations. The other pairs mix in unrelated metrics like LTV, CAC, or churn.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "16tjf3e1wr2r9y"
    },
    {
      "id": "ot-kfactor-threshold",
      "shape": "mcq",
      "tags": [
        "k-factor",
        "threshold"
      ],
      "prompt": {
        "modality": "text",
        "value": "Above what K value is a product genuinely self-replicating, with each cohort larger than the last without extra spend?"
      },
      "options": [
        {
          "modality": "text",
          "value": "0.5"
        },
        {
          "modality": "text",
          "value": "1"
        },
        {
          "modality": "text",
          "value": "10"
        },
        {
          "modality": "text",
          "value": "0.2"
        }
      ],
      "correctIndex": 1,
      "explanation": "K above 1 is the inflection point for self-sustaining, exponential growth. A K of 0.2 still helps but leaves the product dependent on paid or organic top-of-funnel.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "rw8z6z1gg0y9t"
    },
    {
      "id": "ot-kfactor-interpret",
      "shape": "mcq",
      "tags": [
        "k-factor",
        "interpretation"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does a K-factor of 0.2 mean in practice?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Each user recruits five new users",
          "short": "Each user recruits five users"
        },
        {
          "modality": "text",
          "value": "The user base doubles every cycle",
          "short": "User base doubles each cycle"
        },
        {
          "modality": "text",
          "value": "The product loses one in five users",
          "short": "Product loses one in five users"
        },
        {
          "modality": "text",
          "value": "Five users collectively produce one additional user over their lifetime",
          "short": "Five users make one new user"
        }
      ],
      "correctIndex": 3,
      "explanation": "K = 0.2 means it takes five existing users to generate one additional user. It is below the K>1 self-sustaining threshold, so it is a reciprocal, not a multiplier of five.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ic701m1otqjze"
    },
    {
      "id": "ot-kfactor-below-one",
      "shape": "mcq",
      "tags": [
        "k-factor",
        "growth"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement about a product with a K-factor below 1 is TRUE?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Virality still helps, but the product depends on paid or organic top-of-funnel to survive",
          "short": "Helps, but needs paid/organic funnel"
        },
        {
          "modality": "text",
          "value": "It grows exponentially on its own without any spend",
          "short": "Grows exponentially with no spend"
        },
        {
          "modality": "text",
          "value": "It needs no marketing because it is self-replicating",
          "short": "Self-replicating; needs no marketing"
        },
        {
          "modality": "text",
          "value": "It is guaranteed to lose users every cohort",
          "short": "Guaranteed to lose users each cohort"
        }
      ],
      "correctIndex": 0,
      "explanation": "Below 1, virality contributes but cannot sustain growth alone, so paid or organic top-of-funnel is still required. Only K above 1 is self-replicating.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ohuonh18t68bf"
    },
    {
      "id": "ot-cac-def",
      "shape": "mcq",
      "tags": [
        "cac",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does CAC (Customer Acquisition Cost) measure?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The number of users each existing user recruits"
        },
        {
          "modality": "text",
          "value": "The share of users who convert on an invitation"
        },
        {
          "modality": "text",
          "value": "The total revenue a user generates over their lifetime"
        },
        {
          "modality": "text",
          "value": "The dollar amount spent to land one new user"
        }
      ],
      "correctIndex": 3,
      "explanation": "CAC is the cost to acquire one new user, the denominator that viral dynamics attack. The other options describe LTV, conversion rate, and the K-factor.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1gs1el6w4jhea"
    },
    {
      "id": "ot-cac-ipo",
      "shape": "mcq",
      "tags": [
        "cac",
        "duolingo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Roughly what was Duolingo's estimated CAC at its IPO?"
      },
      "options": [
        {
          "modality": "text",
          "value": "$52"
        },
        {
          "modality": "text",
          "value": "$28"
        },
        {
          "modality": "text",
          "value": "$33"
        },
        {
          "modality": "text",
          "value": "$41"
        }
      ],
      "correctIndex": 3,
      "explanation": "Duolingo's CAC was estimated at roughly $41 at IPO and had fallen to about $33 by Q1 2025 as its base became more self-referencing.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "hkky4n16pxgfp"
    },
    {
      "id": "ot-cac-2025",
      "shape": "mcq",
      "tags": [
        "cac",
        "duolingo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Roughly what had Duolingo's estimated CAC fallen to by Q1 2025?"
      },
      "options": [
        {
          "modality": "text",
          "value": "$41"
        },
        {
          "modality": "text",
          "value": "$21"
        },
        {
          "modality": "text",
          "value": "$47"
        },
        {
          "modality": "text",
          "value": "$33"
        }
      ],
      "correctIndex": 3,
      "explanation": "CAC fell to roughly $33 by Q1 2025, down from about $41 at IPO. The drop reflects a larger, more engaged base doing more of the recruiting.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ujg4wih8wucq"
    },
    {
      "id": "ot-cac-why-fell",
      "shape": "mcq",
      "tags": [
        "cac",
        "viral"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the guide, why did Duolingo's CAC fall from IPO to Q1 2025?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It stopped tracking performance marketing",
          "short": "Stopped tracking performance ads"
        },
        {
          "modality": "text",
          "value": "It raised subscription prices to offset ad spend",
          "short": "Raised prices to offset ad spend"
        },
        {
          "modality": "text",
          "value": "The company slashed its advertising budget",
          "short": "Slashed its advertising budget"
        },
        {
          "modality": "text",
          "value": "A larger, more engaged user base did more of the recruiting itself",
          "short": "Bigger user base recruited itself"
        }
      ],
      "correctIndex": 3,
      "explanation": "The guide is explicit: CAC fell not because the ad budget shrank, but because a bigger, more engaged base recruited more users organically, replacing paid installs.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14vbe977jigvt"
    },
    {
      "id": "ot-cac-trend",
      "shape": "mcq",
      "tags": [
        "cac",
        "diagnostics"
      ],
      "prompt": {
        "modality": "text",
        "value": "A flat or rising CAC at scale is a warning sign of what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "LTV is climbing rapidly"
        },
        {
          "modality": "text",
          "value": "Viral loops are compounding faster than ever"
        },
        {
          "modality": "text",
          "value": "Organic growth has stalled and viral loops may be decaying"
        },
        {
          "modality": "text",
          "value": "The K-factor has just crossed above 1"
        }
      ],
      "correctIndex": 2,
      "explanation": "Watching CAC over time reveals whether viral loops compound or decay; a flat or rising CAC at scale signals stalled organic growth, the opposite of compounding virality.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "9lwdr28e5x4q"
    },
    {
      "id": "ot-loops-content",
      "shape": "mcq",
      "tags": [
        "growth-loops",
        "aso"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which growth loop turns user activity such as posts, reviews, and public profiles into indexable material that lifts App Store and search visibility?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The paid acquisition loop"
        },
        {
          "modality": "text",
          "value": "The content/ASO loop"
        },
        {
          "modality": "text",
          "value": "The retention loop"
        },
        {
          "modality": "text",
          "value": "The viral loop"
        }
      ],
      "correctIndex": 1,
      "explanation": "The content/ASO loop converts posts, reviews, and profiles into indexable material that pulls in cold-search installs. The viral loop is about direct recruiting; the paid loop buys installs.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "p5geix10dvygn"
    },
    {
      "id": "ot-loops-paid",
      "shape": "mcq",
      "tags": [
        "growth-loops",
        "paid"
      ],
      "prompt": {
        "modality": "text",
        "value": "How does the paid acquisition loop work?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Users recruit users through sharing and invitations",
          "short": "Users recruit users via sharing"
        },
        {
          "modality": "text",
          "value": "Ad spend buys installs whose in-app revenue funds more ad spend",
          "short": "Installs earn revenue that funds ads"
        },
        {
          "modality": "text",
          "value": "User activity becomes content that lifts store rankings",
          "short": "User activity lifts store rankings"
        },
        {
          "modality": "text",
          "value": "Public profiles generate cold-search installs for free",
          "short": "Profiles drive free cold installs"
        }
      ],
      "correctIndex": 1,
      "explanation": "The paid loop reinvests in-app revenue from bought installs into more ad spend. The other options describe the viral and content/ASO loops, which are nearly free at the margin.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1mc83w87pkge4"
    },
    {
      "id": "ot-loops-not-free",
      "shape": "mcq",
      "tags": [
        "growth-loops",
        "economics"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which of these growth loops is NOT nearly free at the margin?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The referral loop"
        },
        {
          "modality": "text",
          "value": "The viral loop"
        },
        {
          "modality": "text",
          "value": "The content/ASO loop"
        },
        {
          "modality": "text",
          "value": "The paid acquisition loop"
        }
      ],
      "correctIndex": 3,
      "explanation": "The viral and content/ASO loops are compounding and nearly free per incremental install; the paid loop costs ad dollars for every install and only works when LTV far exceeds CAC.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "mq0h131711bfx"
    },
    {
      "id": "ot-loops-viral",
      "shape": "mcq",
      "tags": [
        "growth-loops",
        "viral"
      ],
      "prompt": {
        "modality": "text",
        "value": "The viral loop drives growth primarily through which mechanism?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Subscription revenue reinvested into retention",
          "short": "Subscription revenue funds retention"
        },
        {
          "modality": "text",
          "value": "Ad spend that buys installs which fund more spend",
          "short": "Ad spend buys installs, funds more"
        },
        {
          "modality": "text",
          "value": "Users recruiting other users through sharing, invitations, or social artifacts",
          "short": "Users recruit users via sharing"
        },
        {
          "modality": "text",
          "value": "User reviews that raise App Store rankings",
          "short": "Reviews raise App Store rankings"
        }
      ],
      "correctIndex": 2,
      "explanation": "The viral loop is users recruiting users, costing almost nothing per install. It works best when sharing is intrinsic to the core value loop, not a bolted-on Share button.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ussrpz1377k4h"
    },
    {
      "id": "ot-ltv-def",
      "shape": "mcq",
      "tags": [
        "ltv",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does LTV (Lifetime Value) measure?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The share of trials that convert to paid"
        },
        {
          "modality": "text",
          "value": "The cost to acquire one new user"
        },
        {
          "modality": "text",
          "value": "The number of invitations a user sends"
        },
        {
          "modality": "text",
          "value": "The total value a user generates over their lifetime"
        }
      ],
      "correctIndex": 3,
      "explanation": "LTV is the total value a user produces over their lifetime. The cost to acquire a user is CAC; the paid loop is viable only when LTV far exceeds CAC.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "e3xekhg3qnyf"
    },
    {
      "id": "ot-ltv-condition",
      "shape": "mcq",
      "tags": [
        "ltv",
        "paid-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "The paid acquisition loop is sustainable only when which condition holds?"
      },
      "options": [
        {
          "modality": "text",
          "value": "CAC far exceeds LTV"
        },
        {
          "modality": "text",
          "value": "LTV far exceeds CAC"
        },
        {
          "modality": "text",
          "value": "The K-factor stays below 1"
        },
        {
          "modality": "text",
          "value": "Invitations exceed conversions"
        }
      ],
      "correctIndex": 1,
      "explanation": "Paid loops only work when the lifetime value of a bought user greatly exceeds the cost to acquire them. If CAC exceeds LTV, the loop accelerates losses.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "3rlmd71h5dv7x"
    },
    {
      "id": "ot-ltv-negative",
      "shape": "mcq",
      "tags": [
        "ltv",
        "unit-economics"
      ],
      "prompt": {
        "modality": "text",
        "value": "If a product's unit economics are negative (CAC exceeds LTV), what does scaling the paid loop do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Automatically lifts the K-factor above 1"
        },
        {
          "modality": "text",
          "value": "Lowers CAC through reciprocity"
        },
        {
          "modality": "text",
          "value": "Compounds free organic installs"
        },
        {
          "modality": "text",
          "value": "Accelerates losses rather than growth"
        }
      ],
      "correctIndex": 3,
      "explanation": "With negative unit economics, spending more on ads buys installs that lose money faster, so the paid loop accelerates losses instead of growth.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1v1zfl4nfp1og"
    },
    {
      "id": "ot-ltv-retention",
      "shape": "mcq",
      "tags": [
        "ltv",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the guide, a 5% improvement in retention can raise LTV by roughly how much?"
      },
      "options": [
        {
          "modality": "text",
          "value": "100-150%"
        },
        {
          "modality": "text",
          "value": "25-95%"
        },
        {
          "modality": "text",
          "value": "5-10%"
        },
        {
          "modality": "text",
          "value": "1-3%"
        }
      ],
      "correctIndex": 1,
      "explanation": "A 5% retention gain can lift LTV by 25-95%, which is why retention is far more capital-efficient than paid acquisition for growing lifetime value.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "nv3rif1qpj78h"
    },
    {
      "id": "ot-ltv-compare",
      "shape": "mcq",
      "tags": [
        "ltv",
        "cac"
      ],
      "prompt": {
        "modality": "text",
        "value": "To judge whether the paid acquisition loop is viable, which two figures do you compare?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Retention against conversion rate"
        },
        {
          "modality": "text",
          "value": "K-factor against churn"
        },
        {
          "modality": "text",
          "value": "LTV against CAC"
        },
        {
          "modality": "text",
          "value": "Invitations against installs"
        }
      ],
      "correctIndex": 2,
      "explanation": "Viability of the paid loop is the LTV-versus-CAC comparison: LTV must greatly exceed CAC. The other pairings mix unrelated growth metrics.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "v0338x1qlqaej"
    },
    {
      "id": "ot-share-def",
      "shape": "mcq",
      "tags": [
        "shareable-artifact",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "A shareable artifact is content a user chooses to broadcast primarily because it:"
      },
      "options": [
        {
          "modality": "text",
          "value": "Is required before they can keep using the app",
          "short": "Required to keep using the app"
        },
        {
          "modality": "text",
          "value": "Reflects well on them, letting them perform a version of themselves",
          "short": "Reflects well on who they are"
        },
        {
          "modality": "text",
          "value": "Directly advertises the app's newest features",
          "short": "Advertises the app's new features"
        },
        {
          "modality": "text",
          "value": "Pays them a cash reward for each share",
          "short": "Pays a cash reward per share"
        }
      ],
      "correctIndex": 1,
      "explanation": "A shareable artifact makes the user look good; they promote themselves, and the app is merely the medium. It is not a paid or forced share.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "rxkgl715ztfd9"
    },
    {
      "id": "ot-share-wrapped",
      "shape": "mcq",
      "tags": [
        "shareable-artifact",
        "spotify-wrapped"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is the canonical shareable artifact that detonates across social every December with zero paid media?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Uber's free-ride referral"
        },
        {
          "modality": "text",
          "value": "The App Store featured banner"
        },
        {
          "modality": "text",
          "value": "Duolingo's streak freeze"
        },
        {
          "modality": "text",
          "value": "Spotify Wrapped"
        }
      ],
      "correctIndex": 3,
      "explanation": "Spotify Wrapped is the archetypal identity-affirming yearly summary that spreads with no paid media. Uber's free ride is a referral, not a self-expressive artifact.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "15c69be1l3r12e"
    },
    {
      "id": "ot-share-badge",
      "shape": "mcq",
      "tags": [
        "shareable-artifact",
        "duolingo"
      ],
      "prompt": {
        "modality": "text",
        "value": "How does Duolingo's 'Top 1% of learners' badge pull new users into the funnel?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It gives referred friends a cash bonus",
          "short": "Gives referred friends a cash bonus"
        },
        {
          "modality": "text",
          "value": "It forces users to invite friends to continue",
          "short": "Forces users to invite friends"
        },
        {
          "modality": "text",
          "value": "It buys App Store ad placements",
          "short": "Buys App Store ad placements"
        },
        {
          "modality": "text",
          "value": "It signals discipline to the user's social graph, drawing curious onlookers",
          "short": "Signals discipline, draws onlookers"
        }
      ],
      "correctIndex": 3,
      "explanation": "The badge is a shareable artifact: it signals discipline to a user's social graph, and curious onlookers get pulled in. It relies on self-presentation, not cash or ads.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "19184v91p1o4aj"
    },
    {
      "id": "ot-share-embed",
      "shape": "mcq",
      "tags": [
        "referrals",
        "incentive-design"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the more sophisticated version of a referral that avoids looking like a cash bribe?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Removing all incentives from the referral",
          "short": "Remove all referral incentives"
        },
        {
          "modality": "text",
          "value": "Embedding the incentive in content value tied to the core loop, e.g. 'unlock this deck by inviting a partner'",
          "short": "Embed reward in core-loop content"
        },
        {
          "modality": "text",
          "value": "Doubling the cash reward for both sides",
          "short": "Double the cash reward both sides"
        },
        {
          "modality": "text",
          "value": "Rewarding only the referrer with a discount",
          "short": "Reward the referrer with a discount"
        }
      ],
      "correctIndex": 1,
      "explanation": "Tying the reward to content value in the core loop attracts users who want the product, not the coupon, and avoids the bribe framing of a cash reward.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "444sa517zdwcf"
    },
    {
      "id": "ot-aha-def-1",
      "shape": "mcq",
      "tags": [
        "aha-moment",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What best defines an app's Aha Moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The moment a user finishes the onboarding walkthrough"
        },
        {
          "modality": "text",
          "value": "The instant the app's core value becomes emotionally real"
        },
        {
          "modality": "text",
          "value": "The screen where a user grants push permission"
        },
        {
          "modality": "text",
          "value": "The day-3 point when most users churn"
        }
      ],
      "correctIndex": 1,
      "explanation": "The Aha Moment is feeling the value, not finishing a tutorial. Completing a walkthrough is explicitly NOT the Aha Moment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "vrlfmy1o858ge"
    },
    {
      "id": "ot-aha-twitter-2",
      "shape": "mcq",
      "tags": [
        "twitter",
        "thresholds"
      ],
      "prompt": {
        "modality": "text",
        "value": "What was Twitter's Aha-Moment onboarding threshold?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Complete the first lesson for animated XP"
        },
        {
          "modality": "text",
          "value": "Follow 30 accounts"
        },
        {
          "modality": "text",
          "value": "7 friends in 10 days"
        },
        {
          "modality": "text",
          "value": "Add 5 topics of interest"
        }
      ],
      "correctIndex": 1,
      "explanation": "Twitter's threshold was following 30 accounts — enough signal to fill a timeline worth returning to. '7 friends in 10 days' was Facebook's.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1nph48u1i8ckm6"
    },
    {
      "id": "ot-aha-duolingo-3",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "thresholds"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which describes Duolingo's Aha Moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Completing the first lesson and receiving the animated XP reward",
          "short": "Finish first lesson, earn XP"
        },
        {
          "modality": "text",
          "value": "Maintaining a 7-day streak",
          "short": "Maintaining a 7-day streak"
        },
        {
          "modality": "text",
          "value": "Following 30 accounts",
          "short": "Following 30 accounts"
        },
        {
          "modality": "text",
          "value": "Reaching 7 friends in 10 days",
          "short": "Reaching 7 friends in 10 days"
        }
      ],
      "correctIndex": 0,
      "explanation": "Duolingo's is immediate and sensory: the first lesson plus the gamified XP dopamine hit. The account and friend thresholds belong to Twitter and Facebook.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ahbmpx1wud8nz"
    },
    {
      "id": "ot-aha-not-4",
      "shape": "mcq",
      "tags": [
        "aha-moment",
        "discriminate"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which of these is NOT an example of an app's Aha Moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Finishing the onboarding walkthrough"
        },
        {
          "modality": "text",
          "value": "Duolingo's first lesson plus animated XP"
        },
        {
          "modality": "text",
          "value": "Twitter's follow 30 accounts"
        },
        {
          "modality": "text",
          "value": "Facebook's 7 friends in 10 days"
        }
      ],
      "correctIndex": 0,
      "explanation": "Finishing a walkthrough is explicitly not the Aha Moment — feeling the value is. The other three are the canonical measurable thresholds.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "jdaulz13o1cg9"
    },
    {
      "id": "ot-onb-day3-1",
      "shape": "mcq",
      "tags": [
        "retention",
        "day-3"
      ],
      "prompt": {
        "modality": "text",
        "value": "Roughly what share of users stop using an app after the third day following install?"
      },
      "options": [
        {
          "modality": "text",
          "value": "95%"
        },
        {
          "modality": "text",
          "value": "80%"
        },
        {
          "modality": "text",
          "value": "50%"
        },
        {
          "modality": "text",
          "value": "65%"
        }
      ],
      "correctIndex": 1,
      "explanation": "About 80% of users stop after day 3, which reframes onboarding as a survival problem — two or three sessions to prove value.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "z3h6bb1v37i85"
    },
    {
      "id": "ot-onb-predict-2",
      "shape": "mcq",
      "tags": [
        "cohort",
        "aha-moment"
      ],
      "prompt": {
        "modality": "text",
        "value": "A specific early behavior qualifies as the Aha Moment when it does what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Predicts a user still being active about 30 days later"
        },
        {
          "modality": "text",
          "value": "Is rated most enjoyable in a user survey"
        },
        {
          "modality": "text",
          "value": "Appears on the final onboarding screen"
        },
        {
          "modality": "text",
          "value": "Matches a market-leading competitor's feature"
        }
      ],
      "correctIndex": 0,
      "explanation": "When a behavior reached in session one predicts 30-day retention in cohort data, that behavior is the Aha Moment. Surveys and tutorials do not define it.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "5twvpn1y9bry1"
    },
    {
      "id": "ot-onb-survival-3",
      "shape": "mcq",
      "tags": [
        "retention",
        "onboarding"
      ],
      "prompt": {
        "modality": "text",
        "value": "The ~80% day-3 drop-off reframes onboarding as which kind of problem?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A tutorial-length problem — the walkthrough is too short",
          "short": "Tutorial — walkthrough too short"
        },
        {
          "modality": "text",
          "value": "A paid-acquisition problem — not enough installs",
          "short": "Acquisition — too few installs"
        },
        {
          "modality": "text",
          "value": "A pricing problem — the app costs too much up front",
          "short": "Pricing — costs too much upfront"
        },
        {
          "modality": "text",
          "value": "A survival problem — prove value within two or three sessions",
          "short": "Survival — prove value quickly"
        }
      ],
      "correctIndex": 3,
      "explanation": "The guide says the day-3 stat reframes onboarding as a survival problem: the app has two or three sessions to prove value before most users are gone. It is not about price, tutorial length, or acquisition.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1fmy2zhjul1fj"
    },
    {
      "id": "ot-onb-not-4",
      "shape": "mcq",
      "tags": [
        "cohort",
        "discriminate"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is NOT a valid way to locate an app's Aha Moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Choosing the last screen of the onboarding tutorial",
          "short": "Pick the last onboarding tutorial screen"
        },
        {
          "modality": "text",
          "value": "Finding behaviors that predict 30-day retention",
          "short": "Behaviors predicting 30-day retention"
        },
        {
          "modality": "text",
          "value": "Examining the early actions of users who stayed active",
          "short": "Early actions of users who stayed"
        },
        {
          "modality": "text",
          "value": "Analyzing which early actions correlate with long-term retention",
          "short": "Actions correlating with retention"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Aha Moment is located empirically from cohort data, not by picking a tutorial screen — finishing a tutorial is not the Aha Moment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "15sl47t16kp1uf"
    },
    {
      "id": "ot-push-role-1",
      "shape": "mcq",
      "tags": [
        "push",
        "definition"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is a push notification's primary role?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The primary channel for reactivating users who left the habit loop",
          "short": "Reactivate lapsed users"
        },
        {
          "modality": "text",
          "value": "A paid user-acquisition channel",
          "short": "Paid user-acquisition channel"
        },
        {
          "modality": "text",
          "value": "A required step in the onboarding walkthrough",
          "short": "Required onboarding step"
        },
        {
          "modality": "text",
          "value": "The Investment stage of the Hook Model",
          "short": "Hook Model's Investment stage"
        }
      ],
      "correctIndex": 0,
      "explanation": "Push is the main re-engagement channel for pulling lapsed users back. Investment is a separate Hook phase, not the push definition.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1psluzy11v2l7a"
    },
    {
      "id": "ot-push-timing-2",
      "shape": "mcq",
      "tags": [
        "push",
        "timing"
      ],
      "prompt": {
        "modality": "text",
        "value": "The timing rule says push notifications should arrive when?"
      },
      "options": [
        {
          "modality": "text",
          "value": "As often as possible to stay top of mind"
        },
        {
          "modality": "text",
          "value": "At moments the user has historically opened the app"
        },
        {
          "modality": "text",
          "value": "Only at midnight to avoid daytime noise"
        },
        {
          "modality": "text",
          "value": "At the same fixed interval every day"
        }
      ],
      "correctIndex": 1,
      "explanation": "Notifications land better at the user's historical open times. A fixed broadcast interval regardless of context is exactly what NOT to do.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1cflw59104n7w7"
    },
    {
      "id": "ot-push-personal-3",
      "shape": "mcq",
      "tags": [
        "push",
        "personalization"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why does personalized push copy (name and behavioral history) outperform generic copy?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It removes any need for good timing"
        },
        {
          "modality": "text",
          "value": "It signals the app is paying attention to the user"
        },
        {
          "modality": "text",
          "value": "It is cheaper to send at scale"
        },
        {
          "modality": "text",
          "value": "It bypasses app-store notification rules"
        }
      ],
      "correctIndex": 1,
      "explanation": "Referencing the user's streak, last action, or goal signals attention, which significantly beats generic copy. It does not replace the timing rule.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ewmt86rbwtoy"
    },
    {
      "id": "ot-push-fomo-4",
      "shape": "mcq",
      "tags": [
        "push",
        "fomo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which push copy best uses the curiosity / FOMO gap?"
      },
      "options": [
        {
          "modality": "text",
          "value": "'A new update is available'"
        },
        {
          "modality": "text",
          "value": "'Open the app'"
        },
        {
          "modality": "text",
          "value": "'Your streak is at risk'"
        },
        {
          "modality": "text",
          "value": "'Thanks for installing our app'"
        }
      ],
      "correctIndex": 2,
      "explanation": "Withholding just enough ('Your streak is at risk') creates a curiosity gap and mild FOMO that motivates a tap. 'Open the app' resolves nothing.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "kb746i1cc9tx2"
    },
    {
      "id": "ot-inv-what-1",
      "shape": "mcq",
      "tags": [
        "investment",
        "hook-model"
      ],
      "prompt": {
        "modality": "text",
        "value": "In the Hook Model's Investment stage, what do users put into the product?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A single push-notification opt-in"
        },
        {
          "modality": "text",
          "value": "A one-time survey response"
        },
        {
          "modality": "text",
          "value": "Data, content, social connections, and reputation"
        },
        {
          "modality": "text",
          "value": "Money for a subscription only"
        }
      ],
      "correctIndex": 2,
      "explanation": "Investment is the fourth Hook stage where users deposit data, content, connections, and reputation, making the product more valuable next use.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "hplli3z711u9"
    },
    {
      "id": "ot-inv-linkedin-2",
      "shape": "mcq",
      "tags": [
        "linkedin",
        "investment"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is LinkedIn's investment type?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Professional reputation score"
        },
        {
          "modality": "text",
          "value": "Streak count"
        },
        {
          "modality": "text",
          "value": "Follow 30 accounts"
        },
        {
          "modality": "text",
          "value": "7 friends in 10 days"
        }
      ],
      "correctIndex": 0,
      "explanation": "LinkedIn's investment is the professional reputation a user builds. Streak count is Duolingo's investment, not LinkedIn's.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "7ttil5xgao2v"
    },
    {
      "id": "ot-inv-duolingo-3",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "investment"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is Duolingo's investment type?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Streak count"
        },
        {
          "modality": "text",
          "value": "Follower count"
        },
        {
          "modality": "text",
          "value": "A friend graph"
        },
        {
          "modality": "text",
          "value": "Professional reputation score"
        }
      ],
      "correctIndex": 0,
      "explanation": "Duolingo's investment is the streak count users accumulate. Professional reputation is LinkedIn's investment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1vbtwtu1oh1s3m"
    },
    {
      "id": "ot-inv-durable-4",
      "shape": "mcq",
      "tags": [
        "investment",
        "switching-cost"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why is Investment considered retention's most durable stage?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It happens before the user reaches the Aha Moment",
          "short": "Happens before the Aha Moment"
        },
        {
          "modality": "text",
          "value": "It sends the highest volume of notifications",
          "short": "Sends the most notifications"
        },
        {
          "modality": "text",
          "value": "It lowers the cost of paid acquisition",
          "short": "Lowers paid acquisition cost"
        },
        {
          "modality": "text",
          "value": "Each investment makes the product more valuable next use and raises switching costs",
          "short": "Compounds value, raises lock-in"
        }
      ],
      "correctIndex": 3,
      "explanation": "Stored investment compounds value and raises switching costs, making it hard to leave — that durability is the point of the stage.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "12ud8kklhg83c"
    },
    {
      "id": "ot-inv-effect-5",
      "shape": "mcq",
      "tags": [
        "investment",
        "endowment"
      ],
      "prompt": {
        "modality": "text",
        "value": "Investment raises switching costs primarily through which psychological effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The network effect"
        },
        {
          "modality": "text",
          "value": "The curiosity gap"
        },
        {
          "modality": "text",
          "value": "The recency effect"
        },
        {
          "modality": "text",
          "value": "The endowment effect"
        }
      ],
      "correctIndex": 3,
      "explanation": "The endowment effect makes users value what they have put in, raising switching costs. The curiosity gap belongs to push notifications.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "l6k3j4tkysko"
    },
    {
      "id": "ot-coh-day1-1",
      "shape": "mcq",
      "tags": [
        "cohort",
        "benchmarks"
      ],
      "prompt": {
        "modality": "text",
        "value": "The average mobile app Day 1 retention (high end of benchmark) is roughly what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "30%"
        },
        {
          "modality": "text",
          "value": "15%"
        },
        {
          "modality": "text",
          "value": "50%"
        },
        {
          "modality": "text",
          "value": "8%"
        }
      ],
      "correctIndex": 0,
      "explanation": "Day 1 retention tops out around 30%. 15% is the Day 7 figure and 8% is the Day 30 figure.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1sao01e1iymrjq"
    },
    {
      "id": "ot-coh-day7-2",
      "shape": "mcq",
      "tags": [
        "cohort",
        "benchmarks"
      ],
      "prompt": {
        "modality": "text",
        "value": "The average mobile app Day 7 retention (high end of benchmark) is roughly what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "25%"
        },
        {
          "modality": "text",
          "value": "15%"
        },
        {
          "modality": "text",
          "value": "30%"
        },
        {
          "modality": "text",
          "value": "8%"
        }
      ],
      "correctIndex": 1,
      "explanation": "Day 7 retention is about 15%, sitting between the ~30% Day 1 figure and the ~8% Day 30 figure.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1o8yl2r18c9zdp"
    },
    {
      "id": "ot-coh-day30-3",
      "shape": "mcq",
      "tags": [
        "cohort",
        "benchmarks"
      ],
      "prompt": {
        "modality": "text",
        "value": "The average mobile app Day 30 retention (high end of benchmark) is roughly what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "8%"
        },
        {
          "modality": "text",
          "value": "30%"
        },
        {
          "modality": "text",
          "value": "3%"
        },
        {
          "modality": "text",
          "value": "15%"
        }
      ],
      "correctIndex": 0,
      "explanation": "Day 30 retention is around 8%, the lowest of the three benchmarks (Day 1 ~30%, Day 7 ~15%).",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1sn6s4y1rstvqm"
    },
    {
      "id": "ot-coh-rank-4",
      "shape": "mcq",
      "tags": [
        "cohort",
        "benchmarks"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which correctly ranks the benchmark retention figures from highest to lowest?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Day 1 30% > Day 7 15% > Day 30 8%"
        },
        {
          "modality": "text",
          "value": "Day 1 8% > Day 7 30% > Day 30 15%"
        },
        {
          "modality": "text",
          "value": "Day 1 15% > Day 7 8% > Day 30 30%"
        },
        {
          "modality": "text",
          "value": "Day 1 30% > Day 7 8% > Day 30 15%"
        }
      ],
      "correctIndex": 0,
      "explanation": "Retention decays over time: Day 1 ~30%, Day 7 ~15%, Day 30 ~8%. The other orderings scramble those values.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "199sqe71jhkbzt"
    },
    {
      "id": "ot-coh-ltv-5",
      "shape": "mcq",
      "tags": [
        "ltv",
        "retention"
      ],
      "prompt": {
        "modality": "text",
        "value": "A 5% improvement in retention can raise LTV by 25–95%. What does this show about retention?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It matters less than lowering CAC"
        },
        {
          "modality": "text",
          "value": "It is far more capital-efficient than paid acquisition"
        },
        {
          "modality": "text",
          "value": "It only influences Day 1 numbers"
        },
        {
          "modality": "text",
          "value": "It has no effect on lifetime value"
        }
      ],
      "correctIndex": 1,
      "explanation": "A small retention gain yields a large LTV uplift, making retention far more capital-efficient than paid acquisition.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "af6jke69619y"
    },
    {
      "id": "ot-core-loop-jobs",
      "shape": "mcq",
      "tags": [
        "core-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is NOT one of the four jobs a well-designed core loop must do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Complete in 2–5 minutes"
        },
        {
          "modality": "text",
          "value": "End with a variable reward"
        },
        {
          "modality": "text",
          "value": "Require an in-app purchase to complete"
        },
        {
          "modality": "text",
          "value": "Set up the next session via an open loop"
        }
      ],
      "correctIndex": 2,
      "explanation": "The four jobs are: completes in 2–5 min, gives feedback under the Doherty Threshold, ends with a variable reward, and sets up the next session. Requiring a purchase is not one of them.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1p5t8ei13wxdne"
    },
    {
      "id": "ot-core-loop-doherty-ms",
      "shape": "mcq",
      "tags": [
        "doherty-threshold"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Doherty Threshold — below which feedback feels instantaneous — is what response time?"
      },
      "options": [
        {
          "modality": "text",
          "value": "400 ms"
        },
        {
          "modality": "text",
          "value": "1000 ms"
        },
        {
          "modality": "text",
          "value": "100 ms"
        },
        {
          "modality": "text",
          "value": "250 ms"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Doherty Threshold is the sub-400 ms ceiling below which a system feels instantaneous and keeps the user productively engaged.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "17c5phc1ntl60o"
    },
    {
      "id": "ot-core-loop-minutes",
      "shape": "mcq",
      "tags": [
        "core-loop"
      ],
      "prompt": {
        "modality": "text",
        "value": "To fit a micro-session, how long should a core loop take to complete?"
      },
      "options": [
        {
          "modality": "text",
          "value": "30–60 seconds"
        },
        {
          "modality": "text",
          "value": "10–15 minutes"
        },
        {
          "modality": "text",
          "value": "20–30 minutes"
        },
        {
          "modality": "text",
          "value": "2–5 minutes"
        }
      ],
      "correctIndex": 3,
      "explanation": "A micro-session-compatible loop completes in 2–5 minutes, fitting between meetings or on a commute.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "kp7aw91lme6wn"
    },
    {
      "id": "ot-core-loop-open-loop",
      "shape": "mcq",
      "tags": [
        "core-loop",
        "zeigarnik"
      ],
      "prompt": {
        "modality": "text",
        "value": "A core loop that ends with a 'come back tomorrow for your result' hook is applying which principle?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Doherty Threshold"
        },
        {
          "modality": "text",
          "value": "Zero blank slate"
        },
        {
          "modality": "text",
          "value": "Progressive disclosure"
        },
        {
          "modality": "text",
          "value": "Zeigarnik open loop"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Zeigarnik effect keeps incomplete tasks in working memory; ending on an open loop leaves a cognitive itch the user returns to close.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "59yopl1roscr3"
    },
    {
      "id": "ot-notif-habituate",
      "shape": "mcq",
      "tags": [
        "notifications"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why is firing a notification at 9 AM every day, regardless of user state, the weakest signal?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Servers cannot reliably send scheduled notifications",
          "short": "Servers can't send scheduled ones"
        },
        {
          "modality": "text",
          "value": "The brain habituates to it within a week and starts ignoring it",
          "short": "Brain habituates and ignores it"
        },
        {
          "modality": "text",
          "value": "Users must manually approve each daily send",
          "short": "Users must approve each send"
        },
        {
          "modality": "text",
          "value": "App stores ban fixed-time notifications",
          "short": "App stores ban fixed-time pushes"
        }
      ],
      "correctIndex": 1,
      "explanation": "A fixed clock-based signal is predictable, so the brain habituates and tunes it out within about a week. State-triggered notifications stay meaningful.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "rb4fvxoxnwcv"
    },
    {
      "id": "ot-notif-personalized",
      "shape": "mcq",
      "tags": [
        "notifications",
        "personalization"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which notification best references a user's specific investment in the app?"
      },
      "options": [
        {
          "modality": "text",
          "value": "New features are now available"
        },
        {
          "modality": "text",
          "value": "Don't forget to practice today"
        },
        {
          "modality": "text",
          "value": "Your 14-day streak is at risk"
        },
        {
          "modality": "text",
          "value": "Practice makes perfect!"
        }
      ],
      "correctIndex": 2,
      "explanation": "A personalized notification citing the user's own streak outperforms a generic reminder because it references their specific investment.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1mvec4j7cgekp"
    },
    {
      "id": "ot-notif-trigger",
      "shape": "mcq",
      "tags": [
        "notifications"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the guide, an effective notification should fire when the user…"
      },
      "options": [
        {
          "modality": "text",
          "value": "Installs a competing app",
          "short": "Installs a competing app"
        },
        {
          "modality": "text",
          "value": "Breaks their streak pattern or crosses a meaningful threshold",
          "short": "Breaks a streak or hits a threshold"
        },
        {
          "modality": "text",
          "value": "Reaches exactly 9 AM local time",
          "short": "Reaches 9 AM local time exactly"
        },
        {
          "modality": "text",
          "value": "Has been inactive for precisely 24 hours",
          "short": "Inactive for exactly 24 hours"
        }
      ],
      "correctIndex": 1,
      "explanation": "Contextually triggered notifications fire on behaviorally meaningful state changes — like breaking a streak pattern — not on the clock.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1l85ibe10wl5du"
    },
    {
      "id": "ot-notif-social",
      "shape": "mcq",
      "tags": [
        "notifications",
        "social"
      ],
      "prompt": {
        "modality": "text",
        "value": "A notification reading 'Alex just passed your score' layers in which additional force?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Manufactured scarcity"
        },
        {
          "modality": "text",
          "value": "Competitive loss aversion"
        },
        {
          "modality": "text",
          "value": "Progressive disclosure"
        },
        {
          "modality": "text",
          "value": "The Doherty Threshold"
        }
      ],
      "correctIndex": 1,
      "explanation": "Social triggers add competitive loss aversion on top of a personalized state signal, giving the user a rival-driven reason to return.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ddcgwv1hvdw8l"
    },
    {
      "id": "ot-notif-rank",
      "shape": "mcq",
      "tags": [
        "notifications"
      ],
      "prompt": {
        "modality": "text",
        "value": "Rank these notification strategies from weakest to strongest signal."
      },
      "options": [
        {
          "modality": "text",
          "value": "Fixed daily clock alert → social 'a friend passed you' trigger → personalized streak alert",
          "short": "Clock → Social → Streak"
        },
        {
          "modality": "text",
          "value": "Social 'a friend passed you' trigger → personalized streak alert → fixed daily clock alert",
          "short": "Social → Streak → Clock"
        },
        {
          "modality": "text",
          "value": "Fixed daily clock alert → personalized streak alert → social 'a friend passed you' trigger",
          "short": "Clock → Streak → Social"
        },
        {
          "modality": "text",
          "value": "Personalized streak alert → fixed daily clock alert → social 'a friend passed you' trigger",
          "short": "Streak → Clock → Social"
        }
      ],
      "correctIndex": 2,
      "explanation": "The guide calls a fixed clock signal the weakest (the brain habituates), a personalized state alert stronger, and a social trigger strongest — it layers competitive loss aversion on top of personalization.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1to5lh68wtmyq"
    },
    {
      "id": "ot-onbo-sequence-order",
      "shape": "mcq",
      "tags": [
        "social-sequencing"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the correct order for introducing social mechanics in onboarding?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Asynchronous social proof → cooperative features → synchronous competition",
          "short": "Async proof → cooperate → sync compete"
        },
        {
          "modality": "text",
          "value": "Synchronous competition → cooperative features → asynchronous social proof",
          "short": "Sync compete → cooperate → async proof"
        },
        {
          "modality": "text",
          "value": "Asynchronous social proof → synchronous competition → cooperative features",
          "short": "Async proof → sync compete → cooperate"
        },
        {
          "modality": "text",
          "value": "Cooperative features → asynchronous social proof → synchronous competition",
          "short": "Cooperate → async proof → sync compete"
        }
      ],
      "correctIndex": 0,
      "explanation": "Async social proof needs no mutual timing so it comes first; cooperation once the user has a stake; synchronous competition last, since forcing real-time play too early destroys sessions.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "16h6a2g156o5g"
    },
    {
      "id": "ot-onbo-progressive",
      "shape": "mcq",
      "tags": [
        "onboarding",
        "progressive-disclosure"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does progressive disclosure mean as an onboarding principle?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Showing every feature upfront so users learn all capabilities",
          "short": "Show every feature upfront"
        },
        {
          "modality": "text",
          "value": "Revealing complexity gradually rather than dumping every feature at once",
          "short": "Reveal complexity gradually"
        },
        {
          "modality": "text",
          "value": "Delaying all features until the user pays",
          "short": "Delay all features until they pay"
        },
        {
          "modality": "text",
          "value": "Pre-filling the screen with seeded example content",
          "short": "Pre-fill with seeded content"
        }
      ],
      "correctIndex": 1,
      "explanation": "Progressive disclosure reveals complexity gradually; new users lack context to evaluate unseen features, so showing all at once creates overwhelm, not excitement.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1dikegd16z78h3"
    },
    {
      "id": "ot-onbo-blank-slate",
      "shape": "mcq",
      "tags": [
        "onboarding",
        "zero-blank-slate"
      ],
      "prompt": {
        "modality": "text",
        "value": "The zero blank slate principle exists to solve which problem?"
      },
      "options": [
        {
          "modality": "text",
          "value": "An empty screen signals that the app is worthless"
        },
        {
          "modality": "text",
          "value": "Users forget which features exist"
        },
        {
          "modality": "text",
          "value": "Real-time matchmaking needs many users"
        },
        {
          "modality": "text",
          "value": "Notifications habituate over time"
        }
      ],
      "correctIndex": 0,
      "explanation": "Zero blank slate pre-populates a new user's experience with suggested friends or seeded content, because an empty screen communicates that nobody uses the app.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1izqd2711e9jfx"
    },
    {
      "id": "ot-onbo-not-async",
      "shape": "mcq",
      "tags": [
        "social-sequencing"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which is NOT a form of asynchronous social proof?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A visible activity feed"
        },
        {
          "modality": "text",
          "value": "A leaderboard"
        },
        {
          "modality": "text",
          "value": "A live real-time battle against a matched opponent"
        },
        {
          "modality": "text",
          "value": "A follower count"
        }
      ],
      "correctIndex": 2,
      "explanation": "Async social proof (leaderboards, follower counts, activity feeds) needs no mutual timing. A live real-time battle is synchronous competition, which belongs last.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "4bfoctrdxnmr"
    },
    {
      "id": "ot-ethics-fogg-want",
      "shape": "mcq",
      "tags": [
        "ethics",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does Fogg's first maxim tell designers to do?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Increase motivation for goals users don't hold"
        },
        {
          "modality": "text",
          "value": "Manufacture new wants users didn't have"
        },
        {
          "modality": "text",
          "value": "Help people do what they already want to do"
        },
        {
          "modality": "text",
          "value": "Add friction to keep users from leaving"
        }
      ],
      "correctIndex": 2,
      "explanation": "Fogg's first maxim — help people do what they already want to do — holds that lasting behavior change requires motivation alignment, not pushing users toward goals they don't hold.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "11ukg2xrzhuaz"
    },
    {
      "id": "ot-ethics-simplicity",
      "shape": "mcq",
      "tags": [
        "ethics",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "Per Fogg's companion maxim, what changes behavior more reliably than raising motivation?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Sending more frequent reminders"
        },
        {
          "modality": "text",
          "value": "Applying social pressure"
        },
        {
          "modality": "text",
          "value": "Removing friction from a desired action (simplicity)"
        },
        {
          "modality": "text",
          "value": "Adding more variable rewards"
        }
      ],
      "correctIndex": 2,
      "explanation": "Fogg's maxim 'simplicity changes behavior' says removing friction from a desired action beats trying to increase motivation for a reluctant one.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ovpy7a4xjzvq"
    },
    {
      "id": "ot-ethics-humane",
      "shape": "mcq",
      "tags": [
        "ethics",
        "humane-design"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which trio are the practical humane outputs of designing from Fogg's maxims?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Infinite scroll, autoplay, and streak-loss anxiety",
          "short": "Infinite scroll, autoplay, streak anxiety"
        },
        {
          "modality": "text",
          "value": "Streak freezes, gentle session-end cues, and notification-frequency controls",
          "short": "Streak freezes, end cues, notif controls"
        },
        {
          "modality": "text",
          "value": "Fixed 9 AM pushes, variable rewards, and open loops",
          "short": "9 AM pushes, variable rewards, open loops"
        },
        {
          "modality": "text",
          "value": "Manufactured scarcity, shaming copy, and hard-to-find cancellation",
          "short": "Scarcity, shaming copy, hidden cancel"
        }
      ],
      "correctIndex": 1,
      "explanation": "Fogg's maxims yield humane tools: streak freezes, gentle session-end cues, and user controls over notification frequency. The other trios are dark patterns or clock-based nags.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1k96iwxoxmu4n"
    },
    {
      "id": "ot-ethics-shaming",
      "shape": "mcq",
      "tags": [
        "ethics",
        "dark-pattern"
      ],
      "prompt": {
        "modality": "text",
        "value": "A decline button labeled 'No, I don't want to be smart' is an example of what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Fogg's first maxim"
        },
        {
          "modality": "text",
          "value": "A Zeigarnik open loop"
        },
        {
          "modality": "text",
          "value": "Progressive disclosure"
        },
        {
          "modality": "text",
          "value": "Shaming copy, a dark pattern"
        }
      ],
      "correctIndex": 3,
      "explanation": "Guilt-inducing decline labels are shaming copy — a dark pattern that works against the user's goals and erodes long-term trust.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1yibuff187d1sp"
    },
    {
      "id": "ot-ppte-acronym",
      "shape": "mcq",
      "tags": [
        "ppte"
      ],
      "prompt": {
        "modality": "text",
        "value": "The PPTE context framework stands for which four axes?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Places, People, Tools, Emotions"
        },
        {
          "modality": "text",
          "value": "People, Places, Things, Events"
        },
        {
          "modality": "text",
          "value": "People, Products, Time, Engagement"
        },
        {
          "modality": "text",
          "value": "Personas, Places, Triggers, Events"
        }
      ],
      "correctIndex": 1,
      "explanation": "PPTE organizes contextual design levers into People, Places, Things, and Events — each a distinct design question, not an afterthought.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1omaglj11r7unh"
    },
    {
      "id": "ot-ppte-people",
      "shape": "mcq",
      "tags": [
        "ppte",
        "people"
      ],
      "prompt": {
        "modality": "text",
        "value": "In PPTE, the 'People' axis asks which question?"
      },
      "options": [
        {
          "modality": "text",
          "value": "What artifacts does the user accumulate?",
          "short": "What artifacts does the user amass?"
        },
        {
          "modality": "text",
          "value": "Who is in the user's social graph, and how does the app surface them?",
          "short": "Who's in the user's social graph?"
        },
        {
          "modality": "text",
          "value": "Where is the user when they engage?",
          "short": "Where is the user when engaging?"
        },
        {
          "modality": "text",
          "value": "What recurring real-world moments re-engage the user?",
          "short": "What recurring moments re-engage them?"
        }
      ],
      "correctIndex": 1,
      "explanation": "People concerns the social graph — creating mutual accountability, competitive stakes, and belonging without any new content.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "xz192u1nfougi"
    },
    {
      "id": "ot-ppte-places",
      "shape": "mcq",
      "tags": [
        "ppte",
        "places"
      ],
      "prompt": {
        "modality": "text",
        "value": "The 'Places' axis of PPTE is concerned with…"
      },
      "options": [
        {
          "modality": "text",
          "value": "Where the user is (physical and cognitive context) when they engage",
          "short": "Where the user is when they engage"
        },
        {
          "modality": "text",
          "value": "Badges and streaks the user has earned",
          "short": "Badges and streaks earned"
        },
        {
          "modality": "text",
          "value": "Holidays and seasonal spikes",
          "short": "Holidays and seasonal spikes"
        },
        {
          "modality": "text",
          "value": "Who is in the user's social graph",
          "short": "Who's in the user's social graph"
        }
      ],
      "correctIndex": 0,
      "explanation": "Places asks where the user engages; a commute app behaves differently from a bedtime app, so design for the actual context of use, not a generic session.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "9gmtny37zn1u"
    },
    {
      "id": "ot-ppte-events",
      "shape": "mcq",
      "tags": [
        "ppte",
        "events"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's Q1 DAU spike — its largest quarterly gain — is attributed in part to which Events lever?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A major redesign of the lesson interface"
        },
        {
          "modality": "text",
          "value": "The launch of a new subscription tier"
        },
        {
          "modality": "text",
          "value": "A viral referral marketing campaign"
        },
        {
          "modality": "text",
          "value": "New Year's resolution-makers picking up language learning"
        }
      ],
      "correctIndex": 3,
      "explanation": "Events are recurring cultural moments that open re-engagement windows; New Year's resolutions drove Duolingo's Q1 spike, its biggest quarterly gain ever.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "63dzfnm4lzo5"
    },
    {
      "id": "ot-duo-mech-1",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "loss-aversion",
        "leagues"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's league demotion threat works because of which psychological lever?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Reciprocity — users feel obliged to repay the app",
          "short": "Reciprocity — repay the app"
        },
        {
          "modality": "text",
          "value": "Social proof — users copy what top-ranked players do",
          "short": "Social proof — copy top players"
        },
        {
          "modality": "text",
          "value": "Anchoring — the first XP number sets expectations",
          "short": "Anchoring — first XP number sets it"
        },
        {
          "modality": "text",
          "value": "Loss aversion — the fear of dropping a tier outweighs the desire to climb",
          "short": "Loss aversion — fear of demotion"
        }
      ],
      "correctIndex": 3,
      "explanation": "The demotion threat exploits loss aversion: users near the cutoff earn far more XP than those safely mid-tier because the dread of dropping outweighs the pull of advancing.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1oxspxl1efaozb"
    },
    {
      "id": "ot-duo-mech-2",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "variable-xp",
        "reinforcement"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's variable XP (bonus rounds, surprise multipliers) is an example of which reinforcement schedule?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Variable-ratio reinforcement"
        },
        {
          "modality": "text",
          "value": "Continuous reinforcement"
        },
        {
          "modality": "text",
          "value": "Fixed-ratio reinforcement"
        },
        {
          "modality": "text",
          "value": "Fixed-interval reinforcement"
        }
      ],
      "correctIndex": 0,
      "explanation": "Unpredictable payouts are variable-ratio reinforcement, which produces the most durable behavior — you won't know if the next lesson yields double XP or nothing until you finish it.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1nw5c3ne317nd"
    },
    {
      "id": "ot-duo-mech-3",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "ai",
        "content-scaling"
      ],
      "prompt": {
        "modality": "text",
        "value": "How did generative AI change Duolingo's course production timeline?"
      },
      "options": [
        {
          "modality": "text",
          "value": "It doubled the length of each course",
          "short": "Doubled each course's length"
        },
        {
          "modality": "text",
          "value": "It slowed launches to ensure higher quality",
          "short": "Slowed launches for quality"
        },
        {
          "modality": "text",
          "value": "It eliminated the need for human course designers entirely",
          "short": "Removed human course designers"
        },
        {
          "modality": "text",
          "value": "It compressed course-building from 12+ months each down to weeks",
          "short": "Cut course-building months to weeks"
        }
      ],
      "correctIndex": 3,
      "explanation": "AI collapsed production from 12+ months per course down to weeks, enabling 148 new courses in under a year — the content engine now scales as fast as the engagement model.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "11ep71scfdocw"
    },
    {
      "id": "ot-duo-num-1",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "dau-mau",
        "metrics"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is Duolingo's DAU/MAU ratio, the metric analysts credit to its retention mechanics?"
      },
      "options": [
        {
          "modality": "text",
          "value": "20%"
        },
        {
          "modality": "text",
          "value": "55%"
        },
        {
          "modality": "text",
          "value": "74%"
        },
        {
          "modality": "text",
          "value": "36%"
        }
      ],
      "correctIndex": 3,
      "explanation": "Duolingo's DAU/MAU ratio reached 36%, roughly double the 20% industry average. 55% is its day-over-day retention; 74 million was FarmVille's peak MAU.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1p5hm461efvr3y"
    },
    {
      "id": "ot-duo-num-2",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "industry-average",
        "dau-mau"
      ],
      "prompt": {
        "modality": "text",
        "value": "Duolingo's 36% DAU/MAU ratio is roughly double what industry average?"
      },
      "options": [
        {
          "modality": "text",
          "value": "30%"
        },
        {
          "modality": "text",
          "value": "20%"
        },
        {
          "modality": "text",
          "value": "55%"
        },
        {
          "modality": "text",
          "value": "10%"
        }
      ],
      "correctIndex": 1,
      "explanation": "The industry-average DAU/MAU ratio is about 20%, so Duolingo's 36% is roughly double it. 55% is Duolingo's own day-over-day retention figure.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "2nrlr74fm83d"
    },
    {
      "id": "ot-duo-num-3",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "retention",
        "metrics"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is Duolingo's day-over-day retention of its daily active users?"
      },
      "options": [
        {
          "modality": "text",
          "value": "20%"
        },
        {
          "modality": "text",
          "value": "55%"
        },
        {
          "modality": "text",
          "value": "36%"
        },
        {
          "modality": "text",
          "value": "22%"
        }
      ],
      "correctIndex": 1,
      "explanation": "Day-over-day retention of daily active users sits at 55%. 36% is the DAU/MAU ratio and 20% is the industry-average DAU/MAU.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ao8vd3bsk429"
    },
    {
      "id": "ot-duo-num-4",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "market-cap",
        "growth"
      ],
      "prompt": {
        "modality": "text",
        "value": "How did Duolingo's market cap change from its IPO to Q1 2025?"
      },
      "options": [
        {
          "modality": "text",
          "value": "From $5 billion to $12 billion"
        },
        {
          "modality": "text",
          "value": "From $2 billion to $10 billion"
        },
        {
          "modality": "text",
          "value": "From $10 billion to $22 billion"
        },
        {
          "modality": "text",
          "value": "From $5 billion to $22 billion"
        }
      ],
      "correctIndex": 3,
      "explanation": "Duolingo's market cap grew from $5 billion at IPO to $22 billion by Q1 2025.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "vl63ta1sfccoe"
    },
    {
      "id": "ot-duo-num-5",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "metrics",
        "distractor-check"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which figure is NOT one of Duolingo's reported metrics?"
      },
      "options": [
        {
          "modality": "text",
          "value": "An 80% DAU/MAU ratio"
        },
        {
          "modality": "text",
          "value": "A 55% day-over-day retention rate"
        },
        {
          "modality": "text",
          "value": "A $22 billion market cap by Q1 2025"
        },
        {
          "modality": "text",
          "value": "A 36% DAU/MAU ratio"
        }
      ],
      "correctIndex": 0,
      "explanation": "Duolingo's DAU/MAU ratio is 36%, not 80%. The 55% retention and $22 billion Q1 2025 market cap are both real reported figures.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "li76zn1x1lij9"
    },
    {
      "id": "ot-tt-ig-1",
      "shape": "mcq",
      "tags": [
        "tiktok",
        "interest-graph"
      ],
      "prompt": {
        "modality": "text",
        "value": "TikTok's For You Page is built around which organizing principle?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The interest graph — what you consume"
        },
        {
          "modality": "text",
          "value": "The social graph — who you know"
        },
        {
          "modality": "text",
          "value": "The follower graph — who follows you"
        },
        {
          "modality": "text",
          "value": "The location graph — where you are"
        }
      ],
      "correctIndex": 0,
      "explanation": "TikTok organizes content around the interest graph (what you consume), not the social graph. A follower-less new account gets a fully personalized feed within hours from behavioral signals alone.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14nwo171vdnhet"
    },
    {
      "id": "ot-tt-ig-2",
      "shape": "mcq",
      "tags": [
        "instagram",
        "social-graph",
        "moat"
      ],
      "prompt": {
        "modality": "text",
        "value": "Research cited in the Instagram case found users value which connections at a qualitatively different level?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Connections with the highest-follower accounts"
        },
        {
          "modality": "text",
          "value": "Connections with family and close friends"
        },
        {
          "modality": "text",
          "value": "Connections with creators discovered algorithmically"
        },
        {
          "modality": "text",
          "value": "Connections with brands and advertisers"
        }
      ],
      "correctIndex": 1,
      "explanation": "Research found users value family and close-friend connections at a qualitatively different level than content-only ones — the social graph Instagram's moat rests on, which TikTok's interest graph can't replicate.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "11ts456498jyu"
    },
    {
      "id": "ot-tt-ig-3",
      "shape": "mcq",
      "tags": [
        "instagram",
        "social-graph",
        "moat"
      ],
      "prompt": {
        "modality": "text",
        "value": "Why did Instagram fail to close the gap with TikTok despite matching content quality with Reels?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The social graph — years of accumulated relationships — cannot be ported",
          "short": "Social graph can't be ported"
        },
        {
          "modality": "text",
          "value": "It did not weight completion rate",
          "short": "Didn't weight completion rate"
        },
        {
          "modality": "text",
          "value": "Its recommendation algorithm was technically inferior",
          "short": "Its algorithm was inferior"
        },
        {
          "modality": "text",
          "value": "It had far fewer monthly users to learn from",
          "short": "Far fewer users to learn from"
        }
      ],
      "correctIndex": 0,
      "explanation": "Instagram's moat is the social graph: users value family and close-friend connections at a qualitatively different level than content-only ones, and that graph can't be copied even when content quality is matched.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "xzsmehkfzm2n"
    },
    {
      "id": "ot-tt-ig-4",
      "shape": "mcq",
      "tags": [
        "tiktok",
        "signals",
        "ranking"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which two signals does TikTok's algorithm weight most heavily?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Follows and re-watches"
        },
        {
          "modality": "text",
          "value": "Comments and posting recency"
        },
        {
          "modality": "text",
          "value": "Likes and follower count"
        },
        {
          "modality": "text",
          "value": "Completion and sharing"
        }
      ],
      "correctIndex": 3,
      "explanation": "Among completion, shares, comments, follows, and re-watches, completion and sharing rank highest — reflecting revealed preference rather than social identity.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "eghm8js0nuo1"
    },
    {
      "id": "ot-snap-1",
      "shape": "mcq",
      "tags": [
        "snapchat",
        "ephemeral",
        "behavioral"
      ],
      "prompt": {
        "modality": "text",
        "value": "How does the case study characterize Snapchat's ephemeral content?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Primarily behavioral design, not a privacy feature"
        },
        {
          "modality": "text",
          "value": "Purely a privacy feature with no behavioral aim"
        },
        {
          "modality": "text",
          "value": "A monetization feature for ads"
        },
        {
          "modality": "text",
          "value": "A moderation tool to limit harmful posts"
        }
      ],
      "correctIndex": 0,
      "explanation": "Ephemeral content is often described as privacy, but it was always primarily behavioral: disappearing posts create FOMO and lower the anxiety of sharing imperfect content, making posting cheap and frequent.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ipg08516gyasf"
    },
    {
      "id": "ot-snap-2",
      "shape": "mcq",
      "tags": [
        "snapchat",
        "group-streaks",
        "loss-aversion"
      ],
      "prompt": {
        "modality": "text",
        "value": "What did Snapchat's September 2025 Group Streaks change about the streak mechanic?"
      },
      "options": [
        {
          "modality": "text",
          "value": "They made streaks purely individual again",
          "short": "Made streaks purely individual"
        },
        {
          "modality": "text",
          "value": "They removed streaks to reduce user anxiety",
          "short": "Removed streaks to cut anxiety"
        },
        {
          "modality": "text",
          "value": "They capped streaks at a fixed number of days",
          "short": "Capped streaks at fixed days"
        },
        {
          "modality": "text",
          "value": "They extended the obligation to multi-person chains, multiplying social pressure",
          "short": "Extended streaks to group chains"
        }
      ],
      "correctIndex": 3,
      "explanation": "Group Streaks require most members to Snap for the collective streak to survive, so non-participation costs the group's streak — the same loss-aversion loop with a larger blast radius.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1cjnpg81rjfdpc"
    },
    {
      "id": "ot-snap-3",
      "shape": "mcq",
      "tags": [
        "snapchat",
        "streaks",
        "loss-aversion"
      ],
      "prompt": {
        "modality": "text",
        "value": "Snapchat's streak mechanic converts posting frequency into an engine driven by which lever?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Loss aversion — protecting a number, not the content"
        },
        {
          "modality": "text",
          "value": "Scarcity of storage space"
        },
        {
          "modality": "text",
          "value": "Novelty — always showing fresh content"
        },
        {
          "modality": "text",
          "value": "Social proof — mimicking popular users"
        }
      ],
      "correctIndex": 0,
      "explanation": "The streak converts frequency into a loss-aversion engine — you're protecting a number, not quality content. The daily open is the real goal.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "15l52i1xrr327"
    },
    {
      "id": "ot-snap-4",
      "shape": "mcq",
      "tags": [
        "snapchat",
        "group-streaks",
        "fomo"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which principle explains why Group Streaks increase pressure more than individual streaks?"
      },
      "options": [
        {
          "modality": "text",
          "value": "FOMO and social obligation scale with the number of relationships implicated",
          "short": "FOMO scales with relationship count"
        },
        {
          "modality": "text",
          "value": "Larger groups earn more in-app currency",
          "short": "Larger groups earn more currency"
        },
        {
          "modality": "text",
          "value": "Streaks reset faster with more participants",
          "short": "Streaks reset faster with more people"
        },
        {
          "modality": "text",
          "value": "Group members can see each other's private messages",
          "short": "Members can read private messages"
        }
      ],
      "correctIndex": 0,
      "explanation": "FOMO and social obligation scale with the number of relationships implicated, so a group streak multiplies pressure by the group's size versus a two-person individual streak.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1yimlx41e0odyo"
    },
    {
      "id": "ot-farm-1",
      "shape": "mcq",
      "tags": [
        "farmville",
        "mau",
        "metrics"
      ],
      "prompt": {
        "modality": "text",
        "value": "What was FarmVille's peak monthly active users?"
      },
      "options": [
        {
          "modality": "text",
          "value": "22 million"
        },
        {
          "modality": "text",
          "value": "36 million"
        },
        {
          "modality": "text",
          "value": "74 million"
        },
        {
          "modality": "text",
          "value": "148 million"
        }
      ],
      "correctIndex": 2,
      "explanation": "FarmVille (2009) peaked at 74 million monthly active users, the earliest mass demonstration that obligation loops could sustain engagement.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "qn2ebi36568q"
    },
    {
      "id": "ot-farm-2",
      "shape": "mcq",
      "tags": [
        "farmville",
        "gift-sending",
        "social-obligation"
      ],
      "prompt": {
        "modality": "text",
        "value": "What mechanic structurally coupled a FarmVille player's progress to other people's participation?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A shared leaderboard that reset weekly",
          "short": "Shared leaderboard reset weekly"
        },
        {
          "modality": "text",
          "value": "Ephemeral crops that vanished after viewing",
          "short": "Crops vanished after viewing"
        },
        {
          "modality": "text",
          "value": "Needing gifts from real Facebook friends to unlock crops and buildings",
          "short": "Friends' gifts needed to unlock crops"
        },
        {
          "modality": "text",
          "value": "A subscription that friends had to co-sign",
          "short": "Subscription friends had to co-sign"
        }
      ],
      "correctIndex": 2,
      "explanation": "Players needed gifts from real Facebook friends to unlock crops and buildings, and those friends needed gifts back — progress was coupled to reciprocal participation.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1dca2x41xc9rxk"
    },
    {
      "id": "ot-farm-3",
      "shape": "mcq",
      "tags": [
        "farmville",
        "obligation-loop",
        "proof"
      ],
      "prompt": {
        "modality": "text",
        "value": "What did FarmVille prove about what sustains engagement?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Only genuinely fun games can retain large audiences",
          "short": "Only fun games retain big audiences"
        },
        {
          "modality": "text",
          "value": "Reciprocal obligation loops can hold millions without the product being intrinsically rewarding",
          "short": "Obligation loops retain without fun"
        },
        {
          "modality": "text",
          "value": "Variable rewards are the sole driver of retention",
          "short": "Variable rewards are the sole driver"
        },
        {
          "modality": "text",
          "value": "Content quality always beats social mechanics",
          "short": "Content quality beats social mechanics"
        }
      ],
      "correctIndex": 1,
      "explanation": "Most players called FarmVille a chore, yet social-obligation loops and loss aversion over planted crops kept them returning — proving reciprocal mechanics can hold users without intrinsic fun.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1d809z81vtemrs"
    },
    {
      "id": "ot-farm-4",
      "shape": "mcq",
      "tags": [
        "farmville",
        "2009",
        "timeline"
      ],
      "prompt": {
        "modality": "text",
        "value": "In what year did FarmVille launch and reach its mass-engagement peak?"
      },
      "options": [
        {
          "modality": "text",
          "value": "2005"
        },
        {
          "modality": "text",
          "value": "2009"
        },
        {
          "modality": "text",
          "value": "2012"
        },
        {
          "modality": "text",
          "value": "2015"
        }
      ],
      "correctIndex": 1,
      "explanation": "FarmVille launched in 2009 and reached a peak of 74 million monthly active users, the prototype for social-obligation loops.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1dp8pwl1ur5cof"
    },
    {
      "id": "ot-farm-5",
      "shape": "mcq",
      "tags": [
        "farmville",
        "distractor-check",
        "obligation"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which statement about FarmVille is NOT supported by the case study?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Players returned mainly because the game was intrinsically fun",
          "short": "Players returned because it was fun"
        },
        {
          "modality": "text",
          "value": "It peaked at 74 million monthly active users",
          "short": "Peaked at 74M monthly active users"
        },
        {
          "modality": "text",
          "value": "Loss aversion over planted crops helped retain players",
          "short": "Loss aversion over crops retained users"
        },
        {
          "modality": "text",
          "value": "Progress depended on friends sending gifts",
          "short": "Progress needed friends' gifts"
        }
      ],
      "correctIndex": 0,
      "explanation": "The case study says most players described FarmVille as a chore; retention came from social obligation and loss aversion, not intrinsic fun. The other three statements are all supported.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1rkmc0p1isacp3"
    },
    {
      "id": "ot-founders-skinner",
      "shape": "mcq",
      "tags": [
        "skinner",
        "reinforcement"
      ],
      "prompt": {
        "modality": "text",
        "value": "Whose mid-century experiments with rats pressing levers on unpredictable schedules remain the single most cited body of work in product design?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Nir Eyal"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "B.F. Skinner"
        }
      ],
      "correctIndex": 3,
      "explanation": "B.F. Skinner's lever-pressing rats on unpredictable schedules are the most cited work in the field. Fogg and Eyal came later; Berridge worked on dopamine, not reinforcement schedules.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "jxfpxt1ykdrwb"
    },
    {
      "id": "ot-founders-eyal",
      "shape": "mcq",
      "tags": [
        "eyal",
        "hook-model"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who translated academic persuasion research into a practitioner's loop that product teams everywhere now follow?"
      },
      "options": [
        {
          "modality": "text",
          "value": "B.F. Skinner"
        },
        {
          "modality": "text",
          "value": "Daniel Kahneman"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        }
      ],
      "correctIndex": 3,
      "explanation": "Nir Eyal turned the research into the practitioner's Hook loop. Fogg did the underlying academic work at Stanford; Skinner and Kahneman are earlier scientists, not product-loop authors.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "nas5o11w61p3z"
    },
    {
      "id": "ot-founders-not-fogg",
      "shape": "mcq",
      "tags": [
        "fogg",
        "attribution"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which of the following is NOT associated with BJ Fogg?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Working at Stanford"
        },
        {
          "modality": "text",
          "value": "Proving computers can change behavior"
        },
        {
          "modality": "text",
          "value": "Creating the Hook Model loop"
        },
        {
          "modality": "text",
          "value": "Coining the term captology"
        }
      ],
      "correctIndex": 2,
      "explanation": "The Hook Model is Nir Eyal's loop, not Fogg's. Fogg coined captology, proved at Stanford that computers could change behavior, and gave the field its B=MAP formula.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1ujmlkevdtw5m"
    },
    {
      "id": "ot-founders-formula",
      "shape": "mcq",
      "tags": [
        "fogg",
        "bmap"
      ],
      "prompt": {
        "modality": "text",
        "value": "The 'formula' that gave persuasive design its shape (later expressed as B=MAP) is credited to which researcher?"
      },
      "options": [
        {
          "modality": "text",
          "value": "BJ Fogg"
        },
        {
          "modality": "text",
          "value": "B.F. Skinner"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        }
      ],
      "correctIndex": 0,
      "explanation": "BJ Fogg gave the field its formula, the Fogg Behavior Model (B=MAP). Eyal built the Hook loop, Skinner studied reinforcement, and Schultz mapped reward prediction error.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1m7tf5i1g51nre"
    },
    {
      "id": "ot-neuro-berridge",
      "shape": "mcq",
      "tags": [
        "berridge",
        "dopamine"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who split 'wanting' from 'liking,' showing dopamine is about pursuit rather than pleasure?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Daniel Kahneman"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        }
      ],
      "correctIndex": 2,
      "explanation": "Kent Berridge separated wanting from liking, arguing dopamine drives pursuit, not pleasure. Schultz mapped reward-prediction error, and Kahneman established loss aversion.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "i0hvr71an7m6d"
    },
    {
      "id": "ot-neuro-schultz",
      "shape": "mcq",
      "tags": [
        "schultz",
        "reward-prediction-error"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which neuroscientist mapped the reward-prediction-error signal that makes uncertainty so compelling?"
      },
      "options": [
        {
          "modality": "text",
          "value": "B.F. Skinner"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "Daniel Kahneman"
        }
      ],
      "correctIndex": 1,
      "explanation": "Wolfram Schultz mapped the reward-prediction-error signal. Berridge split wanting from liking, Kahneman worked on loss aversion, and Skinner studied reinforcement schedules.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "s9r9i1kb21n6"
    },
    {
      "id": "ot-neuro-kahneman",
      "shape": "mcq",
      "tags": [
        "kahneman",
        "loss-aversion"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who, working with Amos Tversky, established that losses hurt about twice as much as equivalent gains?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Daniel Kahneman"
        },
        {
          "modality": "text",
          "value": "B.F. Skinner"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        }
      ],
      "correctIndex": 0,
      "explanation": "Daniel Kahneman, with Amos Tversky, established loss aversion — losses hurt about twice as much as gains. Berridge and Schultz are dopamine researchers; Skinner studied reinforcement.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1bkr78b12xrlg1"
    },
    {
      "id": "ot-neuro-streak",
      "shape": "mcq",
      "tags": [
        "kahneman",
        "streaks"
      ],
      "prompt": {
        "modality": "text",
        "value": "The bedrock finding behind every streak mechanic — that losing stings roughly twice as much as gaining — comes from which figure?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Wolfram Schultz"
        },
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "Daniel Kahneman"
        }
      ],
      "correctIndex": 3,
      "explanation": "Kahneman (with Tversky) established loss aversion, the basis of streaks. Schultz and Berridge studied dopamine; Csikszentmihalyi named the flow state.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "100idprvqto1x"
    },
    {
      "id": "ot-neuro-match",
      "shape": "mcq",
      "tags": [
        "neuroscience",
        "matching"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which figure is correctly paired with their contribution?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Schultz — loss aversion"
        },
        {
          "modality": "text",
          "value": "Kahneman — reward-prediction error"
        },
        {
          "modality": "text",
          "value": "Skinner — the flow state"
        },
        {
          "modality": "text",
          "value": "Berridge — wanting vs. liking"
        }
      ],
      "correctIndex": 3,
      "explanation": "Berridge split wanting from liking. Loss aversion is Kahneman's, reward-prediction error is Schultz's, and the flow state is Csikszentmihalyi's — so the other three are mismatched.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1slrze4knjbqo"
    },
    {
      "id": "ot-design-flow",
      "shape": "mcq",
      "tags": [
        "csikszentmihalyi",
        "flow"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who named the absorbed 'flow' state that dynamic-difficulty systems try to chase?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Aza Raskin"
        },
        {
          "modality": "text",
          "value": "Yu-kai Chou"
        },
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        }
      ],
      "correctIndex": 2,
      "explanation": "Mihaly Csikszentmihalyi named the flow state. Chou built Octalysis, Raskin invented infinite scroll, and Lembke coined 'digital dopamine.'",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "b4qawf1qim1l1"
    },
    {
      "id": "ot-design-chou",
      "shape": "mcq",
      "tags": [
        "chou",
        "octalysis"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who mapped eight 'Core Drives' of motivation into a single gamification framework?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Aza Raskin"
        },
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Yu-kai Chou"
        },
        {
          "modality": "text",
          "value": "BJ Fogg"
        }
      ],
      "correctIndex": 2,
      "explanation": "Yu-kai Chou mapped the eight Core Drives into the Octalysis Framework. Csikszentmihalyi named flow, Raskin built infinite scroll, and Fogg founded captology.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "14oa470drgeq8"
    },
    {
      "id": "ot-design-raskin",
      "shape": "mcq",
      "tags": [
        "raskin",
        "infinite-scroll"
      ],
      "prompt": {
        "modality": "text",
        "value": "Who invented the bottomless feed that erased the natural stopping point, then later became one of its loudest critics?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Yu-kai Chou"
        },
        {
          "modality": "text",
          "value": "Aza Raskin"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        },
        {
          "modality": "text",
          "value": "Nir Eyal"
        }
      ],
      "correctIndex": 1,
      "explanation": "Aza Raskin invented infinite scroll and later became one of its harshest critics. Lembke coined 'digital dopamine,' Chou built Octalysis, and Eyal wrote the Hook Model.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1xei7ez14y9rod"
    },
    {
      "id": "ot-design-lembke",
      "shape": "mcq",
      "tags": [
        "lembke",
        "digital-dopamine"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which Stanford psychiatrist gave us 'digital dopamine' and called the smartphone a 'modern-day hypodermic needle'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Kent Berridge"
        },
        {
          "modality": "text",
          "value": "Aza Raskin"
        },
        {
          "modality": "text",
          "value": "Mihaly Csikszentmihalyi"
        },
        {
          "modality": "text",
          "value": "Anna Lembke"
        }
      ],
      "correctIndex": 3,
      "explanation": "Anna Lembke, a Stanford psychiatrist, coined that language. Csikszentmihalyi named flow, Berridge studied dopamine's wanting/liking split, and Raskin built infinite scroll.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "10x4fl51g4f143"
    },
    {
      "id": "ot-design-not-match",
      "shape": "mcq",
      "tags": [
        "designers",
        "matching"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which designer or critic is NOT correctly matched to their concept?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Aza Raskin — the infinite feed"
        },
        {
          "modality": "text",
          "value": "Yu-kai Chou — eight Core Drives"
        },
        {
          "modality": "text",
          "value": "Anna Lembke — reward-prediction error"
        },
        {
          "modality": "text",
          "value": "Csikszentmihalyi — the flow state"
        }
      ],
      "correctIndex": 2,
      "explanation": "Reward-prediction error is Wolfram Schultz's work, not Lembke's — Lembke coined 'digital dopamine.' The other three pairings are correct.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "awadilmcezbb"
    },
    {
      "id": "ot-frame-bmap",
      "shape": "mcq",
      "tags": [
        "bmap",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Fogg Behavior Model says a behavior fires only when three factors converge. Which equation captures it?"
      },
      "options": [
        {
          "modality": "text",
          "value": "B = Cue then Routine then Reward"
        },
        {
          "modality": "text",
          "value": "B = Motivation × Ability × Prompt"
        },
        {
          "modality": "text",
          "value": "B = Trigger + Action + Reward"
        },
        {
          "modality": "text",
          "value": "B = invites × conversion"
        }
      ],
      "correctIndex": 1,
      "explanation": "Fogg's model is B = MAP (Motivation × Ability × Prompt). 'Cue → Routine → Reward' is the habit loop, and invites × conversion is the viral coefficient.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1l8ko3678avtm"
    },
    {
      "id": "ot-frame-varratio",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "reinforcement"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which schedule delivers rewards after an unpredictable number of actions and is the most extinction-resistant pattern known?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Fixed-Ratio Reinforcement"
        },
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "Variable-Ratio Reinforcement"
        },
        {
          "modality": "text",
          "value": "Loss Aversion"
        }
      ],
      "correctIndex": 2,
      "explanation": "Variable-ratio reinforcement — the slot-machine schedule — rewards after an unpredictable number of actions and resists extinction best. Fixed-ratio is predictable; the others are unrelated effects.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1n98xbalcle9q"
    },
    {
      "id": "ot-frame-lossaversion",
      "shape": "mcq",
      "tags": [
        "loss-aversion",
        "streaks"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which effect — losses felt roughly twice as strongly as gains — is described as the engine of the streak?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Zeigarnik Effect"
        },
        {
          "modality": "text",
          "value": "Network Effects"
        },
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "Loss Aversion"
        }
      ],
      "correctIndex": 3,
      "explanation": "Loss aversion, from behavioral economics, is the streak's engine — losses feel about twice as strong as gains. Zeigarnik is about unfinished tasks; goal gradient is acceleration near a reward.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "6nsj781euo350"
    },
    {
      "id": "ot-frame-goalgradient",
      "shape": "mcq",
      "tags": [
        "goal-gradient",
        "motivation"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which effect describes our tendency to accelerate as we get closer to a reward?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "The Zeigarnik Effect"
        },
        {
          "modality": "text",
          "value": "Variable-Ratio Reinforcement"
        },
        {
          "modality": "text",
          "value": "Loss Aversion"
        }
      ],
      "correctIndex": 0,
      "explanation": "The Goal Gradient Effect is our acceleration toward a nearing reward. Loss aversion concerns losses vs. gains, Zeigarnik concerns unfinished tasks, and variable-ratio is a reward schedule.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "rl8s7zygwgxt"
    },
    {
      "id": "ot-social-network",
      "shape": "mcq",
      "tags": [
        "network-effects",
        "metcalfe"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which effect describes a product becoming more valuable as more people use it, and is modeled by Metcalfe's Law?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The K-Factor"
        },
        {
          "modality": "text",
          "value": "Network Effects"
        },
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "The Default Mode Network"
        }
      ],
      "correctIndex": 1,
      "explanation": "Network effects (more users, more value) are modeled by Metcalfe's Law. The K-Factor measures virality, goal gradient is a motivation effect, and DMN is a brain state.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "ckp9jl1umsa6n"
    },
    {
      "id": "ot-social-kfactor",
      "shape": "mcq",
      "tags": [
        "k-factor",
        "virality"
      ],
      "prompt": {
        "modality": "text",
        "value": "The metric computed as invites × conversion (i × c), which turns growth exponential when it exceeds 1, is called what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The K-Factor"
        },
        {
          "modality": "text",
          "value": "Metcalfe's Law"
        },
        {
          "modality": "text",
          "value": "Network Effects"
        },
        {
          "modality": "text",
          "value": "The Octalysis Framework"
        }
      ],
      "correctIndex": 0,
      "explanation": "The K-Factor (viral coefficient) is i × c; above 1, growth goes exponential. Network effects and Metcalfe's Law describe value scaling, and Octalysis is a gamification framework.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "fq75gh1tk4inv"
    },
    {
      "id": "ot-social-octalysis",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "core-drives"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which framework organizes motivation into eight 'Core Drives'?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Hook Model"
        },
        {
          "modality": "text",
          "value": "The Octalysis Framework"
        },
        {
          "modality": "text",
          "value": "The Default Mode Network"
        },
        {
          "modality": "text",
          "value": "Network Effects"
        }
      ],
      "correctIndex": 1,
      "explanation": "The Octalysis Framework maps eight Core Drives of motivation. The Hook Model is a four-stage loop, network effects concern user value, and DMN is a brain state.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "peov6jumemz5"
    },
    {
      "id": "ot-social-dmn",
      "shape": "mcq",
      "tags": [
        "default-mode-network",
        "infinite-scroll"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which 'zoning-out' brain state is infinite scroll specifically built to induce?"
      },
      "options": [
        {
          "modality": "text",
          "value": "The Goal Gradient Effect"
        },
        {
          "modality": "text",
          "value": "The flow state"
        },
        {
          "modality": "text",
          "value": "Variable-Ratio Reinforcement"
        },
        {
          "modality": "text",
          "value": "The Default Mode Network"
        }
      ],
      "correctIndex": 3,
      "explanation": "The Default Mode Network is the zoning-out state infinite scroll induces. Goal gradient is reward acceleration, flow is deep absorption, and variable-ratio is a reward schedule.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "3u21ua5mdgey"
    },
    {
      "id": "ot-neuro-rpe",
      "shape": "mcq",
      "tags": [
        "rpe",
        "dopamine",
        "neuroscience"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which mechanism, first described by Wolfram Schultz, has dopamine surge when an outcome beats expectations and drop when it falls short?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Variable-ratio reinforcement"
        },
        {
          "modality": "text",
          "value": "Reward Prediction Error (RPE)"
        },
        {
          "modality": "text",
          "value": "Loss aversion"
        },
        {
          "modality": "text",
          "value": "The goal gradient effect"
        }
      ],
      "correctIndex": 1,
      "explanation": "RPE, from Wolfram Schultz, means dopamine responds to the gap between expectation and outcome, so the system runs on uncertainty. Variable-ratio is a reward schedule, not the neural signal itself.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "115y7hz1qln0sp"
    },
    {
      "id": "ot-neuro-variable-ratio",
      "shape": "mcq",
      "tags": [
        "variable-ratio",
        "skinner"
      ],
      "prompt": {
        "modality": "text",
        "value": "Which reward schedule, from B.F. Skinner's experiments, pays out after an unpredictable number of actions and is the model behind infinite scroll?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Progressive disclosure"
        },
        {
          "modality": "text",
          "value": "Variable-ratio reinforcement"
        },
        {
          "modality": "text",
          "value": "Reward Prediction Error"
        },
        {
          "modality": "text",
          "value": "Fixed-interval reinforcement"
        }
      ],
      "correctIndex": 1,
      "explanation": "Variable-ratio reinforcement delivers rewards after an unpredictable number of responses, producing the highest response rates and greatest resistance to extinction — the slot-machine logic of infinite scroll.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1neumevit0mat"
    },
    {
      "id": "ot-neuro-dmn",
      "shape": "mcq",
      "tags": [
        "dmn",
        "neuroscience"
      ],
      "prompt": {
        "modality": "text",
        "value": "When scrolling becomes habitual and users describe 'zoning out,' which network takes over as prefrontal executive control recedes?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Ventral tegmental area"
        },
        {
          "modality": "text",
          "value": "The flow channel"
        },
        {
          "modality": "text",
          "value": "Default Mode Network (DMN)"
        },
        {
          "modality": "text",
          "value": "The reward prediction system"
        }
      ],
      "correctIndex": 2,
      "explanation": "The Default Mode Network — linked to mind-wandering and self-referential thought — dominates when a habit needs little attention and prefrontal control goes offline; users experience it as zoning out.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "quvjnw19tfj94"
    },
    {
      "id": "ot-neuro-goal-gradient",
      "shape": "mcq",
      "tags": [
        "goal-gradient",
        "bias"
      ],
      "prompt": {
        "modality": "text",
        "value": "A punch card with 2 of 10 holes pre-stamped drives more completion than a blank 8-hole card. Which bias best explains this?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Goal gradient effect"
        },
        {
          "modality": "text",
          "value": "Sunk cost fallacy"
        },
        {
          "modality": "text",
          "value": "Zeigarnik effect"
        },
        {
          "modality": "text",
          "value": "Endowment effect"
        }
      ],
      "correctIndex": 0,
      "explanation": "The goal gradient effect is accelerating effort as a milestone nears; pre-stamps make the reward feel closer. Sunk cost is about past investment, not proximity to the goal.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "377e2wavkrvw"
    },
    {
      "id": "ot-fw-trigger",
      "shape": "mcq",
      "tags": [
        "hook-model",
        "triggers"
      ],
      "prompt": {
        "modality": "text",
        "value": "In Nir Eyal's Hook Model, which is an example of an INTERNAL trigger rather than an external one?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A badge shown in the app"
        },
        {
          "modality": "text",
          "value": "A push notification"
        },
        {
          "modality": "text",
          "value": "Boredom or loneliness"
        },
        {
          "modality": "text",
          "value": "A reminder email"
        }
      ],
      "correctIndex": 2,
      "explanation": "Internal triggers are emotions like boredom or loneliness that the product becomes coupled to; notifications, badges, and emails are external triggers. The goal is to graduate users from external to internal triggers.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "151kebrwnyal1"
    },
    {
      "id": "ot-fw-captology",
      "shape": "mcq",
      "tags": [
        "captology",
        "fogg"
      ],
      "prompt": {
        "modality": "text",
        "value": "Captology, coined by BJ Fogg in 1996, is the study of what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Computers As Persuasive Technologies"
        },
        {
          "modality": "text",
          "value": "Compulsive scrolling behavior"
        },
        {
          "modality": "text",
          "value": "Consumer purchase psychology"
        },
        {
          "modality": "text",
          "value": "Cognitive load in app design"
        }
      ],
      "correctIndex": 0,
      "explanation": "Captology stands for Computers As Persuasive Technologies — how computers can be designed to change human thoughts and behaviors. BJ Fogg coined the term in 1996.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1qib0p4ugx8t8"
    },
    {
      "id": "ot-fw-bmap",
      "shape": "mcq",
      "tags": [
        "fogg-behavior-model",
        "bmap"
      ],
      "prompt": {
        "modality": "text",
        "value": "The Fogg Behavior Model (B = MAP) says a behavior occurs only when which three factors converge at the same moment?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Trigger, Action, and Reward"
        },
        {
          "modality": "text",
          "value": "Motivation, Ability, and Payoff"
        },
        {
          "modality": "text",
          "value": "Points, Badges, and Leaderboards"
        },
        {
          "modality": "text",
          "value": "Motivation, Ability, and a Prompt"
        }
      ],
      "correctIndex": 3,
      "explanation": "B = MAP: Behavior = Motivation × Ability × Prompt, all three converging simultaneously. Trigger → Action → Reward belongs to the separate Hook Model.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "eykmhy1qcya9a"
    },
    {
      "id": "ot-fw-octalysis",
      "shape": "mcq",
      "tags": [
        "octalysis",
        "gamification"
      ],
      "prompt": {
        "modality": "text",
        "value": "Yu-kai Chou's Octalysis framework maps how many Core Drives that motivate behavior?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Ten"
        },
        {
          "modality": "text",
          "value": "Four"
        },
        {
          "modality": "text",
          "value": "Eight"
        },
        {
          "modality": "text",
          "value": "Three"
        }
      ],
      "correctIndex": 2,
      "explanation": "Octalysis identifies eight Core Drives, from Epic Meaning to Ownership to Social Influence; the most durable apps engage several at once.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1m8ojvw1lnuxi4"
    },
    {
      "id": "ot-social-network-effect",
      "shape": "mcq",
      "tags": [
        "network-effect"
      ],
      "prompt": {
        "modality": "text",
        "value": "What is the dynamic in which a product becomes more valuable to each user as more people use it?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A referral program"
        },
        {
          "modality": "text",
          "value": "A viral loop"
        },
        {
          "modality": "text",
          "value": "The endowment effect"
        },
        {
          "modality": "text",
          "value": "The network effect"
        }
      ],
      "correctIndex": 3,
      "explanation": "The network effect: value to each user rises with total users, directly or indirectly. A viral loop is a growth mechanism and a referral program is an explicit invite mechanic — related but distinct.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "zswcvt4on9or"
    },
    {
      "id": "ot-social-interest-graph",
      "shape": "mcq",
      "tags": [
        "interest-graph",
        "social-graph"
      ],
      "prompt": {
        "modality": "text",
        "value": "TikTok's For You Page let follower-less users go viral in 24 hours by replacing the social graph with what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A larger social graph"
        },
        {
          "modality": "text",
          "value": "An interest graph"
        },
        {
          "modality": "text",
          "value": "Metcalfe's Law"
        },
        {
          "modality": "text",
          "value": "A referral program"
        }
      ],
      "correctIndex": 1,
      "explanation": "An interest graph is a machine-curated map of what you're drawn to, not who you know. It freed distribution from your follower count, unlike the identity-based social graph.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1bt6ouq1189xmy"
    },
    {
      "id": "ot-social-fomo",
      "shape": "mcq",
      "tags": [
        "fomo"
      ],
      "prompt": {
        "modality": "text",
        "value": "In this pack, FOMO is described as anxiety driven mainly by what — not by missing the content itself?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Falling behind on notifications"
        },
        {
          "modality": "text",
          "value": "The loss of a login streak"
        },
        {
          "modality": "text",
          "value": "The fear of overspending"
        },
        {
          "modality": "text",
          "value": "The social cost of non-participation"
        }
      ],
      "correctIndex": 3,
      "explanation": "FOMO here is about the social penalty of not participating — why Instagram Stories' 24-hour expiry works. It's the bonding cost, not the content, that creates the pull.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1qphwardv66r5"
    },
    {
      "id": "ot-retention-churn",
      "shape": "mcq",
      "tags": [
        "churn"
      ],
      "prompt": {
        "modality": "text",
        "value": "According to the pack, roughly what share of users stop using an app within three days of install?"
      },
      "options": [
        {
          "modality": "text",
          "value": "About 20%"
        },
        {
          "modality": "text",
          "value": "About 80%"
        },
        {
          "modality": "text",
          "value": "About 36%"
        },
        {
          "modality": "text",
          "value": "About 50%"
        }
      ],
      "correctIndex": 1,
      "explanation": "Roughly 80% of users churn within three days of install, which is why the onboarding-to-Aha pipeline is the highest-leverage place to fight churn.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1x7lr6w1nl6ed8"
    },
    {
      "id": "ot-retention-dau-mau",
      "shape": "mcq",
      "tags": [
        "dau-mau",
        "metrics"
      ],
      "prompt": {
        "modality": "text",
        "value": "The DAU/MAU ratio, a measure of habitual return, divides daily active users by what?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Lifetime users"
        },
        {
          "modality": "text",
          "value": "New installs this month"
        },
        {
          "modality": "text",
          "value": "Total registered users"
        },
        {
          "modality": "text",
          "value": "Monthly active users"
        }
      ],
      "correctIndex": 3,
      "explanation": "DAU/MAU is daily active users as a share of monthly active users. Industry average sits well below 20%; Duolingo reached 36%.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "17gnkglxvypl3"
    },
    {
      "id": "ot-retention-cac",
      "shape": "mcq",
      "tags": [
        "cac",
        "ltv"
      ],
      "prompt": {
        "modality": "text",
        "value": "A K-factor above 1 lowers which business metric, because existing users recruit new ones for free?"
      },
      "options": [
        {
          "modality": "text",
          "value": "DAU/MAU ratio"
        },
        {
          "modality": "text",
          "value": "Churn rate"
        },
        {
          "modality": "text",
          "value": "CAC (Customer Acquisition Cost)"
        },
        {
          "modality": "text",
          "value": "LTV (Lifetime Value)"
        }
      ],
      "correctIndex": 2,
      "explanation": "CAC is the cost to acquire one user; when users recruit each other (K>1), paid acquisition needs shrink and CAC falls. LTV is the value a user generates — a separate metric.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1fiwvpwauap8w"
    },
    {
      "id": "ot-recall-parasocial-oxytocin",
      "shape": "mcq",
      "tags": [
        "parasocial",
        "oxytocin"
      ],
      "prompt": {
        "modality": "text",
        "value": "A parasocial bond with Duolingo's Duo owl, a relationship users don't want to disappoint, is mediated primarily by which neurochemical?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Serotonin"
        },
        {
          "modality": "text",
          "value": "Cortisol"
        },
        {
          "modality": "text",
          "value": "Dopamine"
        },
        {
          "modality": "text",
          "value": "Oxytocin"
        }
      ],
      "correctIndex": 3,
      "explanation": "Parasocial bonds are oxytocin-mediated attachments to non-reciprocating entities like a mascot. Dopamine drives wanting; serotonin tracks status; oxytocin handles bonding and trust.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1rx3yydkj5e0j"
    },
    {
      "id": "fi-ot-captology-define",
      "tags": [
        "captology",
        "definition"
      ],
      "title": "What Captology Means",
      "body": "Captology stands for Computers As Persuasive Technologies — the study of how computers can be designed to change what people think and do.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person using computer screen",
        "imagePrompt": "A person intently focused on a glowing computer screen in a dim room.",
        "alt": "What Captology Means",
        "depictable": true,
        "credit": "hackNY (Openverse) · by-sa 2.0",
        "creditUrl": "https://www.flickr.com/photos/61623410@N08/6887025506",
        "subject": "A close-up of a person's hands typing on a MacBook Air keyboard, with a code editor clearly visible and in focus on the laptop's screen.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-captology-define.webp"
      },
      "uid": "1rmfiun1o56xqd"
    },
    {
      "id": "fi-ot-timeline-coined",
      "tags": [
        "timeline",
        "captology"
      ],
      "title": "Captology's Birth Year",
      "body": "The term captology was coined in 1996 — three years after Fogg's 1993 dissertation and two years before he founded the Persuasive Technology Lab in 1998.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "vintage 1990s desktop computer",
        "imagePrompt": "A vintage beige desktop computer and CRT monitor on an office desk.",
        "alt": "Captology's Birth Year",
        "depictable": true,
        "credit": "Wikipedia — Packard Bell Corner Computer · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/Packard_Bell_Corner_Computer",
        "subject": "A beige Packard Bell 'Corner Computer' — a CRT monitor stacked on a cylindrical stand above a tower unit, with matching keyboard and mouse, photographed cleanly on a plain background. A genuine mid/late-1990s consumer desktop PC.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-timeline-coined.webp"
      },
      "uid": "1q7pywwtn6ahk"
    },
    {
      "id": "fi-ot-skinner-raskin",
      "tags": [
        "infinite-scroll",
        "raskin"
      ],
      "title": "Patented In 2006",
      "body": "Aza Raskin patented infinite scroll in 2006, engineering away the natural stopping points that once told users when to stop.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "endless list scrolling interface",
        "imagePrompt": "A long list of content scrolling on a screen with no visible end in sight.",
        "alt": "Patented In 2006",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Endless_Chain_Ridge_--_Jasper_National_Park_(AB).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-skinner-raskin.webp"
      },
      "uid": "13yf23mz62gau"
    },
    {
      "id": "fi-ot-skinner-scroll-def",
      "tags": [
        "infinite-scroll",
        "definition"
      ],
      "title": "No Natural Stopping Point",
      "body": "Infinite scroll is a feed designed with no natural stopping point, loading new content endlessly so the cues that once told you to stop simply disappear.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "seamless continuous content stream",
        "imagePrompt": "A seamless stream of content flowing continuously on a screen, with no breaks or stopping cues.",
        "alt": "No Natural Stopping Point",
        "depictable": true,
        "credit": "Pexels · https://kaboompics.com/ · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/little-girl-holding-a-tablet-4968506/",
        "subject": "A child sitting on a couch holding a tablet, finger touching the screen, viewing a Netflix Kids interface with a cartoon playing at top and a row of other show thumbnails below — a person actively engaged with a personal device's content library.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-skinner-scroll-def.webp"
      },
      "uid": "6g9tc95vgr3b"
    },
    {
      "id": "fi-sa-mcq-hook-model-stages",
      "tags": [
        "history",
        "frameworks"
      ],
      "title": "The Hook Model's Order",
      "body": "Eyal's Hook Model runs in a fixed loop: Trigger, then Action, then Variable Reward, then Investment — a different framework from Fogg's separate B=MAP equation.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "circular flow chart arrows",
        "imagePrompt": "A four-step circular flow diagram with arrows connecting each stage in sequence.",
        "alt": "The Hook Model's Order",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Emagone_logo_circular_background_2048x2048.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-hook-model-stages.webp"
      },
      "uid": "143k7s51m2s50n"
    },
    {
      "id": "fi-ot-hook-fyp-engine",
      "tags": [
        "tiktok",
        "fyp",
        "algorithm"
      ],
      "title": "What Powers The FYP",
      "body": "TikTok's For You Page runs on a reinforcement-learning algorithm that infers what you want from watch time, completions, and skips — not from your social graph.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "vertical video feed smartphone",
        "imagePrompt": "A smartphone displaying a vertical short-form video feed interface.",
        "alt": "What Powers The FYP",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Vertical_Horizon_performing_aboard_USS_Ronald_Reagan_(CVN_76).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-hook-fyp-engine.webp"
      },
      "uid": "14e54tn1qkn1c5"
    },
    {
      "id": "fi-ot-hook-hooked-year",
      "tags": [
        "hooked",
        "year"
      ],
      "title": "Primed By The App Store",
      "body": "Hooked landed in 2014, but only after the iPhone (2007) and App Store (2008) had spent years priming a whole cohort of mobile teams to receive its ideas.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "smartphone home screen apps",
        "imagePrompt": "A smartphone home screen filled with colorful app icons.",
        "alt": "Primed By The App Store",
        "depictable": true,
        "credit": "Gannu03 · CC BY-SA 4.0",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:OnePlus_Nord_smartphone_displaying_Android_home_screen.jpg",
        "subject": "A OnePlus Nord Android phone lying on dark cloth, its home screen showing a colorful wallpaper with the YouTube and YT Music app icons and a bottom dock of Phone, Messages, and Camera icons.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-hook-hooked-year.webp"
      },
      "uid": "p6y5463r7m72"
    },
    {
      "id": "fi-ot-dopamine-predictable",
      "tags": [
        "rpe",
        "uncertainty"
      ],
      "title": "Predictable Rewards Go Flat",
      "body": "A reward that becomes perfectly predictable stops triggering dopamine almost entirely — the signal trains itself out of existence, which is why uncertainty, not consistency, keeps a habit loop alive.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "brain neural signal fading",
        "imagePrompt": "An abstract glowing neural pathway in the brain gradually dimming and fading out.",
        "alt": "Predictable Rewards Go Flat",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Aires_c%C3%A9r%C3%A9brales_de_la_motricit%C3%A9_volontaire.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-dopamine-predictable.webp"
      },
      "uid": "ustbct5vp0dz"
    },
    {
      "id": "fi-sa-mcq-endorphins-trigger",
      "tags": [
        "neurochemicals",
        "endorphins"
      ],
      "title": "Earned Through Exertion",
      "body": "Endorphins fire when you push through something hard — finishing a tough lesson or workout produces genuine euphoria by suppressing pain and rewarding the effort.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person exercising intense workout",
        "imagePrompt": "A person mid-workout, sweating and pushing hard through a strenuous exercise.",
        "alt": "Earned Through Exertion",
        "depictable": true,
        "credit": "Wikipedia — High-intensity interval training · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/High-intensity_interval_training",
        "subject": "Black-and-white outdoor photo of a single muscular woman swinging a dumbbell straight overhead, strained focused expression, sweat visible, mid hard set.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-endorphins-trigger.webp"
      },
      "uid": "1o567tp1id8shb"
    },
    {
      "id": "fi-sa-mcq-leaderboard-chemical",
      "tags": [
        "neurochemicals",
        "serotonin"
      ],
      "title": "Leaderboards Feed Serotonin",
      "body": "A leaderboard or follower count reinforces investment mainly through serotonin — the neurochemical behind status and belonging, not the dopamine rush of a notification.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "leaderboard ranking list screen",
        "imagePrompt": "A digital leaderboard screen showing ranked names and scores.",
        "alt": "Leaderboards Feed Serotonin",
        "depictable": true,
        "credit": "Pexels · Element5 Digital · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/led-light-signage-1293269/",
        "subject": "A backlit arcade high-score leaderboard screen listing ranked player names and point totals (1ST EUGENE, 2ND ELOFF, 3RD MATTHEW, etc.) in colorful LED digits.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-leaderboard-chemical.webp"
      },
      "uid": "u64fbf1g8zlet"
    },
    {
      "id": "fi-ot-apply-oxytocin",
      "tags": [
        "oxytocin",
        "apply"
      ],
      "title": "A Thank-You Triggers Oxytocin",
      "body": "When a co-op partner thanks you inside an app, that peer acknowledgment pulls the oxytocin lever — the bonding-and-trust chemical, distinct from the status hit of a leaderboard.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "two people grateful handshake",
        "imagePrompt": "Two people warmly shaking hands in a gesture of gratitude.",
        "alt": "A Thank-You Triggers Oxytocin",
        "depictable": true,
        "credit": "Pexels · An up-close image of two people shaking hands in a professional setting against a white background.",
        "creditUrl": "https://www.pexels.com/photo/close-up-shot-of-a-people-handshake-7736028/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-apply-oxytocin.webp"
      },
      "uid": "1lo9n978htgyt"
    },
    {
      "id": "fi-ot-dmn-def",
      "tags": [
        "dmn",
        "definition"
      ],
      "title": "The Mind-Wandering Network",
      "body": "The Default Mode Network is the brain system behind mind-wandering and self-referential thought — the inward drift that takes over once scrolling stops feeling deliberate.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "brain default mode network",
        "imagePrompt": "An anatomical brain illustration highlighting the interconnected regions active during quiet mind-wandering.",
        "alt": "The Mind-Wandering Network",
        "depictable": true,
        "credit": "John Graner, Neuroimaging Department, National Intrepid Center of Excellence, Wa · Public domain",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Default_mode_network-WRNMMC.jpg",
        "subject": "Byte-identical to candidate 0: the same sagittal/axial fMRI scan with red-orange DMN activation in the mPFC and posterior cingulate/precuneus, but sourced from the Commons file page itself and explicitly licensed Public Domain, credited to John Graner, National Intrepid Center of Excellence.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-dmn-def.webp"
      },
      "uid": "1o124u111psdxn"
    },
    {
      "id": "fi-ot-dmn-scroll",
      "tags": [
        "infinite-scroll",
        "design"
      ],
      "title": "Scroll Removes The Pauses",
      "body": "Infinite scroll strips away the page turns and load screens that used to be natural pause points — moments where a depleted brain could reassert inhibition and stop.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "thumb scrolling phone continuously",
        "imagePrompt": "A close-up of a thumb swiping continuously up a smartphone screen without pausing.",
        "alt": "Scroll Removes The Pauses",
        "depictable": true,
        "credit": "Pexels · I'm Zion · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/a-person-holding-a-mobile-phone-12376016/",
        "subject": "A close-up, well-lit photo of a thumb positioned on the edge of a smartphone's lock screen (showing a 06:14 clock and fingerprint icon).",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-dmn-scroll.webp"
      },
      "uid": "4yfp4j1g2f831"
    },
    {
      "id": "fi-ot-dmn-prefrontal",
      "tags": [
        "prefrontal-cortex",
        "control"
      ],
      "title": "Your Brain's Off Switch",
      "body": "The prefrontal cortex is what holds executive control during deliberate use — it's the part of your brain that actually lets you decide to stop scrolling.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "brain prefrontal cortex diagram",
        "imagePrompt": "An anatomical illustration of a human brain with the prefrontal cortex region highlighted.",
        "alt": "Your Brain's Off Switch",
        "depictable": true,
        "credit": "Wikipedia — Ventromedial prefrontal cortex · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/Ventromedial_prefrontal_cortex",
        "subject": "Wikipedia diagram of the ventromedial prefrontal cortex: sagittal and inferior brain outlines with that region highlighted in red, a clean accurate anatomical illustration of a PFC subregion",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-dmn-prefrontal.webp"
      },
      "uid": "1c24dv21f49peq"
    },
    {
      "id": "fi-ot-hook-trigger-role",
      "tags": [
        "hook-model",
        "trigger"
      ],
      "title": "What Starts The Loop",
      "body": "In the Hook Model, the Trigger is the cue that kicks off the loop — it can be external, like a notification, or internal, like boredom.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "smartphone notification alert trigger",
        "imagePrompt": "A smartphone lighting up with a notification alert, the cue that starts a habit loop.",
        "alt": "What Starts The Loop",
        "depictable": true,
        "credit": "Pexels · RDNE Stock project · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/an-alert-message-on-a-cellphone-7821762/",
        "subject": "An iPhone lying screen-up on a wood table, sharply lit and in focus, showing a lock-screen banner from 'My Bank': 'We've detected unusual activity in your account!' — a clean, fully legible notification alert.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-hook-trigger-role.webp"
      },
      "uid": "smldxl1yns6yz"
    },
    {
      "id": "fi-ot-hook-action-role",
      "tags": [
        "hook-model",
        "action"
      ],
      "title": "Open, Scroll, Tap",
      "body": "The Hook Model's Action stage is the simplest possible behavior done in anticipation of a reward — opening the app, scrolling, tapping. The lower the friction, the more reliably it happens.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "hand scrolling smartphone screen",
        "imagePrompt": "A close-up of a hand holding a smartphone with a thumb mid-scroll on a bright app screen.",
        "alt": "Open, Scroll, Tap",
        "depictable": true,
        "credit": "Openverse · cc0 1.0",
        "creditUrl": "https://www.rawpixel.com/image/6113725/photo-image-iphone-phone-public-domain",
        "subject": "A hand holding an iPhone showing a grid of colorful app icons while the other hand's index finger hovers to swipe or tap the screen — clear, well-lit, CC0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-hook-action-role.webp"
      },
      "uid": "11wy9c91go0w9f"
    },
    {
      "id": "fi-ot-reward-self",
      "tags": [
        "variable-reward",
        "self"
      ],
      "title": "Rewards Of The Self",
      "body": "One of the Hook Model's variable-reward types is 'rewards of the self' — the mastery hit from finishing something, leveling up, or hitting a personal milestone.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "video game level-up screen",
        "imagePrompt": "A mobile game screen bursting with animated stars and light as a character levels up.",
        "alt": "Rewards Of The Self",
        "depictable": true,
        "credit": "Pexels · Yan Krukau · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/neon-signages-inside-a-computer-gaming-shop-9072202/",
        "subject": "A dim gaming lounge/arcade wall of backlit neon signs — two read 'LEVEL UP,' others read 'GAME NIGHT,' 'GAMER PLAY&WIN,' 'GAME ROOM,' 'GAME TIME' — with orange bean-bag chairs in the foreground; directly evokes 'leveling up' as a reward.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-reward-self.webp"
      },
      "uid": "1rwvf9ezi0f42"
    },
    {
      "id": "fi-mcq-rw-l3-fw-p1-hook",
      "tags": [
        "hook-model",
        "endowment-effect",
        "retention"
      ],
      "title": "Why Leaving Feels Like Losing",
      "body": "The Hook Model's Investment stage works through the Endowment Effect: users overvalue the profile, history, and social graph they've already built, so every bit invested raises the cost of switching apps.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "hesitant finger over delete icon",
        "imagePrompt": "A person's hand hovering hesitantly over a phone's delete-app icon, reluctant to let go.",
        "alt": "Why Leaving Feels Like Losing",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-mcq-rw-l3-fw-p1-hook.webp"
      },
      "uid": "icrkqwcrps4s"
    },
    {
      "id": "fi-ot-bmap-overinvest",
      "tags": [
        "bmap",
        "motivation"
      ],
      "title": "Teams Over-Invest In Motivation",
      "body": "Product teams tend to pour effort into motivation — better copy, stronger appeals — when the real blocker is usually ability. A highly motivated user still won't act if the steps are too many.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "complicated app signup form",
        "imagePrompt": "A frustrated person squinting at a smartphone screen filled with a long, complicated multi-step form.",
        "alt": "Teams Over-Invest In Motivation",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Complicated_Animals_performing_at_Frederik_Meijer_Gardens_in_Grand_Rapids,_Michigan.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-bmap-overinvest.webp"
      },
      "uid": "r7o2cb82z5ml"
    },
    {
      "id": "fi-ot-bmap-more-prompts",
      "tags": [
        "bmap",
        "prompt"
      ],
      "title": "More Prompts, More Uninstalls",
      "body": "Prompts only work once motivation and ability are already in place. Firing more push notifications into a low-ability experience just annoys people and accelerates uninstalls.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "phone notifications stacking up",
        "imagePrompt": "A smartphone lock screen crowded with a long stack of push notification banners piling up.",
        "alt": "More Prompts, More Uninstalls",
        "depictable": true,
        "credit": "Pexels · dumitru B · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/close-up-of-smartphone-with-social-media-icons-32944546/",
        "subject": "An iPhone home screen shot at a dynamic diagonal angle with warm bokeh lighting; many app icons (X, Yelp Biz, Instagram, Messenger, Facebook, WhatsApp, Messages, Maps) carry visible unread-count badges (17, 10, 2, 2, 1, 1, 1) — a clear, well-composed depiction of notifications piling up across apps.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-bmap-more-prompts.webp"
      },
      "uid": "tc437m1nryoqe"
    },
    {
      "id": "fi-ot-flow-author",
      "tags": [
        "flow",
        "csikszentmihalyi"
      ],
      "title": "Csikszentmihalyi Named Flow",
      "body": "Psychologist Mihaly Csikszentmihalyi described the flow state — the channel where challenge and skill are in balance. Other researchers named different mechanisms: Eyal's Hook Model, Fogg's B=MAP, and Zeigarnik's pull of unfinished tasks.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Mihaly Csikszentmihalyi psychologist portrait",
        "imagePrompt": "A portrait photo of psychologist Mihaly Csikszentmihalyi, known for his research on the flow state.",
        "alt": "Csikszentmihalyi Named Flow",
        "depictable": true,
        "credit": "Wikimedia Commons (Wikipedia: Mihaly Csikszentmihalyi)",
        "creditUrl": "https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-concept-csikszentmihalyi.jpg"
      },
      "uid": "19yp38mb4pire"
    },
    {
      "id": "fi-ot-flow-above-skill",
      "tags": [
        "flow",
        "anxiety"
      ],
      "title": "When Challenge Outpaces Skill",
      "body": "Push difficulty too far above a user's skill and flow theory predicts anxiety, not engagement — the user feels overwhelmed and churns. Drop it too far below and boredom does the same job in reverse.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "overwhelmed person at screen",
        "imagePrompt": "A person's stressed, overwhelmed expression while facing a cluttered, demanding computer screen.",
        "alt": "When Challenge Outpaces Skill",
        "depictable": false,
        "credit": "Pexels · Person in striped shirt facing a computer monitor, appearing stressed while reading text on screen.",
        "creditUrl": "https://www.pexels.com/photo/a-person-in-white-and-blue-stripe-long-sleeves-sitting-in-front-of-a-computer-9158771/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-flow-above-skill.webp"
      },
      "uid": "1wjg00d1yixurz"
    },
    {
      "id": "fi-ot-flow-dda",
      "tags": [
        "dda",
        "flow"
      ],
      "title": "Dynamic Difficulty Adjustment",
      "body": "Dynamic Difficulty Adjustment tracks a user's performance in real time and tunes challenge to keep them inside the flow channel. Duolingo applies the idea at the course level, adjusting structure to each learner's pace instead of running one fixed curriculum.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo course path screen",
        "imagePrompt": "A smartphone showing the Duolingo app's course path with lesson bubbles and the green owl mascot.",
        "alt": "Dynamic Difficulty Adjustment",
        "depictable": true
      },
      "uid": "17xcdw5fxc25j"
    },
    {
      "id": "fi-ot-pbl-3",
      "tags": [
        "pbl",
        "plateau"
      ],
      "title": "The PBL Plateau",
      "body": "Rely on points, badges, and leaderboards alone and engagement typically follows a familiar arc: a strong early lift, then a plateau. Most of that initial lift comes from novelty, and once the shine wears off, PBL alone can't keep growth going.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "badges and leaderboard screen",
        "imagePrompt": "A mobile app screen displaying a row of achievement badge icons above a ranked player leaderboard.",
        "alt": "The PBL Plateau",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:1964_Mississippi_Game_and_Fish_Badge.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-pbl-3.webp"
      },
      "uid": "92p8bcoxwgng"
    },
    {
      "id": "fi-ot-oct-2",
      "tags": [
        "octalysis",
        "epic-meaning"
      ],
      "title": "Belonging To Something Bigger",
      "body": "In Octalysis, the Epic Meaning & Calling Core Drive is the pull of feeling part of something larger than yourself — a mission, story, or community with stakes bigger than one person.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "crowd united at rally",
        "imagePrompt": "A diverse crowd of people with arms raised together outdoors, evoking unity around a shared cause.",
        "alt": "Belonging To Something Bigger",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:%22Street_scene_with_advertising_hoardings%22_but_where%3F_Corner_of_Summerhill_and_Langrishe_Place!_(9155805097).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-oct-2.webp"
      },
      "uid": "8lal8a1cus2za"
    },
    {
      "id": "fi-ot-oct-3",
      "tags": [
        "octalysis",
        "ownership"
      ],
      "title": "The Ownership Drive",
      "body": "Octalysis' Ownership & Possession Core Drive is the pull to accumulate and protect things that feel like yours — virtual currency, streaks, and customized profiles are its typical expressions.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "app streak flame icon",
        "imagePrompt": "A smartphone app screen showing a glowing flame streak icon beside a virtual coin currency balance.",
        "alt": "The Ownership Drive",
        "depictable": true,
        "credit": "FlashFeed original diagram · CC-BY-4.0",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/diagrams/sa-concept-octalysis.svg"
      },
      "uid": "umai9xar6bmz"
    },
    {
      "id": "fi-ot-strk-1",
      "tags": [
        "streak-freeze",
        "definitions"
      ],
      "title": "Insuring The Streak",
      "body": "Duolingo's Streak Freeze is a purchasable or earnable item that protects a streak during an absence. It's effectively insurance for a number — itself proof of how much value users place on the streak.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo streak freeze icon",
        "imagePrompt": "The Duolingo app streak screen showing a flame icon beside a blue snowflake Streak Freeze icon.",
        "alt": "Insuring The Streak",
        "depictable": true,
        "credit": "Pexels · Czapp Árpád · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/hand-holding-a-turned-on-smartphone-17077346/",
        "subject": "A hand holds an iPhone outdoors (trees/building blurred behind); the home screen shows the genuine Duolingo widget — a flame icon beside the number 345 (a real streak count) — plus the Duolingo owl app icon in a folder below. This is the actual Duolingo streak feature the card discusses, not the spe",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-strk-1.webp"
      },
      "uid": "ikcaek18b8muo"
    },
    {
      "id": "fi-ot-strk-3",
      "tags": [
        "streak",
        "sunk-cost"
      ],
      "title": "Too Deep To Quit",
      "body": "The longer a Duolingo streak runs, the harder it becomes to walk away — each additional day adds to a growing sunk cost the user is reluctant to forfeit. It's the escalating investment, not new rewards, that raises the stakes over time.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo long streak counter",
        "imagePrompt": "The Duolingo app streak screen showing a flame icon beside a lengthy, well-worn streak counter.",
        "alt": "Too Deep To Quit",
        "depictable": true,
        "credit": "Pexels · Czapp Árpád · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/hand-holding-a-turned-on-smartphone-17077346/",
        "subject": "A hand holding an iPhone outdoors (blurred greenery/building background) displaying a home screen with a weather widget and, next to it, a Duolingo widget showing the green owl mascot, a flame icon, and the number 345 — an actual Duolingo streak counter; the Duolingo app icon also appears lower on t",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-strk-3.webp"
      },
      "uid": "h2w45gz057gg"
    },
    {
      "id": "fi-ot-dau-3",
      "tags": [
        "duolingo",
        "growth"
      ],
      "title": "Duolingo's 521% Climb",
      "body": "Duolingo's daily active users grew from 7.5 million at its 2021 IPO to 46.6 million by Q1 2025 — a 521% increase, and the headline evidence that the streak mechanic drives retention.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo app icon smartphone",
        "imagePrompt": "A smartphone home screen with the green Duolingo owl app icon among other daily-use apps.",
        "alt": "Duolingo's 521% Climb",
        "depictable": true,
        "credit": "Pexels · Czapp Árpád · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/hand-holding-a-turned-on-smartphone-17077346/",
        "subject": "A hand holds an iPhone outdoors (autumn foliage/building blurred behind it); the home screen shows a Weather widget, a Duolingo widget with the green owl mascot and a flame streak counter reading '345', and app icons including Duolingo, Spotify, Photos, Settings, Files, and Reminders.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-dau-3.webp"
      },
      "uid": "1wvsceipsuwka"
    },
    {
      "id": "fi-ot-gg-1",
      "tags": [
        "goal-gradient",
        "definitions"
      ],
      "title": "The Goal Gradient Effect",
      "body": "The Goal Gradient Effect is the finding that people accelerate their effort the closer they get to a goal — proximity to a reward makes it feel more valuable, so the final stretch gets the most energy.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "runner sprinting finish line",
        "imagePrompt": "A runner straining with visible extra effort in the final stretch just before a finish line.",
        "alt": "The Goal Gradient Effect",
        "depictable": false,
        "credit": "Pexels · A young male runner crossing the finish line on a track, demonstrating determination and effort.",
        "creditUrl": "https://www.pexels.com/photo/a-man-in-red-tank-top-running-with-his-eyes-closed-12683172/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-gg-1.webp"
      },
      "uid": "vt43d6ft4msm"
    },
    {
      "id": "fi-ot-gg-3",
      "tags": [
        "schedules",
        "fixed-ratio"
      ],
      "title": "Reward Every Ten Cards",
      "body": "A fixed-ratio schedule delivers a reward after a set number of actions, like 10 XP for every 10 cards reviewed. It's one of several reinforcement patterns — loot boxes run on variable ratio, and daily login bonuses run on fixed interval.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "flashcard app reward burst",
        "imagePrompt": "A flashcard learning app screen showing a celebratory burst of stars after completing ten reviewed cards.",
        "alt": "Reward Every Ten Cards",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Flickr_-_The_U.S._Army_-_%27Read_Iraq%27.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-gg-3.webp"
      },
      "uid": "hwcl1q506dn"
    },
    {
      "id": "fi-ot-gg-4",
      "tags": [
        "schedules",
        "variable-ratio"
      ],
      "title": "Why Loot Boxes Work",
      "body": "Variable-ratio reinforcement — rewards after an unpredictable number of actions — produces the highest, most persistent response rates of any schedule, with the greatest resistance to extinction. That's why loot boxes and randomized drops are so widely used.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "video game loot box opening",
        "imagePrompt": "A video game treasure chest bursting open with glowing randomized reward items spilling out.",
        "alt": "Why Loot Boxes Work",
        "depictable": true,
        "credit": "Wikimedia Commons (Wikipedia: Reinforcement)",
        "creditUrl": "https://en.wikipedia.org/wiki/Reinforcement",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/sa-concept-variable-ratio.jpg"
      },
      "uid": "pmqmig1i95sic"
    },
    {
      "id": "fi-sa-mcq-metcalfe",
      "tags": [
        "network-effects",
        "frameworks"
      ],
      "title": "Metcalfe's Law",
      "body": "Metcalfe's Law models a network's value as scaling with the square of its user count (n²) — because the number of possible connections between users grows roughly with the square of how many there are.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "network diagram connected nodes",
        "imagePrompt": "An abstract diagram of many glowing dots connected by crisscrossing lines across a dark background.",
        "alt": "Metcalfe's Law",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-metcalfe.webp"
      },
      "uid": "1bed86z3tga3t"
    },
    {
      "id": "fi-ot-net-quadruple-4",
      "tags": [
        "metcalfe",
        "n-squared"
      ],
      "title": "Double Users, Quadruple Value",
      "body": "Metcalfe's Law implies that if a network's user base doubles, its value in theory quadruples, since (2n)² works out to four times the original n². It's a directional intuition about network value, not precise accounting.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "network diagram nodes doubling",
        "imagePrompt": "Two side-by-side abstract node diagrams, the second with twice the nodes and far more connecting lines.",
        "alt": "Double Users, Quadruple Value",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-net-quadruple-4.webp"
      },
      "uid": "1xub3uq1iugcta"
    },
    {
      "id": "fi-ot-moat-graph-1",
      "tags": [
        "social-graph",
        "moat"
      ],
      "title": "The Social Graph",
      "body": "The social graph that anchored Facebook's moat was a persistent, identity-based map of real-world relationships — tied to users' actual names and contacts, not just shared interests. An interest-based map, like TikTok's, is a different thing entirely.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Facebook app smartphone screen",
        "imagePrompt": "A smartphone screen displaying the Facebook app open to a friends and profile interface.",
        "alt": "The Social Graph",
        "depictable": true,
        "credit": "Yuri Samoilov · CC BY 2.0",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Facebook_app_icon_on_smartphone_screen_(perspective_render)_(49896915791).jpg",
        "subject": "Sharp macro/perspective photo of a smartphone screen: the Facebook app icon (blue square, white f) and 'Facebook' label in crisp focus, with an Apple Pay icon and a Google Maps icon blurred in the background.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-moat-graph-1.webp"
      },
      "uid": "1o0co06jszouy"
    },
    {
      "id": "fi-ot-moat-drawbridge-3",
      "tags": [
        "moat",
        "features"
      ],
      "title": "Drawbridges Not The Moat",
      "body": "News Feed, Groups, and Photos were never the moat itself — they were drawbridges layered on top of the social graph, giving users fresh reasons to return. Rivals could copy the features easily; what they couldn't copy was the graph underneath.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Facebook News Feed app",
        "imagePrompt": "A smartphone showing the Facebook app open to a scrolling News Feed with photo and group icons nearby.",
        "alt": "Drawbridges Not The Moat",
        "depictable": true,
        "credit": "Pexels · Brett Jordan · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/smartphone-screen-in-close-up-shot-7568294/",
        "subject": "A tilted close-up of a smartphone home screen with several app icons softly blurred at the edges; the blue Facebook icon (white 'f', red notification badge) is in sharp focus and labeled 'Facebook', next to Instagram and a 'BBC NEWS' icon.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-moat-drawbridge-3.webp"
      },
      "uid": "c78xdzsxryzh"
    },
    {
      "id": "fi-ot-quant-total-2",
      "tags": [
        "platform-value",
        "measurement"
      ],
      "title": "Pricing Facebook's Whole Platform",
      "body": "A study by MIT, Chapman, and UCLA valued Facebook's whole platform at $78 to $101 per user per month. That's the total bundle, distinct from two other figures in the same research: a 20–34% social share and a 40–60% retention lift.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Facebook app icon phone",
        "imagePrompt": "A smartphone home screen displaying the Facebook app icon among a row of other social apps.",
        "alt": "Pricing Facebook's Whole Platform",
        "depictable": true,
        "credit": "Pexels · Pixabay · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/space-gray-iphone-6-414830/",
        "subject": "A black iPhone 6 at an angle on a white surface, phone body/edge/buttons visible, with only the Facebook app icon in sharp focus on an otherwise blank home screen with blurred bokeh circles behind it",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-quant-total-2.webp"
      },
      "uid": "1fqdvbw1nuelak"
    },
    {
      "id": "fi-ot-viral-leaderboard-1",
      "tags": [
        "leaderboard",
        "serotonin"
      ],
      "title": "The Serotonin Scoreboard",
      "body": "Competitive leaderboards work primarily through status and serotonin, not bonding. That's a different chemical driver than co-op quests or parasocial attachments, which run on oxytocin instead.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "mobile game leaderboard screen",
        "imagePrompt": "A mobile game leaderboard screen showing a ranked list of players with small trophy icons beside the top three.",
        "alt": "The Serotonin Scoreboard",
        "depictable": true,
        "credit": "Pexels · Element5 Digital · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/led-light-signage-1293269/",
        "subject": "A real photograph of an arcade LED leaderboard screen showing ranked player names and scores (1ST EUGENE 292970, 2ND ELOFF 222990, 3RD MATTHEW..., down to 10th), shot at an angle in a dim arcade with neon cabinet lighting blurred in the background.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-viral-leaderboard-1.webp"
      },
      "uid": "7vca4cgzcp3w"
    },
    {
      "id": "fi-ot-viral-parasocial-2",
      "tags": [
        "parasocial",
        "oxytocin"
      ],
      "title": "Bonding With A Cartoon Owl",
      "body": "The attachment users feel to Duolingo's Duo owl is a parasocial bond — an oxytocin-mediated connection to a non-reciprocating entity, manufactured through consistency and a mild threat of loss.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo owl mascot character",
        "imagePrompt": "The green Duolingo owl mascot character illustration as seen inside the language-learning app.",
        "alt": "Bonding With A Cartoon Owl",
        "depictable": true,
        "credit": "Pexels · Arian Fernandez · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/close-up-of-a-eurasian-eagle-owl-in-florida-31205571/",
        "subject": "A close-up photograph of a real Eurasian eagle-owl looking straight into the camera, bright orange eyes and raised ear tufts, sharp focus against a soft blurred background.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-viral-parasocial-2.webp"
      },
      "uid": "f6h8xh9xdo8n"
    },
    {
      "id": "fi-mcq-rw-l5-net-p4-interest-graph",
      "tags": [
        "tiktok",
        "interest-graph",
        "recommendation"
      ],
      "title": "Completion And Shares Win",
      "body": "TikTok's For You Page reads many signals — comments, follows, and re-watches among them — but weights completion rate and shares most heavily. It learns your interests from what you actually do, not from who you follow.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "TikTok For You Page",
        "imagePrompt": "A smartphone showing the TikTok app open to its vertical-scrolling For You video feed.",
        "alt": "Completion And Shares Win",
        "depictable": true
      },
      "uid": "1kolld01960m94"
    },
    {
      "id": "fi-ot-interest-tradeoff-3",
      "tags": [
        "engagement",
        "tradeoff"
      ],
      "title": "Longer Sessions, Weaker Bonds",
      "body": "Optimizing for raw engagement gives TikTok far longer sessions, but weaker social bonding — its ties are to content categories, not to people. That trade-off sacrifices structural stickiness for pure watch time.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person watching TikTok phone",
        "imagePrompt": "A person lying on a couch absorbed in scrolling short videos on a phone for an extended stretch.",
        "alt": "Longer Sessions, Weaker Bonds",
        "depictable": true,
        "credit": "Pexels · Anton · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/a-person-holding-a-cellphone-4132540/",
        "subject": "A single hand holding a smartphone whose screen shows the TikTok app just opened to its logo/splash screen, against a plain neutral wall; clean, uncluttered composition.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-interest-tradeoff-3.webp"
      },
      "uid": "1wdji6w1ax0b0w"
    },
    {
      "id": "fi-ot-cac-def",
      "tags": [
        "cac",
        "definition"
      ],
      "title": "Pricing A New User",
      "body": "Customer Acquisition Cost, or CAC, is the dollar amount a company spends to land one new user. It's the denominator that viral growth mechanics are designed to shrink.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "dollar cost per customer",
        "imagePrompt": "A small stack of coins and bills beside a single silhouette icon, evoking the cost to gain one customer.",
        "alt": "Pricing A New User",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Grafitti_Barcelona_2.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-cac-def.webp"
      },
      "uid": "sfvi4e1qi4eay"
    },
    {
      "id": "fi-ot-kfactor-interpret",
      "tags": [
        "k-factor",
        "interpretation"
      ],
      "title": "Five Users, One New One",
      "body": "A K-factor of 0.2 means it takes five existing users, collectively, to generate one additional user over their lifetime. That's below the K-above-1 threshold for self-sustaining growth, so it's a reciprocal relationship, not a multiplier.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "referral network silhouette icons",
        "imagePrompt": "Five small silhouette icons connected by faint lines converging toward one new silhouette icon.",
        "alt": "Five Users, One New One",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Bontang_Regional_Hospital.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-kfactor-interpret.webp"
      },
      "uid": "1bmhasqnldwma"
    },
    {
      "id": "fi-sa-mcq-kfactor-signals",
      "tags": [
        "growth",
        "k-factor",
        "metrics"
      ],
      "title": "What K Above 1 Signals",
      "body": "When a product's K-factor climbs above 1, each user is recruiting more than one new user — self-sustaining growth that signals strong product-market fit, a low customer acquisition cost, and a genuinely good user experience.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "viral growth tree diagram",
        "imagePrompt": "A branching diagram of silhouette icons where each person connects outward to more than one new person.",
        "alt": "What K Above 1 Signals",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-kfactor-signals.webp"
      },
      "uid": "f4whj71549px9"
    },
    {
      "id": "fi-ot-loops-content",
      "tags": [
        "growth-loops",
        "aso"
      ],
      "title": "Posts That Feed Search",
      "body": "The content/ASO loop turns everyday user activity — posts, reviews, and public profiles — into indexable material that lifts App Store and search visibility. It's how cold-search installs happen, distinct from direct recruiting or paid ads.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "app marketplace search results",
        "imagePrompt": "A smartphone showing an app marketplace search-results screen with rows of app icons and star-rating indicators.",
        "alt": "Posts That Feed Search",
        "depictable": true
      },
      "uid": "1wsyd7h1dbyimj"
    },
    {
      "id": "fi-ot-loops-paid",
      "tags": [
        "growth-loops",
        "paid"
      ],
      "title": "Ads That Fund More Ads",
      "body": "The paid acquisition loop works by spending on ads to buy installs, then reinvesting the in-app revenue those installs generate into more ad spend. Unlike the viral and content loops, it isn't nearly free at the margin.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "mobile app advertisement banner",
        "imagePrompt": "A smartphone screen displaying a full-screen mobile app install advertisement with a bold call-to-action button.",
        "alt": "Ads That Fund More Ads",
        "depictable": true
      },
      "uid": "1lmhm6h5mxxdf"
    },
    {
      "id": "fi-ot-loops-viral",
      "tags": [
        "growth-loops",
        "viral"
      ],
      "title": "Users Recruiting Users",
      "body": "The viral loop grows a product through users recruiting other users — via sharing, invitations, or social artifacts — at almost no cost per install. It works best when sharing is built into the core experience, not bolted on as a separate button.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person sharing app invite",
        "imagePrompt": "A person smiling while sharing an app invitation from their smartphone toward a friend's phone.",
        "alt": "Users Recruiting Users",
        "depictable": true,
        "credit": "Pexels · cottonbro studio · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/a-person-holding-a-smartphone-6473733/",
        "subject": "Two women on a couch, one holding a smartphone open to a health-tracker app's menu (symptoms, cycle, mood), both looking at the screen together — the only candidate showing joint engagement with a phone.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-loops-viral.webp"
      },
      "uid": "lm3e2udg4upu"
    },
    {
      "id": "fi-ot-ltv-retention",
      "tags": [
        "ltv",
        "retention"
      ],
      "title": "Retention's Big LTV Payoff",
      "body": "A five-percentage-point improvement in retention can raise a user's lifetime value by roughly 25 to 95 percent — which is why retention is a far more capital-efficient lever than paid acquisition for growing LTV.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "rising growth arrow coins",
        "imagePrompt": "An upward-curving growth arrow made of stacked coins, symbolizing rising customer lifetime value.",
        "alt": "Retention's Big LTV Payoff",
        "depictable": false,
        "credit": "Pexels · Vector illustration of income growth chart with arrow and euro coins against purple background",
        "creditUrl": "https://www.pexels.com/photo/graph-with-increasing-euro-profitable-investment-6289026/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ltv-retention.webp"
      },
      "uid": "hgbetkb6yef8"
    },
    {
      "id": "fi-ot-share-wrapped",
      "tags": [
        "shareable-artifact",
        "spotify-wrapped"
      ],
      "title": "Spotify's December Detonation",
      "body": "Spotify Wrapped is the archetypal shareable artifact: an identity-affirming yearly summary that spreads across social media every December without any paid media behind it.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Spotify Wrapped summary screen",
        "imagePrompt": "A smartphone displaying a vibrant, colorful year-in-review music summary screen with bold abstract shapes and album art.",
        "alt": "Spotify's December Detonation",
        "depictable": true
      },
      "uid": "5ypu7s7zujd0"
    },
    {
      "id": "fi-ot-share-badge",
      "tags": [
        "shareable-artifact",
        "duolingo"
      ],
      "title": "The Top 1% Badge",
      "body": "Duolingo's 'Top 1% of learners' badge works as a shareable artifact: it signals discipline to the user's social graph, and curious onlookers get pulled into the app.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo achievement badge screen",
        "imagePrompt": "The Duolingo app displaying a golden achievement badge icon with a share button beneath it.",
        "alt": "The Top 1% Badge",
        "depictable": true,
        "credit": "Pexels · DS stories · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/gold-round-ornament-on-red-lace-7267587/",
        "subject": "A gold medal embossed with the number '1', hanging from a red ribbon against a plain beige backdrop — a generic, brand-neutral symbol of first-place/top achievement.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-share-badge.webp"
      },
      "uid": "psid7jye7o35"
    },
    {
      "id": "fi-ot-share-embed",
      "tags": [
        "referrals",
        "incentive-design"
      ],
      "title": "Unlock It, Don't Bribe",
      "body": "The more sophisticated referral embeds its incentive in content value tied to the core loop, like unlocking a deck by inviting a partner — it draws people who want the product, not the coupon.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "app unlock invite friend",
        "imagePrompt": "A smartphone showing a locked content card with a glowing padlock icon and an invite-a-friend button.",
        "alt": "Unlock It, Don't Bribe",
        "depictable": true
      },
      "uid": "1yjx401ya5arg"
    },
    {
      "id": "fi-ot-aha-def-1",
      "tags": [
        "aha-moment",
        "definition"
      ],
      "title": "When Value Feels Real",
      "body": "An app's Aha Moment is the instant its core value becomes emotionally real to the user — not the moment they finish a tutorial.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person smiling at phone",
        "imagePrompt": "A person's face lighting up with a genuine smile of realization while looking at their smartphone.",
        "alt": "When Value Feels Real",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Andrew_Poston.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-aha-def-1.webp"
      },
      "uid": "14ao57ryggmx5"
    },
    {
      "id": "fi-ot-aha-twitter-2",
      "tags": [
        "twitter",
        "thresholds"
      ],
      "title": "Twitter's Onboarding Number",
      "body": "Twitter's Aha-Moment onboarding threshold was following 30 accounts — enough signal to fill a timeline worth returning to.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Twitter onboarding follow screen",
        "imagePrompt": "A smartphone showing a social app onboarding screen with a scrollable list of suggested profile avatars to follow.",
        "alt": "Twitter's Onboarding Number",
        "depictable": true,
        "credit": "Pexels · Sanket  Mishra · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/hand-holding-a-smartphone-with-twitter-icon-on-screen-iphone-with-a-social-media-app-logo-17894357/",
        "subject": "A hand holding a smartphone displaying Twitter's blue bird-logo splash/loading screen, outdoors with green foliage bokeh in the background — clean generic Twitter branding shot",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-aha-twitter-2.webp"
      },
      "uid": "1kito1ayqv7xi"
    },
    {
      "id": "fi-ot-aha-duolingo-3",
      "tags": [
        "duolingo",
        "thresholds"
      ],
      "title": "Duolingo's Instant Payoff",
      "body": "Duolingo's Aha Moment is immediate and sensory: finishing the first lesson and getting the animated XP reward, a dopamine hit rather than a slow-building realization.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo lesson complete celebration",
        "imagePrompt": "The Duolingo app celebration screen after finishing a lesson, showing a burst of confetti and stars.",
        "alt": "Duolingo's Instant Payoff",
        "depictable": true,
        "credit": "Pexels · Yan Krukau · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/boy-and-teacher-doing-a-high-five-during-piano-lessons-8520477/",
        "subject": "A boy and a woman (his piano teacher, with sheet music on a stand in the foreground) sharing an overhead high-five, both smiling — an immediate, physical celebratory reaction right after a music lesson.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-aha-duolingo-3.webp"
      },
      "uid": "1sdjvn3v42s01"
    },
    {
      "id": "fi-sa-mcq-find-aha",
      "tags": [
        "onboarding",
        "aha-moment",
        "case-study"
      ],
      "title": "Hunting The Aha Moment",
      "body": "Product teams find an app's Aha Moment by analyzing cohort data for which early actions correlate with long-term retention, then re-engineering onboarding to steer every new user through that sequence.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "team analyzing data dashboard",
        "imagePrompt": "A product team gathered around a monitor displaying user retention charts and cohort analysis graphs.",
        "alt": "Hunting The Aha Moment",
        "depictable": true,
        "credit": "Pexels · Kampus Production · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/close-up-of-holding-papers-with-graphs-8171183/",
        "subject": "Two colleagues holding a foldable tablet-style device displaying a multi-panel analytics dashboard (bar chart, line chart, data table) with a blurred trading-style monitor in the background",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-find-aha.webp"
      },
      "uid": "1x1m1aq191pp6y"
    },
    {
      "id": "fi-ot-push-timing-2",
      "tags": [
        "push",
        "timing"
      ],
      "title": "Timed To Your Habits",
      "body": "The timing rule for push says notifications should land at moments a user has historically opened the app — not at a fixed interval sent regardless of context.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "smartphone notification in hand",
        "imagePrompt": "A hand holding a smartphone showing a single push notification banner on the lock screen during a routine moment.",
        "alt": "Timed To Your Habits",
        "depictable": true,
        "credit": "Unsplash · Rodion Kutsaiev",
        "creditUrl": "https://unsplash.com/photos/person-holding-smartphone-0VGG7cqTwCo",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-push-timing-2.webp"
      },
      "uid": "1ehmk3vjkzvp5"
    },
    {
      "id": "fi-ot-push-personal-3",
      "tags": [
        "push",
        "personalization"
      ],
      "title": "Copy That Pays Attention",
      "body": "Personalized push copy — referencing a user's name, streak, or behavioral history — outperforms generic copy because it signals the app is actually paying attention to them.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "personalized push notification phone",
        "imagePrompt": "A smartphone lock screen showing a single push notification styled as a warm, personalized message bubble.",
        "alt": "Copy That Pays Attention",
        "depictable": true,
        "credit": "Unsplash · Jamie Street",
        "creditUrl": "https://unsplash.com/photos/person-holding-phone-33oxtOMk6Ac",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-push-personal-3.webp"
      },
      "uid": "1wqu3nohw6el0"
    },
    {
      "id": "fi-ot-push-fomo-4",
      "tags": [
        "push",
        "fomo"
      ],
      "title": "The Curiosity Gap Trick",
      "body": "Push copy that withholds just enough — like 'Your streak is at risk' — creates a curiosity gap and mild FOMO that motivates a tap, unlike copy that resolves everything upfront.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "urgent phone notification banner",
        "imagePrompt": "A smartphone lock screen showing a single urgent-styled push notification banner glowing with a warning-red accent.",
        "alt": "The Curiosity Gap Trick",
        "depictable": true,
        "credit": "Unsplash · Jamie Street",
        "creditUrl": "https://unsplash.com/photos/person-holding-phone-33oxtOMk6Ac",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-push-fomo-4.webp"
      },
      "uid": "10rs3vg1p1lkak"
    },
    {
      "id": "fi-sa-mcq-doherty",
      "tags": [
        "design-patterns",
        "core-loop"
      ],
      "title": "The 400ms Ceiling",
      "body": "A core loop needs to deliver feedback in under roughly 400 milliseconds — the Doherty Threshold below which an interaction feels immediate and responsive, rather than sluggish.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "finger tapping smartphone screen",
        "imagePrompt": "A close-up of a finger tapping a smartphone screen with a subtle motion-blur ripple showing instant response.",
        "alt": "The 400ms Ceiling",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Finger_prop.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-doherty.webp"
      },
      "uid": "1jc629a1n4e7r6"
    },
    {
      "id": "fi-ot-onbo-sequence-order",
      "tags": [
        "social-sequencing"
      ],
      "title": "The Social Onboarding Order",
      "body": "Social mechanics should be introduced in sequence: asynchronous social proof first since it needs no mutual timing, cooperative features once the user has a stake, then synchronous competition last, since forcing real-time play too early destroys sessions.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "onboarding steps flow diagram",
        "imagePrompt": "A three-step icon sequence showing a proof badge, a handshake, and a head-to-head competition icon in order.",
        "alt": "The Social Onboarding Order",
        "depictable": false,
        "credit": "AI-generated (gpt-image-1.5)",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-onbo-sequence-order.webp"
      },
      "uid": "1o6newp10mgb4z"
    },
    {
      "id": "fi-mcq-rw-l8-dp-p2-social-onboarding",
      "tags": [
        "onboarding",
        "social-mechanics",
        "sequencing"
      ],
      "title": "Why Real-Time Waits",
      "body": "Synchronous competition, like live battles or real-time leaderboards, is saved for last in onboarding because forcing real-time play on users who barely know the app destroys more sessions than it creates.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "live multiplayer battle screen",
        "imagePrompt": "A mobile game screen showing a live head-to-head battle between two players with a countdown timer.",
        "alt": "Why Real-Time Waits",
        "depictable": true,
        "credit": "Unsplash · Akhil Jasrotia",
        "creditUrl": "https://unsplash.com/photos/a-dark-room-with-neon-signs-and-neon-lights-DEJKL4_FaFE",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-mcq-rw-l8-dp-p2-social-onboarding.webp"
      },
      "uid": "1z3whrd80nm9"
    },
    {
      "id": "fi-ot-onbo-progressive",
      "tags": [
        "onboarding",
        "progressive-disclosure"
      ],
      "title": "Reveal, Don't Dump",
      "body": "Progressive disclosure means revealing an app's complexity gradually instead of dumping every feature on a new user at once — without context, seeing it all creates overwhelm, not excitement.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "cluttered app interface icons",
        "imagePrompt": "A split-screen contrast of a cluttered app interface crammed with icons beside one clean glowing button.",
        "alt": "Reveal, Don't Dump",
        "depictable": false,
        "credit": "Pexels · Detailed close-up of smartphone home screen displaying app icons like Shortcuts and Power Nap.",
        "creditUrl": "https://www.pexels.com/photo/blue-and-white-logo-guessing-game-5444628/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-onbo-progressive.webp"
      },
      "uid": "6l30vi1qvn1b2"
    },
    {
      "id": "fi-ot-onbo-blank-slate",
      "tags": [
        "onboarding",
        "zero-blank-slate"
      ],
      "title": "Never Start From Empty",
      "body": "The zero blank slate principle pre-populates a new user's experience with suggested friends or seeded content, because an empty screen signals that nobody uses the app.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "empty app feed screen",
        "imagePrompt": "A smartphone showing a stark, empty social app feed with a faint placeholder graphic where content would be.",
        "alt": "Never Start From Empty",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:2015_Vauxhall_Vivaro,_rear_interior.jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-onbo-blank-slate.webp"
      },
      "uid": "3et6ms11jndjw"
    },
    {
      "id": "fi-sa-mcq-dark-pattern",
      "tags": [
        "design-patterns",
        "ethics"
      ],
      "title": "Impossible To Cancel",
      "body": "An impossible-to-find cancellation flow is a classic dark pattern rather than a humane design choice — it destroys the user's trust in the app.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "frustrated person phone settings",
        "imagePrompt": "A frustrated person scrolling through nested app settings menus searching for a hidden cancel button.",
        "alt": "Impossible To Cancel",
        "depictable": true,
        "credit": "Pexels · Asian woman in white shirt looks frustrated while talking on phone by a window.",
        "creditUrl": "https://www.pexels.com/photo/photo-of-a-woman-talking-on-the-phone-while-her-hand-is-on-her-face-4333575/",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-dark-pattern.webp"
      },
      "uid": "1wpul6n14js6qt"
    },
    {
      "id": "fi-ot-ethics-fogg-want",
      "tags": [
        "ethics",
        "fogg"
      ],
      "title": "What People Already Want",
      "body": "Fogg's first maxim tells designers to help people do what they already want to do — lasting behavior change comes from aligning with existing motivation, not pushing users toward goals they don't hold.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "BJ Fogg behavior scientist portrait",
        "imagePrompt": "A portrait photo of behavior scientist BJ Fogg, known for his research on habits and behavior design.",
        "alt": "What People Already Want",
        "depictable": true,
        "credit": "Wikipedia — B. J. Fogg · See Wikimedia Commons",
        "creditUrl": "https://en.wikipedia.org/wiki/B._J._Fogg",
        "subject": "A grey-haired man in a plaid shirt smiling broadly outdoors in front of green foliage — the current Wikipedia infobox photo for 'B. J. Fogg', filename '2017 portrait BJ Fogg.jpg'.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ethics-fogg-want.webp"
      },
      "uid": "o0d9y31xsgrkd"
    },
    {
      "id": "fi-ot-ethics-simplicity",
      "tags": [
        "ethics",
        "fogg"
      ],
      "title": "Friction Beats Motivation",
      "body": "Fogg's companion maxim holds that removing friction from a desired action changes behavior more reliably than trying to raise motivation for a reluctant one — simplicity wins.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "smooth ramp marble rolling",
        "imagePrompt": "A smooth marble rolling effortlessly down a frictionless ramp beside a rough, bumpy ramp.",
        "alt": "Friction Beats Motivation",
        "depictable": false,
        "credit": "Pexels · Peter Dyllong · Pexels License",
        "creditUrl": "https://www.pexels.com/photo/modern-skatepark-curved-ramp-structure-outdoors-37077437/",
        "subject": "A brightly sunlit modern skatepark: a single smooth, gently curved concrete ramp with a vivid green coping edge, clearly legible and uncluttered.",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ethics-simplicity.webp"
      },
      "uid": "cxpz1xxk9dhf"
    },
    {
      "id": "fi-ot-ethics-shaming",
      "tags": [
        "ethics",
        "dark-pattern"
      ],
      "title": "Guilt-Tripping The Decline Button",
      "body": "A decline button labeled 'No, I don't want to be smart' is shaming copy — a dark pattern that works against the user's own goals and erodes long-term trust.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "app pop-up decline button",
        "imagePrompt": "A mobile app pop-up dialog with a large, brightly highlighted accept button and a small, unappealing decline link.",
        "alt": "Guilt-Tripping The Decline Button",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Cwa_detail_android.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ethics-shaming.webp"
      },
      "uid": "1791atb1ssrkj9"
    },
    {
      "id": "fi-ot-ppte-people",
      "tags": [
        "ppte",
        "people"
      ],
      "title": "The People Question",
      "body": "The 'People' axis of the PPTE framework asks who is in a user's social graph and how the app surfaces them — building mutual accountability, competitive stakes, and belonging without adding any new content.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "social circle connected people",
        "imagePrompt": "A ring of diverse silhouette figures connected by thin lines around a glowing smartphone.",
        "alt": "The People Question",
        "depictable": false,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Bid_rent1_-_2.png",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ppte-people.webp"
      },
      "uid": "1bujn0t1q6qv3z"
    },
    {
      "id": "fi-ot-ppte-places",
      "tags": [
        "ppte",
        "places"
      ],
      "title": "Where You Open It",
      "body": "The 'Places' axis asks where a user physically and mentally is when they engage — a commute app should behave differently from a bedtime app, designed for real context rather than one generic session.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person on phone commuting",
        "imagePrompt": "A split image contrasting a person checking their phone while commuting on a train and someone using a phone in bed at night.",
        "alt": "Where You Open It",
        "depictable": true,
        "credit": "Unsplash · Štefan Štefančík",
        "creditUrl": "https://unsplash.com/photos/man-in-black-jacket-wearing-black-fitted-cap-while-using-phone-Ue2-23uBwNw",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-ppte-places.webp"
      },
      "uid": "1065kxw7uxp8k"
    },
    {
      "id": "fi-sa-mcq-duolingo-ai",
      "tags": [
        "case-study",
        "duolingo",
        "gamification"
      ],
      "title": "AI Collapsed The Timeline",
      "body": "Generative AI let Duolingo launch 148 new courses in under a year, down from more than 12 months of production time per course — a step-change in content breadth that feeds retention.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Duolingo course selection screen",
        "imagePrompt": "The Duolingo app displaying a long grid of many different language course icons available to choose from.",
        "alt": "AI Collapsed The Timeline",
        "depictable": true,
        "credit": "Unsplash · appshunter.io",
        "creditUrl": "https://unsplash.com/photos/a-green-phone-with-a-face-drawn-on-it-rwKxK0zWxDI",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-sa-mcq-duolingo-ai.webp"
      },
      "uid": "eug72lnxxnq"
    },
    {
      "id": "fi-ot-duo-num-1",
      "tags": [
        "duolingo",
        "dau-mau",
        "metrics"
      ],
      "title": "Double The Industry Average",
      "body": "Duolingo's DAU/MAU ratio reached 36% — roughly double the 20% industry average, and the number analysts point to as evidence its retention mechanics are working.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "person using Duolingo daily",
        "imagePrompt": "A person casually using the Duolingo app on their phone during a daily routine moment, like on a couch.",
        "alt": "Double The Industry Average",
        "depictable": true,
        "credit": "Unsplash · appshunter.io",
        "creditUrl": "https://unsplash.com/photos/a-green-phone-with-a-face-drawn-on-it-rwKxK0zWxDI",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-duo-num-1.webp"
      },
      "uid": "1drfpke1t0e3na"
    },
    {
      "id": "fi-ot-tt-ig-2",
      "tags": [
        "instagram",
        "social-graph",
        "moat"
      ],
      "title": "Family Ties Hit Different",
      "body": "Research behind the Instagram case study found that users value connections with family and close friends at a qualitatively different level than purely content-based follows.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "family looking at phone",
        "imagePrompt": "A family gathered together, smiling while looking at photos on a smartphone screen.",
        "alt": "Family Ties Hit Different",
        "depictable": true,
        "credit": "Unsplash · Vitaly Gariev",
        "creditUrl": "https://unsplash.com/photos/a-man-woman-and-child-sitting-on-a-couch-looking-at-their-cell-phones-XV27HoZzYK8",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-tt-ig-2.webp"
      },
      "uid": "q2z6hqyadb92"
    },
    {
      "id": "fi-ot-tt-ig-4",
      "tags": [
        "tiktok",
        "signals",
        "ranking"
      ],
      "title": "Sharing Beats Social Proof",
      "body": "TikTok's ranking weighs completion and sharing above comments, follows, and re-watches — a bet on revealed preference, what you actually finish and pass on, over social signals like who you follow.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "TikTok app share icon",
        "imagePrompt": "A smartphone showing the TikTok app video player with a share icon highlighted among other engagement icons.",
        "alt": "Sharing Beats Social Proof",
        "depictable": true,
        "credit": "Unsplash · Alexander Shatov",
        "creditUrl": "https://unsplash.com/photos/red-and-whites-logo-I4p0FcjDBJI",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-tt-ig-4.webp"
      },
      "uid": "ujmd7f1xactph"
    },
    {
      "id": "fi-ot-snap-3",
      "tags": [
        "snapchat",
        "streaks",
        "loss-aversion"
      ],
      "title": "Protecting A Number",
      "body": "Snapchat's streak mechanic turns posting frequency into a loss-aversion engine: users keep opening the app to protect a number, not because that day's content matters.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "Snapchat streak flame icon",
        "imagePrompt": "The Snapchat app chat list showing a fire emoji streak icon glowing next to a friend's contact row.",
        "alt": "Protecting A Number",
        "depictable": true,
        "credit": "Unsplash · Alexander Shatov",
        "creditUrl": "https://unsplash.com/photos/blue-and-white-cloud-cartoon-character-fRjjnN_8njo",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-snap-3.webp"
      },
      "uid": "1f821eg11gcpoo"
    },
    {
      "id": "fi-ot-farm-1",
      "tags": [
        "farmville",
        "mau",
        "metrics"
      ],
      "title": "74 Million Farmers",
      "body": "FarmVille peaked at 74 million monthly active users in 2009 — the earliest mass demonstration that an obligation loop could sustain engagement at that scale.",
      "shape": "fact",
      "illustration": {
        "imageSearchTerm": "farming simulation video game",
        "imagePrompt": "A colorful cartoon farming simulation video game screen showing crop plots, animals, and a farmhouse.",
        "alt": "74 Million Farmers",
        "depictable": true,
        "credit": "Wikimedia Commons · see source",
        "creditUrl": "https://commons.wikimedia.org/wiki/File:Farming_Simulator_at_Gamescom_2016_(29018471426).jpg",
        "url": "https://cdn.recurxive.com/packs/sticky-apps/images/fi-ot-farm-1.webp"
      },
      "uid": "c1vdm1163pxxn"
    },
    {
      "id": "ot-cov-duolingo-retention-numbers-1",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "retention",
        "streak"
      ],
      "prompt": {
        "modality": "text",
        "value": "The guide ties Duolingo's 521% DAU growth to which pattern as evidence the streak mechanic drives retention?"
      },
      "options": [
        {
          "modality": "text",
          "value": "Launch of variable-ratio loot box rewards"
        },
        {
          "modality": "text",
          "value": "Rising DAU/MAU ratio showing daily-habit conversion"
        },
        {
          "modality": "text",
          "value": "A drop in DAU offset by higher badge counts"
        },
        {
          "modality": "text",
          "value": "Higher revenue from Streak Freeze purchases"
        }
      ],
      "correctIndex": 1,
      "explanation": "The guide states DAU/MAU climbing from 21% to 36% means a growing share of monthly users became daily habits, the retention signal linked to the streak.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "75jpmn1s89pr1"
    },
    {
      "id": "ot-cov-duolingo-retention-numbers-2",
      "shape": "mcq",
      "tags": [
        "duolingo",
        "retention",
        "streak"
      ],
      "prompt": {
        "modality": "text",
        "value": "What does the DAU/MAU ratio rising from 21% to 36% indicate about the streak's retention effect?"
      },
      "options": [
        {
          "modality": "text",
          "value": "A growing share of monthly users became daily habits"
        },
        {
          "modality": "text",
          "value": "Monthly active users declined overall"
        },
        {
          "modality": "text",
          "value": "Users shifted from streaks to the Saga Map"
        },
        {
          "modality": "text",
          "value": "Streak Freeze purchases replaced daily practice"
        }
      ],
      "correctIndex": 0,
      "explanation": "The guide's own wording: the rising ratio means a growing share of monthly users became daily habits, the retention outcome credited to the streak mechanic.",
      "source": {
        "label": "The Science of Sticky Apps — Objective Test"
      },
      "uid": "1me6sgt1x7rwb7"
    }
  ],
  "lessons": [
    {
      "id": "l1-history",
      "title": "How We Got Here",
      "order": 1,
      "studyGuidePath": "/packs/sticky-apps/guides/l1-history-p1-captology.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l1-history-p1-captology",
          "title": "Captology & the persuasion roots",
          "order": 1,
          "blurb": "How a 1993 Stanford dissertation turned persuasion into an engineering discipline.",
          "studyGuideAnchor": "it-started-with-a-dissertation",
          "itemIds": [
            "sa-def-captology",
            "sa-fact-charismatic-computers",
            "sa-fact-stanford-lab",
            "sa-pair-fogg-captology",
            "sa-fact-bmap-foreshadow",
            "sa-num-fogg-dissertation",
            "sa-num-captology-coined",
            "sa-num-stanford-lab",
            "sa-num-persuasive-tech-book",
            "czr-sticky-apps-sa-def-captology",
            "cz-sticky-apps-sa-fact-charismatic-computers",
            "cz-sticky-apps-sa-fact-stanford-lab",
            "mcq-c-sticky-apps-sa-fact-stanford-lab",
            "tf-d-sticky-apps-sa-def-captology",
            "concept-rw-sticky-apps-captology",
            "ot-captology-define",
            "ot-captology-coiner",
            "ot-captology-fogg-role",
            "ot-captology-not",
            "ot-timeline-dissertation",
            "ot-timeline-coined",
            "ot-timeline-lab",
            "ot-timeline-book",
            "ot-timeline-order",
            "fi-ot-captology-define",
            "fi-ot-timeline-coined"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l1-history-p1-captology.md"
        },
        {
          "id": "l1-history-p2-social-mobile",
          "title": "Social games & the mobile Skinner box",
          "order": 2,
          "blurb": "FarmVille's viral loops and the smartphone that put a conditioning chamber in your pocket.",
          "studyGuideAnchor": "social-games-the-mobile-skinner-box",
          "itemIds": [
            "sa-fact-facebook-platform",
            "sa-fact-farmville",
            "sa-num-farmville-dau-4days",
            "sa-num-farmville-dau-6months",
            "sa-fact-portable-skinner-box",
            "sa-pair-lembke-digital-dopamine",
            "sa-def-infinite-scroll",
            "sa-pair-raskin-infinite-scroll",
            "sa-cmp-bookmark-vs-push",
            "czr-sticky-apps-sa-def-infinite-scroll",
            "cz-sticky-apps-sa-fact-facebook-platform",
            "mcq-c-sticky-apps-sa-fact-facebook-platform",
            "cz-sticky-apps-sa-fact-farmville",
            "cz-sticky-apps-sa-fact-portable-skinner-box",
            "mcq-c-sticky-apps-sa-fact-portable-skinner-box",
            "tf-t-sticky-apps-sa-pair-lembke-digital-dopamine",
            "tf-t-sticky-apps-sa-pair-raskin-infinite-scroll",
            "tf-d-sticky-apps-sa-def-infinite-scroll",
            "concept-rw-sticky-apps-farmville",
            "concept-rw-sticky-apps-infinite-scroll",
            "ot-social-obligation-mechanic",
            "ot-social-farmville-4days",
            "ot-social-farmville-6months",
            "ot-social-loop-driver",
            "ot-skinner-raskin",
            "ot-skinner-scroll-def",
            "ot-skinner-lembke",
            "ot-skinner-box-meaning",
            "fi-ot-skinner-raskin",
            "fi-ot-skinner-scroll-def"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l1-history-p2-social-mobile.md"
        },
        {
          "id": "l1-history-p3-hooked-algorithm",
          "title": "Hooked and the algorithm era",
          "order": 3,
          "blurb": "Nir Eyal's Hook Model, then TikTok's For You Page and the reinforcement-learning feed.",
          "studyGuideAnchor": "hooked-and-the-algorithm-era",
          "itemIds": [
            "sa-fact-hooked-book",
            "sa-pair-eyal-hook-model",
            "sa-mcq-hook-model-stages",
            "sa-fact-tiktok-fyp",
            "sa-def-for-you-page",
            "sa-num-iphone-launch",
            "sa-num-app-store-launch",
            "sa-num-hooked-published",
            "sa-num-tiktok-global",
            "sa-num-gatech-study-cost",
            "czr-sticky-apps-sa-def-for-you-page",
            "cz-sticky-apps-sa-fact-hooked-book",
            "tf-df-sticky-apps-sa-def-for-you-page",
            "concept-rw-sticky-apps-tiktok",
            "ot-hook-eyal-author",
            "ot-hook-hooked-year",
            "ot-hook-tiktok-year",
            "ot-hook-fyp-engine",
            "fi-sa-mcq-hook-model-stages",
            "fi-ot-hook-fyp-engine",
            "fi-ot-hook-hooked-year"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l1-history-p3-hooked-algorithm.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-define-captology",
          "statement": "Define captology and identify BJ Fogg as the researcher who coined it and founded the Stanford Persuasive Technology Lab.",
          "demonstrationIds": [
            "d-captology-meaning",
            "d-fogg-founder"
          ]
        },
        {
          "id": "obj-founding-timeline",
          "statement": "Place persuasive tech's founding milestones on a timeline: the Charismatic Computers dissertation, coining captology, the Stanford lab, the book.",
          "demonstrationIds": [
            "d-captology-years"
          ]
        },
        {
          "id": "obj-social-games-era",
          "statement": "Explain how the 2007 Facebook Developer Platform and FarmVille turned social obligation into a viral engagement engine.",
          "demonstrationIds": [
            "d-facebook-platform",
            "d-farmville-loop"
          ]
        },
        {
          "id": "obj-mobile-skinner-box",
          "statement": "Identify infinite scroll and the smartphone-as-portable-Skinner-box, crediting Aza Raskin and Anna Lembke.",
          "demonstrationIds": [
            "d-infinite-scroll",
            "d-skinner-box"
          ]
        },
        {
          "id": "obj-hook-to-algorithm",
          "statement": "Trace the shift from Nir Eyal's Hook Model to TikTok's algorithm-driven For You Page, with the key launch years.",
          "demonstrationIds": [
            "d-hook-synthesis",
            "d-modern-years"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-captology-meaning",
          "label": "What captology means",
          "itemIds": [
            "sa-def-captology",
            "czr-sticky-apps-sa-def-captology",
            "tf-d-sticky-apps-sa-def-captology",
            "concept-rw-sticky-apps-captology"
          ]
        },
        {
          "id": "d-fogg-founder",
          "label": "Fogg as founder of the field",
          "itemIds": [
            "sa-pair-fogg-captology",
            "cz-sticky-apps-sa-fact-charismatic-computers",
            "cz-sticky-apps-sa-fact-stanford-lab",
            "mcq-c-sticky-apps-sa-fact-stanford-lab"
          ]
        },
        {
          "id": "d-captology-years",
          "label": "Founding years of the field",
          "itemIds": [
            "sa-num-fogg-dissertation",
            "sa-num-captology-coined",
            "sa-num-stanford-lab",
            "sa-num-persuasive-tech-book"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-facebook-platform",
          "label": "Facebook Platform opens the gates",
          "itemIds": [
            "cz-sticky-apps-sa-fact-facebook-platform",
            "mcq-c-sticky-apps-sa-fact-facebook-platform"
          ]
        },
        {
          "id": "d-farmville-loop",
          "label": "FarmVille's viral loop and growth",
          "itemIds": [
            "cz-sticky-apps-sa-fact-farmville",
            "concept-rw-sticky-apps-farmville",
            "sa-num-farmville-dau-4days",
            "sa-num-farmville-dau-6months"
          ]
        },
        {
          "id": "d-infinite-scroll",
          "label": "Infinite scroll and Raskin",
          "itemIds": [
            "sa-def-infinite-scroll",
            "sa-pair-raskin-infinite-scroll",
            "czr-sticky-apps-sa-def-infinite-scroll",
            "concept-rw-sticky-apps-infinite-scroll"
          ]
        },
        {
          "id": "d-skinner-box",
          "label": "Portable Skinner box and digital dopamine",
          "itemIds": [
            "sa-pair-lembke-digital-dopamine",
            "cz-sticky-apps-sa-fact-portable-skinner-box",
            "mcq-c-sticky-apps-sa-fact-portable-skinner-box",
            "tf-t-sticky-apps-sa-pair-lembke-digital-dopamine"
          ]
        },
        {
          "id": "d-hook-synthesis",
          "label": "Eyal's Hook synthesis and the FYP",
          "itemIds": [
            "sa-pair-eyal-hook-model",
            "sa-mcq-hook-model-stages",
            "cz-sticky-apps-sa-fact-hooked-book",
            "sa-def-for-you-page"
          ]
        },
        {
          "id": "d-modern-years",
          "label": "iPhone, App Store, Hooked, TikTok years",
          "itemIds": [
            "sa-num-iphone-launch",
            "sa-num-app-store-launch",
            "sa-num-hooked-published",
            "sa-num-tiktok-global"
          ],
          "requiredCorrect": 3
        }
      ],
      "objectiveTests": [
        {
          "id": "test-define-captology",
          "objectiveId": "obj-define-captology",
          "title": "Captology & BJ Fogg",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-stanford-lab",
            "ot-captology-define",
            "ot-captology-coiner",
            "ot-captology-fogg-role",
            "ot-captology-not"
          ]
        },
        {
          "id": "test-founding-timeline",
          "objectiveId": "obj-founding-timeline",
          "title": "Founding Milestones Timeline",
          "mcqIds": [
            "ot-timeline-dissertation",
            "ot-timeline-coined",
            "ot-timeline-lab",
            "ot-timeline-book",
            "ot-timeline-order"
          ]
        },
        {
          "id": "test-social-games-era",
          "objectiveId": "obj-social-games-era",
          "title": "Facebook & FarmVille",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-facebook-platform",
            "ot-social-obligation-mechanic",
            "ot-social-farmville-4days",
            "ot-social-farmville-6months",
            "ot-social-loop-driver"
          ]
        },
        {
          "id": "test-mobile-skinner-box",
          "objectiveId": "obj-mobile-skinner-box",
          "title": "Infinite Scroll & Skinner Box",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-portable-skinner-box",
            "ot-skinner-raskin",
            "ot-skinner-scroll-def",
            "ot-skinner-lembke",
            "ot-skinner-box-meaning"
          ]
        },
        {
          "id": "test-hook-to-algorithm",
          "objectiveId": "obj-hook-to-algorithm",
          "title": "Hook Model to TikTok FYP",
          "mcqIds": [
            "sa-mcq-hook-model-stages",
            "ot-hook-eyal-author",
            "ot-hook-hooked-year",
            "ot-hook-tiktok-year",
            "ot-hook-fyp-engine"
          ]
        }
      ]
    },
    {
      "id": "l2-brain-chemistry",
      "title": "The Brain Chemistry of Engagement",
      "order": 2,
      "studyGuidePath": "/packs/sticky-apps/guides/l2-brain-p1-dopamine.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l2-brain-p1-dopamine",
          "title": "Dopamine: wanting, not liking",
          "order": 1,
          "blurb": "Dopamine is anticipation, not pleasure — and uncertainty is the fuel.",
          "studyGuideAnchor": "dopamine-wanting-not-liking",
          "itemIds": [
            "sa-fact-dopamine-anticipation",
            "sa-fact-berridge-wanting-seeking",
            "sa-cmp-wanting-liking",
            "sa-def-reward-prediction-error",
            "sa-fact-rpe-uncertainty",
            "sa-mcq-rpe-vta",
            "sa-def-variable-ratio",
            "sa-fact-skinner-slot-machine",
            "sa-pair-skinner-slot-machine",
            "czr-sticky-apps-sa-def-reward-prediction-error",
            "czr-sticky-apps-sa-def-variable-ratio",
            "tf-t-sticky-apps-sa-pair-skinner-slot-machine",
            "tf-d-sticky-apps-sa-def-variable-ratio",
            "concept-rw-sticky-apps-dopamine",
            "ot-dopamine-berridge",
            "ot-dopamine-timing",
            "ot-dopamine-predictable",
            "ot-dopamine-not",
            "ot-vr-def",
            "ot-vr-skinner",
            "ot-vr-slot",
            "ot-vr-compare",
            "ot-vr-not",
            "fi-ot-dopamine-predictable"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l2-brain-p1-dopamine.md"
        },
        {
          "id": "l2-brain-p2-neurochemicals",
          "title": "The four neurochemicals",
          "order": 2,
          "blurb": "Dopamine, oxytocin, serotonin, endorphins — four levers app design pulls.",
          "studyGuideAnchor": "the-four-neurochemicals",
          "itemIds": [
            "sa-pair-dopamine-seeking",
            "sa-pair-oxytocin-bonding",
            "sa-pair-serotonin-status",
            "sa-pair-endorphins-exertion",
            "sa-fact-four-neurochemicals",
            "sa-fact-oxytocin-serotonin-accumbens",
            "sa-mcq-endorphins-trigger",
            "sa-mcq-leaderboard-chemical",
            "tf-f-sticky-apps-sa-pair-dopamine-seeking",
            "tf-t-sticky-apps-sa-pair-oxytocin-bonding",
            "tf-f-sticky-apps-sa-pair-serotonin-status",
            "tf-t-sticky-apps-sa-pair-endorphins-exertion",
            "concept-rw-sticky-apps-oxytocin",
            "concept-rw-sticky-apps-serotonin",
            "concept-rw-sticky-apps-endorphins",
            "ot-map-seeking",
            "ot-map-bonding",
            "ot-map-status",
            "ot-map-endorphins",
            "ot-map-mismatch",
            "ot-apply-oxytocin",
            "ot-apply-reject",
            "ot-apply-dopamine",
            "fi-sa-mcq-endorphins-trigger",
            "fi-sa-mcq-leaderboard-chemical",
            "fi-ot-apply-oxytocin"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l2-brain-p2-neurochemicals.md"
        },
        {
          "id": "l2-brain-p3-default-mode",
          "title": "The Default Mode Network",
          "order": 3,
          "blurb": "Habitual scrolling hands the brain to the DMN — and stopping gets harder.",
          "studyGuideAnchor": "the-default-mode-network",
          "itemIds": [
            "sa-def-default-mode-network",
            "sa-fact-dmn-zoning-out",
            "sa-fact-cognitive-load-inhibition",
            "sa-pair-dmn-zoning-out",
            "sa-pair-dopamine-seeking",
            "sa-pair-oxytocin-bonding",
            "mcq-rw-l2-brain-p3-default-mode",
            "czr-sticky-apps-sa-def-default-mode-network",
            "tf-f-sticky-apps-sa-pair-dmn-zoning-out",
            "tf-d-sticky-apps-sa-def-default-mode-network",
            "ot-dmn-def",
            "ot-dmn-prefrontal",
            "ot-dmn-load",
            "ot-dmn-scroll",
            "fi-ot-dmn-def",
            "fi-ot-dmn-scroll",
            "fi-ot-dmn-prefrontal"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l2-brain-p3-default-mode.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-dopamine-anticipation",
          "statement": "Explain that dopamine drives wanting and seeking and fires in anticipation via Reward Prediction Error, not at the reward itself.",
          "demonstrationIds": [
            "d-rpe"
          ]
        },
        {
          "id": "obj-variable-ratio",
          "statement": "Identify variable-ratio reinforcement as the unpredictable, slot-machine schedule behind compulsive use.",
          "demonstrationIds": [
            "d-variable-ratio"
          ]
        },
        {
          "id": "obj-map-four-chemicals",
          "statement": "Map each of the four neurochemicals (dopamine, oxytocin, serotonin, endorphins) to the human drive it powers.",
          "demonstrationIds": [
            "d-chemical-drives",
            "d-chemical-concepts"
          ]
        },
        {
          "id": "obj-apply-chemicals",
          "statement": "Determine which neurochemical lever a given feature pulls and reject mismatched chemical-to-drive pairings.",
          "demonstrationIds": [
            "d-chemical-apply",
            "d-chemical-discriminate"
          ]
        },
        {
          "id": "obj-default-mode-network",
          "statement": "Explain how habitual, frictionless scrolling shifts control from the prefrontal cortex to the Default Mode Network and basal ganglia ('zoning out').",
          "demonstrationIds": [
            "d-dmn",
            "d-dmn-discriminate"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-rpe",
          "label": "Reward Prediction Error and wanting",
          "itemIds": [
            "sa-def-reward-prediction-error",
            "sa-mcq-rpe-vta",
            "czr-sticky-apps-sa-def-reward-prediction-error",
            "concept-rw-sticky-apps-dopamine"
          ]
        },
        {
          "id": "d-variable-ratio",
          "label": "Variable-ratio = slot machine",
          "itemIds": [
            "sa-def-variable-ratio",
            "sa-pair-skinner-slot-machine",
            "czr-sticky-apps-sa-def-variable-ratio",
            "tf-t-sticky-apps-sa-pair-skinner-slot-machine"
          ]
        },
        {
          "id": "d-chemical-drives",
          "label": "Chemical-to-drive mapping",
          "itemIds": [
            "sa-pair-dopamine-seeking",
            "sa-pair-oxytocin-bonding",
            "sa-pair-serotonin-status",
            "sa-pair-endorphins-exertion"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-chemical-concepts",
          "label": "Recognize the neurochemicals",
          "itemIds": [
            "concept-rw-sticky-apps-oxytocin",
            "concept-rw-sticky-apps-serotonin",
            "concept-rw-sticky-apps-endorphins"
          ]
        },
        {
          "id": "d-chemical-apply",
          "label": "Which lever a feature pulls",
          "itemIds": [
            "sa-mcq-endorphins-trigger",
            "sa-mcq-leaderboard-chemical"
          ]
        },
        {
          "id": "d-chemical-discriminate",
          "label": "Reject mismatched pairings",
          "itemIds": [
            "tf-f-sticky-apps-sa-pair-dopamine-seeking",
            "tf-t-sticky-apps-sa-pair-oxytocin-bonding",
            "tf-f-sticky-apps-sa-pair-serotonin-status",
            "tf-t-sticky-apps-sa-pair-endorphins-exertion"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-dmn",
          "label": "DMN takes the wheel",
          "itemIds": [
            "sa-def-default-mode-network",
            "sa-pair-dmn-zoning-out",
            "czr-sticky-apps-sa-def-default-mode-network",
            "mcq-rw-l2-brain-p3-default-mode"
          ]
        },
        {
          "id": "d-dmn-discriminate",
          "label": "DMN discrimination",
          "itemIds": [
            "tf-f-sticky-apps-sa-pair-dmn-zoning-out",
            "tf-d-sticky-apps-sa-def-default-mode-network"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-dopamine-anticipation",
          "objectiveId": "obj-dopamine-anticipation",
          "title": "Dopamine, wanting & RPE",
          "mcqIds": [
            "sa-mcq-rpe-vta",
            "ot-dopamine-berridge",
            "ot-dopamine-timing",
            "ot-dopamine-predictable",
            "ot-dopamine-not"
          ]
        },
        {
          "id": "test-variable-ratio",
          "objectiveId": "obj-variable-ratio",
          "title": "Variable-ratio reinforcement",
          "mcqIds": [
            "ot-vr-def",
            "ot-vr-skinner",
            "ot-vr-slot",
            "ot-vr-compare",
            "ot-vr-not"
          ]
        },
        {
          "id": "test-map-four-chemicals",
          "objectiveId": "obj-map-four-chemicals",
          "title": "Four chemicals, four drives",
          "mcqIds": [
            "ot-map-seeking",
            "ot-map-bonding",
            "ot-map-status",
            "ot-map-endorphins",
            "ot-map-mismatch"
          ]
        },
        {
          "id": "test-apply-chemicals",
          "objectiveId": "obj-apply-chemicals",
          "title": "Which lever does it pull?",
          "mcqIds": [
            "sa-mcq-endorphins-trigger",
            "sa-mcq-leaderboard-chemical",
            "ot-apply-oxytocin",
            "ot-apply-reject",
            "ot-apply-dopamine"
          ]
        },
        {
          "id": "test-default-mode-network",
          "objectiveId": "obj-default-mode-network",
          "title": "Default Mode Network",
          "mcqIds": [
            "mcq-rw-l2-brain-p3-default-mode",
            "ot-dmn-def",
            "ot-dmn-prefrontal",
            "ot-dmn-load",
            "ot-dmn-scroll"
          ]
        }
      ]
    },
    {
      "id": "l3-frameworks",
      "title": "The Psychological Frameworks",
      "order": 3,
      "studyGuidePath": "/packs/sticky-apps/guides/l3-fw-p1-hook.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l3-fw-p1-hook",
          "title": "The Hook Model",
          "order": 1,
          "blurb": "Nir Eyal's four-stage loop: Trigger, Action, Variable Reward, Investment.",
          "studyGuideAnchor": "the-hook-model",
          "itemIds": [
            "sa-fact-hook-model-intro",
            "sa-def-hook-model",
            "sa-proc-hook-loop",
            "sa-pair-hook-trigger",
            "sa-pair-hook-action",
            "sa-pair-hook-reward",
            "sa-pair-hook-investment",
            "sa-cmp-external-internal-trigger",
            "sa-pair-reward-tribe",
            "sa-pair-reward-hunt",
            "sa-pair-reward-self",
            "mcq-rw-l3-fw-p1-hook",
            "czr-sticky-apps-sa-def-hook-model",
            "tf-df-sticky-apps-sa-def-hook-model",
            "concept-rw-sticky-apps-the-endowment-effect",
            "ot-hook-order",
            "ot-hook-trigger-role",
            "ot-hook-action-role",
            "ot-hook-reward-role",
            "ot-hook-not-stage",
            "ot-reward-hunt",
            "ot-reward-tribe",
            "ot-reward-self",
            "ot-invest-endowment",
            "fi-ot-hook-trigger-role",
            "fi-ot-hook-action-role",
            "fi-ot-reward-self",
            "fi-mcq-rw-l3-fw-p1-hook"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l3-fw-p1-hook.md"
        },
        {
          "id": "l3-fw-p2-fogg-loss",
          "title": "Fogg's B=MAP & loss aversion",
          "order": 2,
          "blurb": "Behavior = Motivation × Ability × Prompt, and why losses pull twice as hard as gains.",
          "studyGuideAnchor": "fogg-s-b-map-loss-aversion",
          "itemIds": [
            "sa-fact-fogg-bmap",
            "sa-def-bmap",
            "sa-mcq-fogg-low-ability",
            "sa-pair-fogg-spark",
            "sa-pair-fogg-signal",
            "sa-def-loss-aversion",
            "sa-num-loss-vs-gain",
            "sa-fact-streak-sunk-cost",
            "sa-fact-snapchat-hourglass",
            "sa-def-endowment-effect",
            "czr-sticky-apps-sa-def-loss-aversion",
            "czr-sticky-apps-sa-def-endowment-effect",
            "czr-sticky-apps-sa-def-bmap",
            "cz-sticky-apps-sa-fact-fogg-bmap",
            "tf-df-sticky-apps-sa-def-loss-aversion",
            "tf-df-sticky-apps-sa-def-endowment-effect",
            "tf-d-sticky-apps-sa-def-bmap",
            "concept-rw-sticky-apps-prospect-theory",
            "ot-bmap-formula",
            "ot-bmap-overinvest",
            "ot-bmap-both-high",
            "ot-bmap-more-prompts",
            "ot-loss-2x",
            "ot-loss-origin",
            "ot-endowment-def",
            "ot-loss-snapstreak",
            "ot-loss-false",
            "fi-ot-bmap-overinvest",
            "fi-ot-bmap-more-prompts"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l3-fw-p2-fogg-loss.md"
        },
        {
          "id": "l3-fw-p3-flow-zeigarnik",
          "title": "Flow, difficulty & open loops",
          "order": 3,
          "blurb": "Keeping users in the flow channel, and the unfinished loops that pull them back.",
          "studyGuideAnchor": "flow-difficulty-open-loops",
          "itemIds": [
            "sa-fact-flow-channel",
            "sa-def-flow-state",
            "sa-def-dda",
            "sa-pair-flow-boredom",
            "sa-pair-flow-anxiety",
            "sa-def-zeigarnik-effect",
            "sa-fact-open-loops",
            "mcq-rw-l3-fw-p3-flow-zeigarnik",
            "czr-sticky-apps-sa-def-zeigarnik-effect",
            "czr-sticky-apps-sa-def-flow-state",
            "czr-sticky-apps-sa-def-dda",
            "cz-sticky-apps-sa-fact-flow-channel",
            "tf-d-sticky-apps-sa-def-zeigarnik-effect",
            "tf-d-sticky-apps-sa-def-flow-state",
            "tf-df-sticky-apps-sa-def-dda",
            "concept-rw-sticky-apps-the-flow-state",
            "concept-rw-sticky-apps-dynamic-difficulty-adjustment",
            "ot-flow-author",
            "ot-flow-above-skill",
            "ot-flow-dda",
            "ot-flow-zeigarnik-def",
            "fi-ot-flow-author",
            "fi-ot-flow-above-skill",
            "fi-ot-flow-dda"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l3-fw-p3-flow-zeigarnik.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-hook-stages",
          "statement": "Order the Hook Model's four stages (Trigger, Action, Variable Reward, Investment) and state each stage's role.",
          "demonstrationIds": [
            "d-hook-def",
            "d-hook-stages"
          ]
        },
        {
          "id": "obj-rewards-and-investment",
          "statement": "Classify the three variable-reward types (tribe, hunt, self) and explain how Investment raises switching cost via the Endowment Effect.",
          "demonstrationIds": [
            "d-reward-types",
            "d-investment-endowment"
          ]
        },
        {
          "id": "obj-bmap",
          "statement": "Apply Fogg's B = MAP to diagnose why a behavior fails, prioritizing ability/friction over more motivation.",
          "demonstrationIds": [
            "d-bmap-def",
            "d-bmap-apply"
          ]
        },
        {
          "id": "obj-loss-aversion-endowment",
          "statement": "Explain loss aversion and the endowment effect, including the roughly 2x loss-versus-gain asymmetry from Prospect Theory.",
          "demonstrationIds": [
            "d-loss-aversion",
            "d-endowment"
          ]
        },
        {
          "id": "obj-flow-and-open-loops",
          "statement": "Describe the flow channel and Dynamic Difficulty Adjustment, and how the Zeigarnik effect weaponizes unfinished tasks.",
          "demonstrationIds": [
            "d-flow",
            "d-dda-zeigarnik"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-hook-def",
          "label": "The Hook Model defined",
          "itemIds": [
            "sa-def-hook-model",
            "czr-sticky-apps-sa-def-hook-model",
            "tf-df-sticky-apps-sa-def-hook-model"
          ]
        },
        {
          "id": "d-hook-stages",
          "label": "The four Hook stages",
          "itemIds": [
            "sa-pair-hook-trigger",
            "sa-pair-hook-action",
            "sa-pair-hook-reward",
            "sa-pair-hook-investment"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-reward-types",
          "label": "Tribe, hunt, self rewards",
          "itemIds": [
            "sa-pair-reward-tribe",
            "sa-pair-reward-hunt",
            "sa-pair-reward-self"
          ]
        },
        {
          "id": "d-investment-endowment",
          "label": "Investment and the endowment effect",
          "itemIds": [
            "mcq-rw-l3-fw-p1-hook",
            "sa-pair-hook-investment",
            "concept-rw-sticky-apps-the-endowment-effect"
          ]
        },
        {
          "id": "d-bmap-def",
          "label": "B = MAP defined",
          "itemIds": [
            "sa-def-bmap",
            "czr-sticky-apps-sa-def-bmap",
            "cz-sticky-apps-sa-fact-fogg-bmap",
            "tf-d-sticky-apps-sa-def-bmap"
          ]
        },
        {
          "id": "d-bmap-apply",
          "label": "Diagnosing with B = MAP",
          "itemIds": [
            "sa-mcq-fogg-low-ability",
            "sa-pair-fogg-spark",
            "sa-pair-fogg-signal"
          ]
        },
        {
          "id": "d-loss-aversion",
          "label": "Loss aversion and the 2x rule",
          "itemIds": [
            "sa-def-loss-aversion",
            "sa-num-loss-vs-gain",
            "czr-sticky-apps-sa-def-loss-aversion",
            "concept-rw-sticky-apps-prospect-theory"
          ]
        },
        {
          "id": "d-endowment",
          "label": "Endowment effect",
          "itemIds": [
            "sa-def-endowment-effect",
            "czr-sticky-apps-sa-def-endowment-effect",
            "tf-df-sticky-apps-sa-def-endowment-effect",
            "tf-df-sticky-apps-sa-def-loss-aversion"
          ]
        },
        {
          "id": "d-flow",
          "label": "The flow channel",
          "itemIds": [
            "sa-def-flow-state",
            "concept-rw-sticky-apps-the-flow-state",
            "sa-pair-flow-boredom",
            "sa-pair-flow-anxiety"
          ]
        },
        {
          "id": "d-dda-zeigarnik",
          "label": "DDA and the Zeigarnik open loop",
          "itemIds": [
            "sa-def-dda",
            "sa-def-zeigarnik-effect",
            "mcq-rw-l3-fw-p3-flow-zeigarnik",
            "concept-rw-sticky-apps-dynamic-difficulty-adjustment"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-hook-stages",
          "objectiveId": "obj-hook-stages",
          "title": "The Hook Model's Four Stages",
          "mcqIds": [
            "ot-hook-order",
            "ot-hook-trigger-role",
            "ot-hook-action-role",
            "ot-hook-reward-role",
            "ot-hook-not-stage"
          ]
        },
        {
          "id": "test-rewards-investment",
          "objectiveId": "obj-rewards-and-investment",
          "title": "Variable Rewards & Investment",
          "mcqIds": [
            "mcq-rw-l3-fw-p1-hook",
            "ot-reward-hunt",
            "ot-reward-tribe",
            "ot-reward-self",
            "ot-invest-endowment"
          ]
        },
        {
          "id": "test-bmap",
          "objectiveId": "obj-bmap",
          "title": "Fogg's B = MAP",
          "mcqIds": [
            "sa-mcq-fogg-low-ability",
            "ot-bmap-formula",
            "ot-bmap-overinvest",
            "ot-bmap-both-high",
            "ot-bmap-more-prompts"
          ]
        },
        {
          "id": "test-loss-endowment",
          "objectiveId": "obj-loss-aversion-endowment",
          "title": "Loss Aversion & Endowment",
          "mcqIds": [
            "ot-loss-2x",
            "ot-loss-origin",
            "ot-endowment-def",
            "ot-loss-snapstreak",
            "ot-loss-false"
          ]
        },
        {
          "id": "test-flow-loops",
          "objectiveId": "obj-flow-and-open-loops",
          "title": "Flow, DDA & Open Loops",
          "mcqIds": [
            "mcq-rw-l3-fw-p3-flow-zeigarnik",
            "ot-flow-author",
            "ot-flow-above-skill",
            "ot-flow-dda",
            "ot-flow-zeigarnik-def"
          ]
        }
      ]
    },
    {
      "id": "l4-gamification",
      "title": "Gamification Mechanics",
      "order": 4,
      "studyGuidePath": "/packs/sticky-apps/guides/l4-gam-p1-pbl-octalysis.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l4-gam-p1-pbl-octalysis",
          "title": "PBL & Octalysis",
          "order": 1,
          "blurb": "Why points and badges wear off — and the eight Core Drives that don't.",
          "studyGuideAnchor": "pbl-octalysis",
          "itemIds": [
            "sa-fact-pbl-stack",
            "sa-def-pbl",
            "sa-def-octalysis",
            "sa-fact-octalysis-stacking",
            "sa-num-octalysis-drives",
            "sa-pair-epic-meaning",
            "sa-pair-ownership-drive",
            "sa-mcq-pbl-weakness",
            "czr-sticky-apps-sa-def-pbl",
            "czr-sticky-apps-sa-def-octalysis",
            "cz-sticky-apps-sa-fact-octalysis-stacking",
            "mcq-c-sticky-apps-sa-fact-octalysis-stacking",
            "tf-t-sticky-apps-sa-pair-epic-meaning",
            "tf-f-sticky-apps-sa-pair-ownership-drive",
            "tf-d-sticky-apps-sa-def-pbl",
            "tf-df-sticky-apps-sa-def-octalysis",
            "ot-pbl-1",
            "ot-pbl-2",
            "ot-pbl-3",
            "ot-pbl-4",
            "ot-oct-1",
            "ot-oct-2",
            "ot-oct-3",
            "ot-oct-4",
            "fi-ot-pbl-3",
            "fi-ot-oct-2",
            "fi-ot-oct-3"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l4-gam-p1-pbl-octalysis.md"
        },
        {
          "id": "l4-gam-p2-streak",
          "title": "The streak mechanic (Duolingo)",
          "order": 2,
          "blurb": "Loss aversion at scale, the Streak Freeze meta-game, and the numbers behind it.",
          "studyGuideAnchor": "the-streak-mechanic-duolingo",
          "itemIds": [
            "sa-fact-duolingo-streak",
            "sa-def-streak-freeze",
            "sa-fact-streak-poll",
            "sa-num-streak-motivated",
            "sa-num-streak-stressed",
            "sa-num-duolingo-dau-ipo",
            "sa-num-duolingo-dau-2025",
            "sa-num-duolingo-dau-growth",
            "sa-num-duolingo-daumau-ipo",
            "sa-num-duolingo-daumau-2025",
            "sa-proc-streak-freeze-loop",
            "mcq-rw-l4-gam-p2-streak",
            "czr-sticky-apps-sa-def-streak-freeze",
            "cz-sticky-apps-sa-fact-streak-poll",
            "tf-d-sticky-apps-sa-def-streak-freeze",
            "ot-strk-1",
            "ot-strk-2",
            "ot-strk-3",
            "ot-strk-4",
            "ot-dau-1",
            "ot-dau-2",
            "ot-dau-3",
            "ot-dau-4",
            "ot-dau-5",
            "fi-ot-strk-1",
            "fi-ot-strk-3",
            "fi-ot-dau-3",
            "ot-cov-duolingo-retention-numbers-1",
            "ot-cov-duolingo-retention-numbers-2"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l4-gam-p2-streak.md"
        },
        {
          "id": "l4-gam-p3-schedules",
          "title": "Goal gradient & reward schedules",
          "order": 3,
          "blurb": "The closer the prize the harder you push — and why unpredictable rewards never let go.",
          "studyGuideAnchor": "goal-gradient-reward-schedules",
          "itemIds": [
            "sa-def-goal-gradient",
            "sa-fact-saga-map",
            "sa-fact-punch-card",
            "sa-def-variable-ratio",
            "sa-pair-variable-ratio-loot",
            "sa-pair-fixed-ratio-xp",
            "sa-pair-fixed-interval-login",
            "sa-pair-variable-interval-match",
            "sa-cmp-variable-vs-fixed-ratio",
            "sa-proc-schedules-durability",
            "mcq-rw-l4-gam-p3-schedules",
            "czr-sticky-apps-sa-def-goal-gradient",
            "cz-sticky-apps-sa-fact-saga-map",
            "tf-t-sticky-apps-sa-pair-variable-ratio-loot",
            "tf-t-sticky-apps-sa-pair-fixed-ratio-xp",
            "tf-f-sticky-apps-sa-pair-fixed-interval-login",
            "tf-f-sticky-apps-sa-pair-variable-interval-match",
            "tf-d-sticky-apps-sa-def-goal-gradient",
            "concept-rw-sticky-apps-fixed-ratio-reinforcement",
            "concept-rw-sticky-apps-fixed-interval-reinforcement",
            "concept-rw-sticky-apps-variable-interval-reinforcement",
            "ot-gg-1",
            "ot-gg-2",
            "ot-gg-3",
            "ot-gg-4",
            "fi-ot-gg-1",
            "fi-ot-gg-3",
            "fi-ot-gg-4"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l4-gam-p3-schedules.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-pbl-shallow",
          "statement": "Define the PBL (Points, Badges, Leaderboards) surface layer and explain why it is shallow gamification prone to habituation.",
          "demonstrationIds": [
            "d-pbl"
          ]
        },
        {
          "id": "obj-octalysis",
          "statement": "Identify Octalysis's eight Core Drives and the principle of stacking several at once; recognize Epic Meaning and Ownership.",
          "demonstrationIds": [
            "d-octalysis-def",
            "d-octalysis-drives"
          ]
        },
        {
          "id": "obj-streak-loss-aversion",
          "statement": "Explain the Duolingo streak and Streak Freeze as loss-aversion engines that turn a habit into protected sunk cost.",
          "demonstrationIds": [
            "d-streak-freeze",
            "d-streak-poll"
          ]
        },
        {
          "id": "obj-duolingo-retention-numbers",
          "statement": "Cite Duolingo's DAU and DAU/MAU growth from IPO to Q1 2025 as evidence the streak mechanic drives retention.",
          "demonstrationIds": [
            "d-duolingo-dau",
            "d-duolingo-daumau"
          ]
        },
        {
          "id": "obj-goal-gradient-schedules",
          "statement": "Explain the Goal Gradient Effect (Saga Map, pre-stamped card) and classify the four reinforcement schedules.",
          "demonstrationIds": [
            "d-goal-gradient",
            "d-schedules"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-pbl",
          "label": "PBL and its weakness",
          "itemIds": [
            "sa-def-pbl",
            "czr-sticky-apps-sa-def-pbl",
            "tf-d-sticky-apps-sa-def-pbl",
            "sa-mcq-pbl-weakness"
          ]
        },
        {
          "id": "d-octalysis-def",
          "label": "Octalysis and its 8 drives",
          "itemIds": [
            "sa-def-octalysis",
            "sa-num-octalysis-drives",
            "czr-sticky-apps-sa-def-octalysis",
            "tf-df-sticky-apps-sa-def-octalysis"
          ]
        },
        {
          "id": "d-octalysis-drives",
          "label": "Core Drives and stacking",
          "itemIds": [
            "sa-pair-epic-meaning",
            "sa-pair-ownership-drive",
            "cz-sticky-apps-sa-fact-octalysis-stacking",
            "mcq-c-sticky-apps-sa-fact-octalysis-stacking"
          ]
        },
        {
          "id": "d-streak-freeze",
          "label": "Streak Freeze and loss aversion",
          "itemIds": [
            "sa-def-streak-freeze",
            "czr-sticky-apps-sa-def-streak-freeze",
            "tf-d-sticky-apps-sa-def-streak-freeze",
            "mcq-rw-l4-gam-p2-streak"
          ]
        },
        {
          "id": "d-streak-poll",
          "label": "Motivated vs stressed poll",
          "itemIds": [
            "sa-num-streak-motivated",
            "sa-num-streak-stressed",
            "cz-sticky-apps-sa-fact-streak-poll"
          ]
        },
        {
          "id": "d-duolingo-dau",
          "label": "DAU IPO to 2025",
          "itemIds": [
            "sa-num-duolingo-dau-ipo",
            "sa-num-duolingo-dau-2025",
            "sa-num-duolingo-dau-growth",
            "ot-cov-duolingo-retention-numbers-1",
            "ot-cov-duolingo-retention-numbers-2"
          ],
          "requiredCorrect": 2
        },
        {
          "id": "d-duolingo-daumau",
          "label": "DAU/MAU ratio climb",
          "itemIds": [
            "sa-num-duolingo-daumau-ipo",
            "sa-num-duolingo-daumau-2025"
          ]
        },
        {
          "id": "d-goal-gradient",
          "label": "Goal Gradient Effect",
          "itemIds": [
            "sa-def-goal-gradient",
            "czr-sticky-apps-sa-def-goal-gradient",
            "cz-sticky-apps-sa-fact-saga-map",
            "mcq-rw-l4-gam-p3-schedules"
          ]
        },
        {
          "id": "d-schedules",
          "label": "Four reinforcement schedules",
          "itemIds": [
            "sa-pair-variable-ratio-loot",
            "sa-pair-fixed-ratio-xp",
            "sa-pair-fixed-interval-login",
            "sa-pair-variable-interval-match"
          ],
          "requiredCorrect": 3
        }
      ],
      "objectiveTests": [
        {
          "id": "test-pbl-shallow",
          "objectiveId": "obj-pbl-shallow",
          "title": "PBL surface layer",
          "mcqIds": [
            "sa-mcq-pbl-weakness",
            "ot-pbl-1",
            "ot-pbl-2",
            "ot-pbl-3",
            "ot-pbl-4"
          ]
        },
        {
          "id": "test-octalysis",
          "objectiveId": "obj-octalysis",
          "title": "Octalysis Core Drives",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-octalysis-stacking",
            "ot-oct-1",
            "ot-oct-2",
            "ot-oct-3",
            "ot-oct-4"
          ]
        },
        {
          "id": "test-streak-loss-aversion",
          "objectiveId": "obj-streak-loss-aversion",
          "title": "Streak & loss aversion",
          "mcqIds": [
            "mcq-rw-l4-gam-p2-streak",
            "ot-strk-1",
            "ot-strk-2",
            "ot-strk-3",
            "ot-strk-4"
          ]
        },
        {
          "id": "test-duolingo-retention",
          "objectiveId": "obj-duolingo-retention-numbers",
          "title": "Duolingo retention numbers",
          "mcqIds": [
            "ot-dau-1",
            "ot-dau-2",
            "ot-dau-3",
            "ot-dau-4",
            "ot-dau-5",
            "ot-cov-duolingo-retention-numbers-1",
            "ot-cov-duolingo-retention-numbers-2"
          ]
        },
        {
          "id": "test-goal-gradient-schedules",
          "objectiveId": "obj-goal-gradient-schedules",
          "title": "Goal gradient & schedules",
          "mcqIds": [
            "mcq-rw-l4-gam-p3-schedules",
            "ot-gg-1",
            "ot-gg-2",
            "ot-gg-3",
            "ot-gg-4"
          ]
        }
      ]
    },
    {
      "id": "l5-network-effects",
      "title": "Social Architecture & Network Effects",
      "order": 5,
      "studyGuidePath": "/packs/sticky-apps/guides/l5-net-p1-network-effects.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l5-net-p1-network-effects",
          "title": "What network effects are",
          "order": 1,
          "blurb": "Why a product gets more valuable as more people join — and what a friend is actually worth.",
          "studyGuideAnchor": "what-network-effects-are",
          "itemIds": [
            "sa-def-network-effect",
            "sa-def-metcalfes-law",
            "sa-fact-network-effects",
            "sa-fact-direct-indirect",
            "sa-pair-direct-effect",
            "sa-pair-indirect-effect",
            "sa-mcq-metcalfe",
            "sa-fact-fb-value-research",
            "czr-sticky-apps-sa-def-network-effect",
            "czr-sticky-apps-sa-def-metcalfes-law",
            "tf-t-sticky-apps-sa-pair-direct-effect",
            "tf-f-sticky-apps-sa-pair-indirect-effect",
            "tf-d-sticky-apps-sa-def-network-effect",
            "tf-df-sticky-apps-sa-def-metcalfes-law",
            "concept-rw-sticky-apps-metcalfe-s-law",
            "ot-net-def-1",
            "ot-net-direct-2",
            "ot-net-indirect-3",
            "ot-net-quadruple-4",
            "fi-sa-mcq-metcalfe",
            "fi-ot-net-quadruple-4"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l5-net-p1-network-effects.md"
        },
        {
          "id": "l5-net-p2-social-graph",
          "title": "The social graph moat",
          "order": 2,
          "blurb": "Facebook's identity-based moat, layered defensibility, and the dollar value of connection.",
          "studyGuideAnchor": "the-social-graph-moat",
          "itemIds": [
            "sa-def-social-graph",
            "sa-fact-fb-moat",
            "sa-fact-layered-defensibility",
            "sa-pair-social-anchoring",
            "sa-mcq-six-walls",
            "sa-num-marginal-friend",
            "sa-num-platform-value-low",
            "sa-num-platform-value-high",
            "cz-sticky-apps-sa-def-social-graph",
            "cz-sticky-apps-sa-fact-fb-moat",
            "mcq-c-sticky-apps-sa-fact-fb-moat",
            "tf-t-sticky-apps-sa-pair-social-anchoring",
            "tf-d-sticky-apps-sa-def-social-graph",
            "concept-rw-sticky-apps-the-social-graph",
            "concept-rw-sticky-apps-layered-defensibility",
            "ot-moat-graph-1",
            "ot-moat-nfx-2",
            "ot-moat-drawbridge-3",
            "ot-moat-walls-4",
            "ot-quant-marginal-1",
            "ot-quant-total-2",
            "ot-quant-not-5",
            "fi-ot-moat-graph-1",
            "fi-ot-moat-drawbridge-3",
            "fi-ot-quant-total-2"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l5-net-p2-social-graph.md"
        },
        {
          "id": "l5-net-p3-viral-fomo",
          "title": "Viral mechanics & FOMO",
          "order": 3,
          "blurb": "Six viral mechanics mapped to brain chemistry — and what FOMO is really about.",
          "studyGuideAnchor": "viral-mechanics-fomo",
          "itemIds": [
            "sa-pair-leaderboard",
            "sa-pair-coop-quest",
            "sa-pair-parasocial",
            "sa-pair-shareable-artifact",
            "sa-def-parasocial-bond",
            "sa-fact-leaderboard-fear",
            "sa-def-fomo",
            "sa-fact-fomo",
            "sa-fact-stories-expiry",
            "czr-sticky-apps-sa-def-fomo",
            "czr-sticky-apps-sa-def-parasocial-bond",
            "cz-sticky-apps-sa-fact-stories-expiry",
            "mcq-c-sticky-apps-sa-fact-stories-expiry",
            "tf-df-sticky-apps-sa-def-fomo",
            "tf-df-sticky-apps-sa-def-parasocial-bond",
            "ot-viral-leaderboard-1",
            "ot-viral-parasocial-2",
            "ot-viral-fomo-3",
            "ot-viral-lossav-4",
            "fi-ot-viral-leaderboard-1",
            "fi-ot-viral-parasocial-2"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l5-net-p3-viral-fomo.md"
        },
        {
          "id": "l5-net-p4-interest-graph",
          "title": "TikTok's interest graph",
          "order": 4,
          "blurb": "Machine-curated 'what you're drawn to' versus human 'who you know' — plus the figures behind social value.",
          "studyGuideAnchor": "tiktok-s-interest-graph",
          "itemIds": [
            "sa-def-interest-graph",
            "sa-fact-tiktok-interest-graph",
            "sa-fact-cold-start",
            "sa-fact-tiktok-abtest",
            "sa-cmp-social-vs-interest-graph",
            "sa-num-social-retention",
            "sa-num-social-retention-low",
            "sa-num-value-attributable",
            "sa-num-value-attributable-low",
            "sa-num-fomo-americans",
            "mcq-rw-l5-net-p4-interest-graph",
            "cz-sticky-apps-sa-def-interest-graph",
            "tf-df-sticky-apps-sa-def-interest-graph",
            "concept-rw-sticky-apps-the-interest-graph",
            "concept-rw-sticky-apps-the-cold-start-problem",
            "ot-quant-share-3",
            "ot-quant-retention-4",
            "ot-interest-def-1",
            "ot-interest-coldstart-2",
            "ot-interest-tradeoff-3",
            "ot-interest-contrast-4",
            "fi-mcq-rw-l5-net-p4-interest-graph",
            "fi-ot-interest-tradeoff-3"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l5-net-p4-interest-graph.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-network-effects",
          "statement": "Define network effects and Metcalfe's n-squared law, and distinguish direct from indirect network effects.",
          "demonstrationIds": [
            "d-network-def",
            "d-direct-indirect"
          ]
        },
        {
          "id": "obj-social-graph-moat",
          "statement": "Explain the social graph as Facebook's moat and NFX's layered defensibility (six concentric walls).",
          "demonstrationIds": [
            "d-social-graph",
            "d-layered-defense"
          ]
        },
        {
          "id": "obj-quantify-network-value",
          "statement": "Quantify the measured value of Facebook's network: marginal-friend value, total platform value, the social share, and retention lift.",
          "demonstrationIds": [
            "d-friend-value",
            "d-social-retention-share"
          ]
        },
        {
          "id": "obj-viral-fomo",
          "statement": "Map viral mechanics to their neurochemicals and explain FOMO, parasocial bonds, and the 24-hour Stories clock.",
          "demonstrationIds": [
            "d-viral-neuro",
            "d-fomo-parasocial"
          ]
        },
        {
          "id": "obj-interest-graph",
          "statement": "Contrast TikTok's interest graph with the social graph and identify the top signals its For You Page weights.",
          "demonstrationIds": [
            "d-interest-graph",
            "d-fyp-signals"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-network-def",
          "label": "Network effect and Metcalfe's Law",
          "itemIds": [
            "sa-def-network-effect",
            "sa-def-metcalfes-law",
            "czr-sticky-apps-sa-def-network-effect",
            "czr-sticky-apps-sa-def-metcalfes-law"
          ]
        },
        {
          "id": "d-direct-indirect",
          "label": "Direct vs indirect effects",
          "itemIds": [
            "sa-pair-direct-effect",
            "sa-pair-indirect-effect",
            "sa-mcq-metcalfe",
            "concept-rw-sticky-apps-metcalfe-s-law"
          ]
        },
        {
          "id": "d-social-graph",
          "label": "The social graph moat",
          "itemIds": [
            "sa-def-social-graph",
            "cz-sticky-apps-sa-def-social-graph",
            "cz-sticky-apps-sa-fact-fb-moat",
            "concept-rw-sticky-apps-the-social-graph"
          ]
        },
        {
          "id": "d-layered-defense",
          "label": "Layered defensibility / six walls",
          "itemIds": [
            "sa-mcq-six-walls",
            "mcq-c-sticky-apps-sa-fact-fb-moat",
            "concept-rw-sticky-apps-layered-defensibility",
            "sa-pair-social-anchoring"
          ]
        },
        {
          "id": "d-friend-value",
          "label": "Value of a friend and the platform",
          "itemIds": [
            "sa-num-marginal-friend",
            "sa-num-platform-value-low",
            "sa-num-platform-value-high"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-social-retention-share",
          "label": "Retention lift and social share",
          "itemIds": [
            "sa-num-social-retention",
            "sa-num-social-retention-low",
            "sa-num-value-attributable",
            "sa-num-value-attributable-low"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-viral-neuro",
          "label": "Viral mechanics to neurochemicals",
          "itemIds": [
            "sa-pair-leaderboard",
            "sa-pair-coop-quest",
            "sa-pair-parasocial",
            "sa-pair-shareable-artifact"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-fomo-parasocial",
          "label": "FOMO, parasocial bonds, Stories clock",
          "itemIds": [
            "sa-def-fomo",
            "sa-def-parasocial-bond",
            "cz-sticky-apps-sa-fact-stories-expiry",
            "mcq-c-sticky-apps-sa-fact-stories-expiry"
          ]
        },
        {
          "id": "d-interest-graph",
          "label": "The interest graph",
          "itemIds": [
            "sa-def-interest-graph",
            "cz-sticky-apps-sa-def-interest-graph",
            "concept-rw-sticky-apps-the-interest-graph",
            "concept-rw-sticky-apps-the-cold-start-problem"
          ]
        },
        {
          "id": "d-fyp-signals",
          "label": "Top FYP signals and FOMO reach",
          "itemIds": [
            "mcq-rw-l5-net-p4-interest-graph",
            "sa-num-fomo-americans"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-network-effects",
          "objectiveId": "obj-network-effects",
          "title": "Network Effects & Metcalfe",
          "mcqIds": [
            "sa-mcq-metcalfe",
            "ot-net-def-1",
            "ot-net-direct-2",
            "ot-net-indirect-3",
            "ot-net-quadruple-4"
          ]
        },
        {
          "id": "test-social-graph-moat",
          "objectiveId": "obj-social-graph-moat",
          "title": "The Social Graph Moat",
          "mcqIds": [
            "sa-mcq-six-walls",
            "ot-moat-graph-1",
            "ot-moat-nfx-2",
            "ot-moat-drawbridge-3",
            "ot-moat-walls-4"
          ]
        },
        {
          "id": "test-quantify-network-value",
          "objectiveId": "obj-quantify-network-value",
          "title": "Measuring Network Value",
          "mcqIds": [
            "ot-quant-marginal-1",
            "ot-quant-total-2",
            "ot-quant-share-3",
            "ot-quant-retention-4",
            "ot-quant-not-5"
          ]
        },
        {
          "id": "test-viral-fomo",
          "objectiveId": "obj-viral-fomo",
          "title": "Viral Mechanics & FOMO",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-stories-expiry",
            "ot-viral-leaderboard-1",
            "ot-viral-parasocial-2",
            "ot-viral-fomo-3",
            "ot-viral-lossav-4"
          ]
        },
        {
          "id": "test-interest-graph",
          "objectiveId": "obj-interest-graph",
          "title": "TikTok's Interest Graph",
          "mcqIds": [
            "mcq-rw-l5-net-p4-interest-graph",
            "ot-interest-def-1",
            "ot-interest-coldstart-2",
            "ot-interest-tradeoff-3",
            "ot-interest-contrast-4"
          ]
        }
      ]
    },
    {
      "id": "l6-viral-growth",
      "title": "Engineering Viral Growth",
      "order": 6,
      "studyGuidePath": "/packs/sticky-apps/guides/l6-viral-p1-kfactor.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l6-viral-p1-kfactor",
          "title": "The K-factor",
          "order": 1,
          "blurb": "Virality as a measurable number — K = i × c, the thresholds that matter, and what falling CAC reveals.",
          "studyGuideAnchor": "the-k-factor",
          "itemIds": [
            "sa-fact-virality-measurable",
            "sa-def-viral-coefficient",
            "sa-def-cac",
            "sa-num-kfactor-exponential",
            "sa-num-kfactor-valuable",
            "sa-mcq-kfactor-signals",
            "sa-fact-duolingo-cac",
            "sa-num-duolingo-cac-ipo",
            "sa-num-duolingo-cac-2025",
            "czr-sticky-apps-sa-def-viral-coefficient",
            "czr-sticky-apps-sa-def-cac",
            "cz-sticky-apps-sa-fact-duolingo-cac",
            "tf-d-sticky-apps-sa-def-viral-coefficient",
            "tf-df-sticky-apps-sa-def-cac",
            "ot-kfactor-formula",
            "ot-kfactor-threshold",
            "ot-kfactor-interpret",
            "ot-kfactor-below-one",
            "ot-cac-def",
            "ot-cac-ipo",
            "ot-cac-2025",
            "ot-cac-why-fell",
            "ot-cac-trend",
            "fi-ot-cac-def",
            "fi-ot-kfactor-interpret",
            "fi-sa-mcq-kfactor-signals"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l6-viral-p1-kfactor.md"
        },
        {
          "id": "l6-viral-p2-growth-loops",
          "title": "The three growth loops",
          "order": 2,
          "blurb": "Viral, content/ASO, and paid acquisition — what powers each loop and how they sequence as you scale.",
          "studyGuideAnchor": "the-three-growth-loops",
          "itemIds": [
            "sa-fact-three-growth-loops",
            "sa-def-viral-loop",
            "sa-def-content-aso-loop",
            "sa-def-ltv",
            "sa-pair-viral-loop-power",
            "sa-pair-content-loop-power",
            "sa-pair-paid-loop-power",
            "sa-proc-growth-loops-sequence",
            "mcq-rw-l6-viral-p2-growth-loops",
            "czr-sticky-apps-sa-def-viral-loop",
            "czr-sticky-apps-sa-def-ltv",
            "tf-t-sticky-apps-sa-pair-viral-loop-power",
            "tf-f-sticky-apps-sa-pair-content-loop-power",
            "tf-t-sticky-apps-sa-pair-paid-loop-power",
            "tf-df-sticky-apps-sa-def-viral-loop",
            "tf-d-sticky-apps-sa-def-ltv",
            "concept-rw-sticky-apps-the-viral-loop",
            "concept-rw-sticky-apps-the-content-aso-loop",
            "concept-rw-sticky-apps-the-paid-acquisition-loop",
            "ot-loops-content",
            "ot-loops-paid",
            "ot-loops-not-free",
            "ot-loops-viral",
            "ot-ltv-def",
            "ot-ltv-condition",
            "ot-ltv-negative",
            "ot-ltv-retention",
            "ot-ltv-compare",
            "fi-ot-loops-content",
            "fi-ot-loops-paid",
            "fi-ot-loops-viral",
            "fi-ot-ltv-retention"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l6-viral-p2-growth-loops.md"
        },
        {
          "id": "l6-viral-p3-artifacts-referrals",
          "title": "Shareable artifacts & referrals",
          "order": 3,
          "blurb": "Artifacts users share to promote themselves, plus double-sided referral design that exploits reciprocity.",
          "studyGuideAnchor": "shareable-artifacts-referrals",
          "itemIds": [
            "sa-fact-shareable-artifacts",
            "sa-def-shareable-artifact",
            "sa-pair-wrapped-artifact",
            "sa-pair-duolingo-badge-artifact",
            "sa-cmp-intrinsic-vs-bolted-share",
            "sa-fact-double-sided-referral",
            "sa-mcq-double-sided-referral",
            "czr-sticky-apps-sa-def-shareable-artifact",
            "tf-f-sticky-apps-sa-pair-wrapped-artifact",
            "tf-f-sticky-apps-sa-pair-duolingo-badge-artifact",
            "tf-d-sticky-apps-sa-def-shareable-artifact",
            "ot-share-def",
            "ot-share-wrapped",
            "ot-share-badge",
            "ot-share-embed",
            "fi-ot-share-wrapped",
            "fi-ot-share-badge",
            "fi-ot-share-embed"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l6-viral-p3-artifacts-referrals.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-kfactor",
          "statement": "Compute and interpret the K-factor (K = i x c) and the K > 1 threshold for self-sustaining growth.",
          "demonstrationIds": [
            "d-kfactor-def",
            "d-kfactor-thresholds"
          ]
        },
        {
          "id": "obj-cac",
          "statement": "Define CAC and explain how viral growth lowers it, using Duolingo's CAC from IPO to Q1 2025.",
          "demonstrationIds": [
            "d-cac-def",
            "d-duolingo-cac"
          ]
        },
        {
          "id": "obj-three-loops",
          "statement": "Distinguish the viral, content/ASO, and paid acquisition loops and explain why mature products run all three in parallel.",
          "demonstrationIds": [
            "d-loops-def",
            "d-loops-map"
          ]
        },
        {
          "id": "obj-ltv",
          "statement": "Define LTV and explain the LTV-greater-than-CAC condition that keeps the paid acquisition loop viable.",
          "demonstrationIds": [
            "d-ltv"
          ]
        },
        {
          "id": "obj-shareable-referrals",
          "statement": "Explain shareable artifacts (Spotify Wrapped, Top 1% badge) and why double-sided referrals outperform single-sided via reciprocity.",
          "demonstrationIds": [
            "d-shareable",
            "d-referrals"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-kfactor-def",
          "label": "Viral coefficient defined",
          "itemIds": [
            "sa-def-viral-coefficient",
            "czr-sticky-apps-sa-def-viral-coefficient",
            "tf-d-sticky-apps-sa-def-viral-coefficient"
          ]
        },
        {
          "id": "d-kfactor-thresholds",
          "label": "K thresholds and what K>1 signals",
          "itemIds": [
            "sa-num-kfactor-exponential",
            "sa-num-kfactor-valuable",
            "sa-mcq-kfactor-signals"
          ]
        },
        {
          "id": "d-cac-def",
          "label": "CAC defined",
          "itemIds": [
            "sa-def-cac",
            "czr-sticky-apps-sa-def-cac",
            "tf-df-sticky-apps-sa-def-cac"
          ]
        },
        {
          "id": "d-duolingo-cac",
          "label": "Duolingo's falling CAC",
          "itemIds": [
            "sa-num-duolingo-cac-ipo",
            "sa-num-duolingo-cac-2025",
            "cz-sticky-apps-sa-fact-duolingo-cac"
          ]
        },
        {
          "id": "d-loops-def",
          "label": "Viral and content/ASO loops",
          "itemIds": [
            "sa-def-viral-loop",
            "sa-def-content-aso-loop",
            "concept-rw-sticky-apps-the-viral-loop",
            "concept-rw-sticky-apps-the-content-aso-loop"
          ]
        },
        {
          "id": "d-loops-map",
          "label": "Match each loop to its mechanism",
          "itemIds": [
            "sa-pair-viral-loop-power",
            "sa-pair-content-loop-power",
            "sa-pair-paid-loop-power",
            "mcq-rw-l6-viral-p2-growth-loops"
          ],
          "requiredCorrect": 4
        },
        {
          "id": "d-ltv",
          "label": "LTV and the paid loop",
          "itemIds": [
            "sa-def-ltv",
            "czr-sticky-apps-sa-def-ltv",
            "tf-d-sticky-apps-sa-def-ltv",
            "concept-rw-sticky-apps-the-paid-acquisition-loop"
          ]
        },
        {
          "id": "d-shareable",
          "label": "Shareable artifacts",
          "itemIds": [
            "sa-def-shareable-artifact",
            "sa-pair-wrapped-artifact",
            "sa-pair-duolingo-badge-artifact",
            "czr-sticky-apps-sa-def-shareable-artifact"
          ]
        },
        {
          "id": "d-referrals",
          "label": "Double-sided referrals",
          "itemIds": [
            "sa-mcq-double-sided-referral",
            "tf-d-sticky-apps-sa-def-shareable-artifact"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-kfactor",
          "objectiveId": "obj-kfactor",
          "title": "The K-factor",
          "mcqIds": [
            "sa-mcq-kfactor-signals",
            "ot-kfactor-formula",
            "ot-kfactor-threshold",
            "ot-kfactor-interpret",
            "ot-kfactor-below-one"
          ]
        },
        {
          "id": "test-cac",
          "objectiveId": "obj-cac",
          "title": "CAC & Duolingo",
          "mcqIds": [
            "ot-cac-def",
            "ot-cac-ipo",
            "ot-cac-2025",
            "ot-cac-why-fell",
            "ot-cac-trend"
          ]
        },
        {
          "id": "test-three-loops",
          "objectiveId": "obj-three-loops",
          "title": "Three growth loops",
          "mcqIds": [
            "mcq-rw-l6-viral-p2-growth-loops",
            "ot-loops-content",
            "ot-loops-paid",
            "ot-loops-not-free",
            "ot-loops-viral"
          ]
        },
        {
          "id": "test-ltv",
          "objectiveId": "obj-ltv",
          "title": "LTV & paid loop",
          "mcqIds": [
            "ot-ltv-def",
            "ot-ltv-condition",
            "ot-ltv-negative",
            "ot-ltv-retention",
            "ot-ltv-compare"
          ]
        },
        {
          "id": "test-shareable-referrals",
          "objectiveId": "obj-shareable-referrals",
          "title": "Artifacts & referrals",
          "mcqIds": [
            "sa-mcq-double-sided-referral",
            "ot-share-def",
            "ot-share-wrapped",
            "ot-share-badge",
            "ot-share-embed"
          ]
        }
      ]
    },
    {
      "id": "l7-retention",
      "title": "Retention Architecture",
      "order": 7,
      "studyGuidePath": "/packs/sticky-apps/guides/l7-ret-p1-aha.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l7-ret-p1-aha",
          "title": "Onboarding & the Aha Moment",
          "order": 1,
          "blurb": "80% churn by day three — so onboarding races every new user to the moment value becomes real.",
          "studyGuideAnchor": "onboarding-the-aha-moment",
          "itemIds": [
            "sa-fact-retention-first-session",
            "sa-def-aha-moment",
            "sa-pair-facebook-aha",
            "sa-pair-twitter-aha",
            "sa-pair-duolingo-aha",
            "sa-proc-onboarding-aha",
            "sa-mcq-find-aha",
            "sa-num-day3-dropoff",
            "czr-sticky-apps-sa-def-aha-moment",
            "tf-t-sticky-apps-sa-pair-facebook-aha",
            "tf-f-sticky-apps-sa-pair-twitter-aha",
            "tf-f-sticky-apps-sa-pair-duolingo-aha",
            "tf-df-sticky-apps-sa-def-aha-moment",
            "concept-rw-sticky-apps-facebook",
            "concept-rw-sticky-apps-twitter",
            "concept-rw-sticky-apps-duolingo",
            "ot-aha-def-1",
            "ot-aha-twitter-2",
            "ot-aha-duolingo-3",
            "ot-aha-not-4",
            "ot-onb-day3-1",
            "ot-onb-predict-2",
            "ot-onb-survival-3",
            "ot-onb-not-4",
            "fi-ot-aha-def-1",
            "fi-ot-aha-twitter-2",
            "fi-ot-aha-duolingo-3",
            "fi-sa-mcq-find-aha"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l7-ret-p1-aha.md"
        },
        {
          "id": "l7-ret-p2-push",
          "title": "Push notifications",
          "order": 2,
          "blurb": "The re-engagement channel: timing, personalization, and a curiosity gap beat generic blasts.",
          "studyGuideAnchor": "push-notifications",
          "itemIds": [
            "sa-def-push-notification",
            "sa-fact-push-channel",
            "sa-pair-push-timing",
            "sa-pair-push-personalization",
            "sa-pair-push-fomo",
            "sa-cmp-push-personalized-generic",
            "sa-mcq-push-rules",
            "czr-sticky-apps-sa-def-push-notification",
            "tf-d-sticky-apps-sa-def-push-notification",
            "ot-push-role-1",
            "ot-push-timing-2",
            "ot-push-personal-3",
            "ot-push-fomo-4",
            "fi-ot-push-timing-2",
            "fi-ot-push-personal-3",
            "fi-ot-push-fomo-4"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l7-ret-p2-push.md"
        },
        {
          "id": "l7-ret-p3-investment-cohorts",
          "title": "Investment & cohort retention",
          "order": 3,
          "blurb": "Accumulated investment raises the cost of leaving; cohort curves and LTV prove retention pays.",
          "studyGuideAnchor": "retention-is-won-in-the-first-session",
          "itemIds": [
            "sa-def-investment-hook",
            "sa-pair-linkedin-investment",
            "sa-pair-duolingo-investment",
            "sa-def-cohort-analysis",
            "sa-def-ltv",
            "sa-num-day1-retention",
            "sa-num-day7-retention",
            "sa-num-day30-retention",
            "sa-num-ltv-uplift",
            "mcq-rw-l7-ret-p3-investment-cohorts",
            "czr-sticky-apps-sa-def-cohort-analysis",
            "tf-f-sticky-apps-sa-pair-linkedin-investment",
            "tf-t-sticky-apps-sa-pair-duolingo-investment",
            "tf-df-sticky-apps-sa-def-investment-hook",
            "tf-d-sticky-apps-sa-def-cohort-analysis",
            "ot-inv-what-1",
            "ot-inv-linkedin-2",
            "ot-inv-duolingo-3",
            "ot-inv-durable-4",
            "ot-inv-effect-5",
            "ot-coh-day1-1",
            "ot-coh-day7-2",
            "ot-coh-day30-3",
            "ot-coh-rank-4",
            "ot-coh-ltv-5"
          ]
        }
      ],
      "objectives": [
        {
          "id": "obj-aha-moment",
          "statement": "Define the Aha Moment as feeling core value and match Facebook, Twitter, and Duolingo to their onboarding thresholds.",
          "demonstrationIds": [
            "d-aha-def",
            "d-aha-thresholds"
          ]
        },
        {
          "id": "obj-onboarding-analytics",
          "statement": "Explain how teams locate the Aha Moment empirically from cohort data and cite the day-3 drop-off.",
          "demonstrationIds": [
            "d-find-aha",
            "d-aha-discriminate"
          ]
        },
        {
          "id": "obj-push",
          "statement": "State the three rules of effective push notifications (timing, personalization, curiosity/FOMO) and what not to do.",
          "demonstrationIds": [
            "d-push-def",
            "d-push-rules"
          ]
        },
        {
          "id": "obj-investment",
          "statement": "Explain the Investment (Hook) stage as raising switching cost and match LinkedIn and Duolingo to their investment types.",
          "demonstrationIds": [
            "d-investment",
            "d-investment-discriminate"
          ]
        },
        {
          "id": "obj-cohort-ltv",
          "statement": "Read cohort retention benchmarks (Day 1/7/30) and connect a small retention gain to a large LTV uplift.",
          "demonstrationIds": [
            "d-cohort",
            "d-retention-numbers"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-aha-def",
          "label": "Aha Moment defined",
          "itemIds": [
            "sa-def-aha-moment",
            "czr-sticky-apps-sa-def-aha-moment",
            "tf-df-sticky-apps-sa-def-aha-moment"
          ]
        },
        {
          "id": "d-aha-thresholds",
          "label": "App-to-threshold matching",
          "itemIds": [
            "sa-pair-facebook-aha",
            "sa-pair-twitter-aha",
            "sa-pair-duolingo-aha",
            "mcq-rw-l7-ret-p3-investment-cohorts"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-find-aha",
          "label": "Finding the Aha Moment in cohorts",
          "itemIds": [
            "sa-mcq-find-aha",
            "sa-num-day3-dropoff",
            "concept-rw-sticky-apps-facebook",
            "concept-rw-sticky-apps-twitter"
          ]
        },
        {
          "id": "d-aha-discriminate",
          "label": "App-threshold discrimination",
          "itemIds": [
            "tf-t-sticky-apps-sa-pair-facebook-aha",
            "tf-f-sticky-apps-sa-pair-twitter-aha",
            "tf-f-sticky-apps-sa-pair-duolingo-aha",
            "concept-rw-sticky-apps-duolingo"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-push-def",
          "label": "Push as re-engagement channel",
          "itemIds": [
            "sa-def-push-notification",
            "czr-sticky-apps-sa-def-push-notification",
            "tf-d-sticky-apps-sa-def-push-notification"
          ]
        },
        {
          "id": "d-push-rules",
          "label": "Three push rules and the anti-pattern",
          "itemIds": [
            "sa-pair-push-timing",
            "sa-pair-push-personalization",
            "sa-pair-push-fomo",
            "sa-mcq-push-rules"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-investment",
          "label": "Investment stage and examples",
          "itemIds": [
            "sa-def-investment-hook",
            "sa-pair-linkedin-investment",
            "sa-pair-duolingo-investment",
            "tf-df-sticky-apps-sa-def-investment-hook"
          ]
        },
        {
          "id": "d-investment-discriminate",
          "label": "Investment example discrimination",
          "itemIds": [
            "tf-f-sticky-apps-sa-pair-linkedin-investment",
            "tf-t-sticky-apps-sa-pair-duolingo-investment"
          ]
        },
        {
          "id": "d-cohort",
          "label": "Cohort analysis and LTV",
          "itemIds": [
            "sa-def-cohort-analysis",
            "czr-sticky-apps-sa-def-cohort-analysis",
            "tf-d-sticky-apps-sa-def-cohort-analysis",
            "sa-def-ltv"
          ]
        },
        {
          "id": "d-retention-numbers",
          "label": "Retention benchmarks and LTV uplift",
          "itemIds": [
            "sa-num-day1-retention",
            "sa-num-day7-retention",
            "sa-num-day30-retention",
            "sa-num-ltv-uplift"
          ],
          "requiredCorrect": 3
        }
      ],
      "objectiveTests": [
        {
          "id": "test-aha-moment",
          "objectiveId": "obj-aha-moment",
          "title": "The Aha Moment",
          "mcqIds": [
            "mcq-rw-l7-ret-p3-investment-cohorts",
            "ot-aha-def-1",
            "ot-aha-twitter-2",
            "ot-aha-duolingo-3",
            "ot-aha-not-4"
          ]
        },
        {
          "id": "test-onboarding-analytics",
          "objectiveId": "obj-onboarding-analytics",
          "title": "Finding the Aha Moment",
          "mcqIds": [
            "sa-mcq-find-aha",
            "ot-onb-day3-1",
            "ot-onb-predict-2",
            "ot-onb-survival-3",
            "ot-onb-not-4"
          ]
        },
        {
          "id": "test-push",
          "objectiveId": "obj-push",
          "title": "Push Notification Rules",
          "mcqIds": [
            "sa-mcq-push-rules",
            "ot-push-role-1",
            "ot-push-timing-2",
            "ot-push-personal-3",
            "ot-push-fomo-4"
          ]
        },
        {
          "id": "test-investment",
          "objectiveId": "obj-investment",
          "title": "Investment Stage",
          "mcqIds": [
            "ot-inv-what-1",
            "ot-inv-linkedin-2",
            "ot-inv-duolingo-3",
            "ot-inv-durable-4",
            "ot-inv-effect-5"
          ]
        },
        {
          "id": "test-cohort-ltv",
          "objectiveId": "obj-cohort-ltv",
          "title": "Cohort Retention & LTV",
          "mcqIds": [
            "ot-coh-day1-1",
            "ot-coh-day7-2",
            "ot-coh-day30-3",
            "ot-coh-rank-4",
            "ot-coh-ltv-5"
          ]
        }
      ]
    },
    {
      "id": "l8-design-patterns",
      "title": "Design Patterns & Ethics",
      "order": 8,
      "studyGuidePath": "/packs/sticky-apps/guides/l8-dp-p1-core-loop.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l8-dp-p1-core-loop",
          "title": "Core loop & notifications",
          "order": 1,
          "blurb": "The 2–5 minute action cycle, the 400ms Doherty Threshold, open loops, and notifications that fire on state instead of the clock.",
          "studyGuideAnchor": "the-four-jobs-of-a-core-loop",
          "itemIds": [
            "sa-def-core-loop",
            "sa-fact-core-loop-four",
            "sa-def-doherty-threshold",
            "sa-num-doherty-ms",
            "sa-fact-zeigarnik-open-loop",
            "sa-fact-notification-architecture",
            "sa-fact-streak-freeze",
            "sa-pair-personalized-notification",
            "sa-mcq-doherty",
            "sa-num-core-loop-minutes",
            "czr-sticky-apps-sa-def-doherty-threshold",
            "czr-sticky-apps-sa-def-core-loop",
            "tf-f-sticky-apps-sa-pair-personalized-notification",
            "tf-df-sticky-apps-sa-def-doherty-threshold",
            "tf-d-sticky-apps-sa-def-core-loop",
            "ot-core-loop-jobs",
            "ot-core-loop-doherty-ms",
            "ot-core-loop-minutes",
            "ot-core-loop-open-loop",
            "ot-notif-habituate",
            "ot-notif-personalized",
            "ot-notif-trigger",
            "ot-notif-social",
            "ot-notif-rank",
            "fi-sa-mcq-doherty"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l8-dp-p1-core-loop.md"
        },
        {
          "id": "l8-dp-p2-social-onboarding",
          "title": "Social sequencing & onboarding",
          "order": 2,
          "blurb": "Build the social layer in order — async proof, then cooperation, then synchronous play — and onboard users to the Aha Moment in 60 seconds.",
          "studyGuideAnchor": "social-sequencing-onboarding",
          "itemIds": [
            "sa-proc-social-layer-order",
            "sa-pair-async-social-proof",
            "sa-pair-cooperative-features",
            "sa-pair-synchronous-competition",
            "sa-proc-onboarding-aha",
            "sa-def-progressive-disclosure",
            "sa-def-zero-blank-slate",
            "sa-num-quick-win-seconds",
            "sa-fact-aha-moment",
            "mcq-rw-l8-dp-p2-social-onboarding",
            "czr-sticky-apps-sa-def-progressive-disclosure",
            "czr-sticky-apps-sa-def-zero-blank-slate",
            "tf-t-sticky-apps-sa-pair-async-social-proof",
            "tf-t-sticky-apps-sa-pair-cooperative-features",
            "tf-t-sticky-apps-sa-pair-synchronous-competition",
            "tf-df-sticky-apps-sa-def-progressive-disclosure",
            "tf-df-sticky-apps-sa-def-zero-blank-slate",
            "ot-onbo-sequence-order",
            "ot-onbo-progressive",
            "ot-onbo-blank-slate",
            "ot-onbo-not-async",
            "fi-ot-onbo-sequence-order",
            "fi-mcq-rw-l8-dp-p2-social-onboarding",
            "fi-ot-onbo-progressive",
            "fi-ot-onbo-blank-slate"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l8-dp-p2-social-onboarding.md"
        },
        {
          "id": "l8-dp-p3-ethics",
          "title": "Ethical design guardrails",
          "order": 3,
          "blurb": "Dark patterns versus humane alternatives — streak freezes, gentle cues, transparency — and Fogg's maxims for durable, aligned engagement.",
          "studyGuideAnchor": "ethical-design-guardrails",
          "itemIds": [
            "sa-def-dark-pattern",
            "sa-fact-ethical-guardrails",
            "sa-cmp-humane-vs-dark",
            "sa-cmp-freeze-vs-break",
            "sa-pair-fogg-maxim-want",
            "sa-pair-fogg-maxim-simplicity",
            "sa-mcq-dark-pattern",
            "cz-sticky-apps-sa-def-dark-pattern",
            "tf-t-sticky-apps-sa-pair-fogg-maxim-want",
            "tf-f-sticky-apps-sa-pair-fogg-maxim-simplicity",
            "tf-df-sticky-apps-sa-def-dark-pattern",
            "ot-ethics-fogg-want",
            "ot-ethics-simplicity",
            "ot-ethics-humane",
            "ot-ethics-shaming",
            "fi-sa-mcq-dark-pattern",
            "fi-ot-ethics-fogg-want",
            "fi-ot-ethics-simplicity",
            "fi-ot-ethics-shaming"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l8-dp-p3-ethics.md"
        },
        {
          "id": "l8-dp-p4-context",
          "title": "People, Places, Things, Events",
          "order": 4,
          "blurb": "The PPTE context framework — treating the social graph, location, accumulated artifacts, and real-world events as first-class design variables.",
          "studyGuideAnchor": "people-places-things-events",
          "itemIds": [
            "sa-fact-ppte-framework",
            "sa-pair-ppte-people",
            "sa-pair-ppte-places",
            "sa-pair-ppte-things",
            "sa-pair-ppte-events",
            "sa-fact-things-switching-cost",
            "sa-fact-duolingo-newyear",
            "sa-mcq-ppte-things",
            "tf-t-sticky-apps-sa-pair-ppte-people",
            "tf-f-sticky-apps-sa-pair-ppte-places",
            "tf-t-sticky-apps-sa-pair-ppte-things",
            "tf-t-sticky-apps-sa-pair-ppte-events",
            "concept-rw-sticky-apps-people",
            "concept-rw-sticky-apps-places",
            "concept-rw-sticky-apps-things",
            "concept-rw-sticky-apps-events",
            "ot-ppte-acronym",
            "ot-ppte-people",
            "ot-ppte-places",
            "ot-ppte-events",
            "fi-ot-ppte-people",
            "fi-ot-ppte-places"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l8-dp-p4-context.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-core-loop",
          "statement": "Describe the four jobs of a core loop and the Doherty Threshold (sub-400ms feedback that feels instantaneous).",
          "demonstrationIds": [
            "d-core-loop",
            "d-doherty"
          ]
        },
        {
          "id": "obj-notifications",
          "statement": "Identify a state-triggered, personalized notification that references specific user investment.",
          "demonstrationIds": [
            "d-notification"
          ]
        },
        {
          "id": "obj-onboarding-sequencing",
          "statement": "Apply progressive disclosure and the zero blank slate, and sequence social mechanics from asynchronous proof to cooperation to synchronous competition.",
          "demonstrationIds": [
            "d-onboarding-principles",
            "d-social-sequence"
          ]
        },
        {
          "id": "obj-ethics",
          "statement": "Distinguish dark patterns from humane design and apply Fogg's maxims (help people do what they want; simplicity changes behavior).",
          "demonstrationIds": [
            "d-dark-pattern",
            "d-fogg-maxims"
          ]
        },
        {
          "id": "obj-ppte",
          "statement": "Apply the PPTE context framework (People, Places, Things, Events) to locate re-engagement levers.",
          "demonstrationIds": [
            "d-ppte-map",
            "d-ppte-concepts"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-core-loop",
          "label": "The core loop's jobs",
          "itemIds": [
            "sa-def-core-loop",
            "czr-sticky-apps-sa-def-core-loop",
            "tf-d-sticky-apps-sa-def-core-loop",
            "sa-num-core-loop-minutes"
          ]
        },
        {
          "id": "d-doherty",
          "label": "Doherty Threshold",
          "itemIds": [
            "sa-def-doherty-threshold",
            "sa-num-doherty-ms",
            "sa-mcq-doherty",
            "czr-sticky-apps-sa-def-doherty-threshold"
          ]
        },
        {
          "id": "d-notification",
          "label": "Personalized, state-triggered notifications",
          "itemIds": [
            "sa-pair-personalized-notification",
            "tf-f-sticky-apps-sa-pair-personalized-notification"
          ]
        },
        {
          "id": "d-onboarding-principles",
          "label": "Progressive disclosure and zero blank slate",
          "itemIds": [
            "sa-def-progressive-disclosure",
            "sa-def-zero-blank-slate",
            "czr-sticky-apps-sa-def-progressive-disclosure",
            "sa-num-quick-win-seconds"
          ]
        },
        {
          "id": "d-social-sequence",
          "label": "Sequencing social mechanics",
          "itemIds": [
            "sa-pair-async-social-proof",
            "sa-pair-cooperative-features",
            "sa-pair-synchronous-competition",
            "mcq-rw-l8-dp-p2-social-onboarding"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-dark-pattern",
          "label": "Spotting dark patterns",
          "itemIds": [
            "sa-def-dark-pattern",
            "cz-sticky-apps-sa-def-dark-pattern",
            "sa-mcq-dark-pattern",
            "tf-df-sticky-apps-sa-def-dark-pattern"
          ]
        },
        {
          "id": "d-fogg-maxims",
          "label": "Fogg's ethical maxims",
          "itemIds": [
            "sa-pair-fogg-maxim-want",
            "sa-pair-fogg-maxim-simplicity",
            "tf-t-sticky-apps-sa-pair-fogg-maxim-want",
            "tf-f-sticky-apps-sa-pair-fogg-maxim-simplicity"
          ]
        },
        {
          "id": "d-ppte-map",
          "label": "PPTE axis mapping",
          "itemIds": [
            "sa-pair-ppte-people",
            "sa-pair-ppte-places",
            "sa-pair-ppte-things",
            "sa-pair-ppte-events"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-ppte-concepts",
          "label": "Recognize PPTE axes",
          "itemIds": [
            "sa-mcq-ppte-things",
            "concept-rw-sticky-apps-people",
            "concept-rw-sticky-apps-things",
            "concept-rw-sticky-apps-events"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-core-loop",
          "objectiveId": "obj-core-loop",
          "title": "Core loop & Doherty Threshold",
          "mcqIds": [
            "sa-mcq-doherty",
            "ot-core-loop-jobs",
            "ot-core-loop-doherty-ms",
            "ot-core-loop-minutes",
            "ot-core-loop-open-loop"
          ]
        },
        {
          "id": "test-notifications",
          "objectiveId": "obj-notifications",
          "title": "Notification triggers",
          "mcqIds": [
            "ot-notif-habituate",
            "ot-notif-personalized",
            "ot-notif-trigger",
            "ot-notif-social",
            "ot-notif-rank"
          ]
        },
        {
          "id": "test-onboarding-sequencing",
          "objectiveId": "obj-onboarding-sequencing",
          "title": "Onboarding & social sequencing",
          "mcqIds": [
            "mcq-rw-l8-dp-p2-social-onboarding",
            "ot-onbo-sequence-order",
            "ot-onbo-progressive",
            "ot-onbo-blank-slate",
            "ot-onbo-not-async"
          ]
        },
        {
          "id": "test-ethics",
          "objectiveId": "obj-ethics",
          "title": "Dark patterns & Fogg's maxims",
          "mcqIds": [
            "sa-mcq-dark-pattern",
            "ot-ethics-fogg-want",
            "ot-ethics-simplicity",
            "ot-ethics-humane",
            "ot-ethics-shaming"
          ]
        },
        {
          "id": "test-ppte",
          "objectiveId": "obj-ppte",
          "title": "PPTE context framework",
          "mcqIds": [
            "sa-mcq-ppte-things",
            "ot-ppte-acronym",
            "ot-ppte-people",
            "ot-ppte-places",
            "ot-ppte-events"
          ]
        }
      ]
    },
    {
      "id": "l9-case-studies",
      "title": "Case Studies in Stickiness",
      "order": 9,
      "studyGuidePath": "/packs/sticky-apps/guides/l9-cases-p1-duolingo.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l9-cases-p1-duolingo",
          "title": "Duolingo: the gamification benchmark",
          "order": 1,
          "blurb": "Streaks, leagues, variable XP, and an AI content engine — plus the retention numbers that prove it works.",
          "studyGuideAnchor": "duolingo-the-gamification-benchmark",
          "itemIds": [
            "sa-fact-duolingo-streak-loss",
            "sa-def-demotion-threat",
            "sa-fact-duolingo-leagues",
            "sa-fact-duolingo-xp",
            "sa-mcq-duolingo-ai",
            "sa-num-duolingo-courses",
            "sa-num-duolingo-dau-mau",
            "sa-num-industry-dau-mau",
            "sa-num-duolingo-retention",
            "sa-num-duolingo-mcap-ipo",
            "sa-num-duolingo-mcap-q1-2025",
            "czr-sticky-apps-sa-def-demotion-threat",
            "cz-sticky-apps-sa-fact-duolingo-xp",
            "mcq-c-sticky-apps-sa-fact-duolingo-xp",
            "tf-d-sticky-apps-sa-def-demotion-threat",
            "ot-duo-mech-1",
            "ot-duo-mech-2",
            "ot-duo-mech-3",
            "ot-duo-num-1",
            "ot-duo-num-2",
            "ot-duo-num-3",
            "ot-duo-num-4",
            "ot-duo-num-5",
            "fi-sa-mcq-duolingo-ai",
            "fi-ot-duo-num-1"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l9-cases-p1-duolingo.md"
        },
        {
          "id": "l9-cases-p2-tiktok-instagram",
          "title": "TikTok & Instagram",
          "order": 2,
          "blurb": "The interest graph that ignores who you know, and the social graph that stays a moat anyway.",
          "studyGuideAnchor": "tiktok-instagram",
          "itemIds": [
            "sa-fact-tiktok-interest-graph",
            "sa-def-interest-graph",
            "sa-pair-tiktok-mechanic",
            "sa-fact-tiktok-completion-rate",
            "sa-mcq-tiktok-signal",
            "sa-fact-instagram-moat",
            "sa-pair-instagram-mechanic",
            "sa-cmp-interest-vs-social-graph",
            "tf-t-sticky-apps-sa-pair-tiktok-mechanic",
            "tf-t-sticky-apps-sa-pair-instagram-mechanic",
            "concept-rw-sticky-apps-instagram",
            "ot-tt-ig-1",
            "ot-tt-ig-2",
            "ot-tt-ig-3",
            "ot-tt-ig-4",
            "fi-ot-tt-ig-2",
            "fi-ot-tt-ig-4"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l9-cases-p2-tiktok-instagram.md"
        },
        {
          "id": "l9-cases-p3-snapchat-farmville",
          "title": "Snapchat & FarmVille",
          "order": 3,
          "blurb": "Disappearing bonds, streak credential-sharing, and the 2009 proof that obligation alone keeps people farming.",
          "studyGuideAnchor": "snapchat-farmville",
          "itemIds": [
            "sa-fact-snapchat-ephemeral",
            "sa-def-ephemeral-content",
            "sa-fact-snapchat-group-streaks",
            "sa-pair-snapchat-mechanic",
            "sa-fact-farmville-proof",
            "sa-pair-farmville-mechanic",
            "sa-num-farmville-mau",
            "mcq-rw-l9-cases-p3-snapchat-farmville",
            "czr-sticky-apps-sa-def-ephemeral-content",
            "cz-sticky-apps-sa-fact-snapchat-ephemeral",
            "cz-sticky-apps-sa-fact-snapchat-group-streaks",
            "cz-sticky-apps-sa-fact-farmville-proof",
            "tf-t-sticky-apps-sa-pair-snapchat-mechanic",
            "tf-t-sticky-apps-sa-pair-farmville-mechanic",
            "tf-df-sticky-apps-sa-def-ephemeral-content",
            "concept-rw-sticky-apps-snapchat",
            "ot-snap-1",
            "ot-snap-2",
            "ot-snap-3",
            "ot-snap-4",
            "ot-farm-1",
            "ot-farm-2",
            "ot-farm-3",
            "ot-farm-4",
            "ot-farm-5",
            "fi-ot-snap-3",
            "fi-ot-farm-1"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l9-cases-p3-snapchat-farmville.md"
        }
      ],
      "objectives": [
        {
          "id": "obj-duolingo-mechanics",
          "statement": "Explain Duolingo's demotion threat and variable XP as loss-aversion and variable-ratio mechanics, and how AI scaled its content.",
          "demonstrationIds": [
            "d-demotion",
            "d-variable-xp"
          ]
        },
        {
          "id": "obj-duolingo-numbers",
          "statement": "Cite Duolingo's DAU/MAU ratio versus the industry average, its day-over-day retention, and its market-cap growth.",
          "demonstrationIds": [
            "d-duolingo-engagement",
            "d-duolingo-mcap"
          ]
        },
        {
          "id": "obj-tiktok-instagram",
          "statement": "Contrast TikTok's interest graph and completion signal with Instagram's social-graph moat.",
          "demonstrationIds": [
            "d-tiktok",
            "d-instagram"
          ]
        },
        {
          "id": "obj-snapchat",
          "statement": "Explain Snapchat's ephemeral content and Group Streaks as FOMO and loss-aversion engines.",
          "demonstrationIds": [
            "d-ephemeral",
            "d-snapchat-streaks"
          ]
        },
        {
          "id": "obj-farmville",
          "statement": "Explain FarmVille's social-obligation gift-sending loops and cite its peak monthly active users.",
          "demonstrationIds": [
            "d-farmville"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-demotion",
          "label": "Leagues and the demotion threat",
          "itemIds": [
            "sa-def-demotion-threat",
            "czr-sticky-apps-sa-def-demotion-threat",
            "tf-d-sticky-apps-sa-def-demotion-threat"
          ]
        },
        {
          "id": "d-variable-xp",
          "label": "Variable XP and AI content scaling",
          "itemIds": [
            "cz-sticky-apps-sa-fact-duolingo-xp",
            "mcq-c-sticky-apps-sa-fact-duolingo-xp",
            "sa-mcq-duolingo-ai",
            "sa-num-duolingo-courses"
          ]
        },
        {
          "id": "d-duolingo-engagement",
          "label": "DAU/MAU and retention",
          "itemIds": [
            "sa-num-duolingo-dau-mau",
            "sa-num-industry-dau-mau",
            "sa-num-duolingo-retention"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-duolingo-mcap",
          "label": "Market-cap growth",
          "itemIds": [
            "sa-num-duolingo-mcap-ipo",
            "sa-num-duolingo-mcap-q1-2025"
          ]
        },
        {
          "id": "d-tiktok",
          "label": "TikTok's interest graph and signal",
          "itemIds": [
            "sa-def-interest-graph",
            "sa-pair-tiktok-mechanic",
            "sa-mcq-tiktok-signal",
            "tf-t-sticky-apps-sa-pair-tiktok-mechanic"
          ]
        },
        {
          "id": "d-instagram",
          "label": "Instagram's social-graph moat",
          "itemIds": [
            "sa-pair-instagram-mechanic",
            "tf-t-sticky-apps-sa-pair-instagram-mechanic",
            "concept-rw-sticky-apps-instagram"
          ]
        },
        {
          "id": "d-ephemeral",
          "label": "Ephemeral content effects",
          "itemIds": [
            "sa-def-ephemeral-content",
            "czr-sticky-apps-sa-def-ephemeral-content",
            "cz-sticky-apps-sa-fact-snapchat-ephemeral",
            "mcq-rw-l9-cases-p3-snapchat-farmville"
          ]
        },
        {
          "id": "d-snapchat-streaks",
          "label": "Snapchat streaks and Group Streaks",
          "itemIds": [
            "sa-pair-snapchat-mechanic",
            "cz-sticky-apps-sa-fact-snapchat-group-streaks",
            "tf-t-sticky-apps-sa-pair-snapchat-mechanic",
            "concept-rw-sticky-apps-snapchat"
          ]
        },
        {
          "id": "d-farmville",
          "label": "FarmVille's obligation loops",
          "itemIds": [
            "sa-pair-farmville-mechanic",
            "cz-sticky-apps-sa-fact-farmville-proof",
            "sa-num-farmville-mau",
            "tf-t-sticky-apps-sa-pair-farmville-mechanic"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-duolingo-mechanics",
          "objectiveId": "obj-duolingo-mechanics",
          "title": "Duolingo Mechanics",
          "mcqIds": [
            "mcq-c-sticky-apps-sa-fact-duolingo-xp",
            "sa-mcq-duolingo-ai",
            "ot-duo-mech-1",
            "ot-duo-mech-2",
            "ot-duo-mech-3"
          ]
        },
        {
          "id": "test-duolingo-numbers",
          "objectiveId": "obj-duolingo-numbers",
          "title": "Duolingo By the Numbers",
          "mcqIds": [
            "ot-duo-num-1",
            "ot-duo-num-2",
            "ot-duo-num-3",
            "ot-duo-num-4",
            "ot-duo-num-5"
          ]
        },
        {
          "id": "test-tiktok-instagram",
          "objectiveId": "obj-tiktok-instagram",
          "title": "TikTok vs Instagram",
          "mcqIds": [
            "sa-mcq-tiktok-signal",
            "ot-tt-ig-1",
            "ot-tt-ig-2",
            "ot-tt-ig-3",
            "ot-tt-ig-4"
          ]
        },
        {
          "id": "test-snapchat",
          "objectiveId": "obj-snapchat",
          "title": "Snapchat Retention",
          "mcqIds": [
            "mcq-rw-l9-cases-p3-snapchat-farmville",
            "ot-snap-1",
            "ot-snap-2",
            "ot-snap-3",
            "ot-snap-4"
          ]
        },
        {
          "id": "test-farmville",
          "objectiveId": "obj-farmville",
          "title": "FarmVille Proof of Concept",
          "mcqIds": [
            "ot-farm-1",
            "ot-farm-2",
            "ot-farm-3",
            "ot-farm-4",
            "ot-farm-5"
          ]
        }
      ]
    },
    {
      "id": "l10-concepts",
      "title": "Who's Who & What's What of Stickiness",
      "order": 10,
      "studyGuidePath": "/packs/sticky-apps/guides/l10-concepts.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l10-p1-people",
          "title": "The people behind the playbook",
          "order": 1,
          "blurb": "Name the researcher or designer from a few clues — captology to the bottomless feed.",
          "studyGuideAnchor": "the-people-behind-the-playbook",
          "itemIds": [
            "sa-concept-fogg",
            "sa-concept-eyal",
            "sa-concept-skinner",
            "sa-concept-berridge",
            "sa-concept-schultz",
            "sa-concept-kahneman",
            "sa-concept-csikszentmihalyi",
            "sa-concept-chou",
            "sa-concept-raskin",
            "sa-concept-lembke",
            "mcq-rw-l10-p1-people",
            "ot-founders-skinner",
            "ot-founders-eyal",
            "ot-founders-not-fogg",
            "ot-founders-formula",
            "ot-neuro-berridge",
            "ot-neuro-schultz",
            "ot-neuro-kahneman",
            "ot-neuro-streak",
            "ot-neuro-match",
            "ot-design-flow",
            "ot-design-chou",
            "ot-design-raskin",
            "ot-design-lembke",
            "ot-design-not-match"
          ]
        },
        {
          "id": "l10-p2-frameworks",
          "title": "The frameworks and effects",
          "order": 2,
          "blurb": "Identify the model or effect from its fingerprints — the Hook Model, the K-factor, the Zeigarnik itch.",
          "studyGuideAnchor": "the-frameworks-and-effects",
          "itemIds": [
            "sa-concept-hook-model",
            "sa-concept-bmap",
            "sa-concept-variable-ratio",
            "sa-concept-loss-aversion",
            "sa-concept-zeigarnik",
            "sa-concept-network-effect",
            "sa-concept-kfactor",
            "sa-concept-octalysis",
            "sa-concept-goal-gradient",
            "sa-concept-dmn",
            "mcq-rw-l10-p2-frameworks",
            "ot-frame-bmap",
            "ot-frame-varratio",
            "ot-frame-lossaversion",
            "ot-frame-goalgradient",
            "ot-social-network",
            "ot-social-kfactor",
            "ot-social-octalysis",
            "ot-social-dmn"
          ]
        },
        {
          "id": "l10-p3-right-or-wrong",
          "title": "Right or Wrong: spot the mechanic",
          "order": 3,
          "blurb": "Two images, one prompt — pick the design the science actually supports.",
          "itemIds": [
            "sa-cmp-variable-vs-fixed-ratio",
            "sa-cmp-bookmark-vs-push",
            "sa-cmp-wanting-liking",
            "sa-cmp-intrinsic-vs-bolted-share",
            "mcq-rw-l10-p3-right-or-wrong"
          ]
        }
      ],
      "objectives": [
        {
          "id": "obj-academic-founders",
          "statement": "Recognize the academic pioneers of persuasive design (BJ Fogg, Nir Eyal, B.F. Skinner) from clues about their contributions.",
          "demonstrationIds": [
            "d-founders"
          ]
        },
        {
          "id": "obj-neuroscience-figures",
          "statement": "Recognize the neuroscience and behavioral-economics figures (Kent Berridge, Wolfram Schultz, Daniel Kahneman) by the idea they established.",
          "demonstrationIds": [
            "d-neuro-people"
          ]
        },
        {
          "id": "obj-designers-critics",
          "statement": "Recognize the designers and critics (Csikszentmihalyi, Yu-kai Chou, Aza Raskin, Anna Lembke) by the concept they are welded to.",
          "demonstrationIds": [
            "d-designers"
          ]
        },
        {
          "id": "obj-core-frameworks",
          "statement": "Recognize the core frameworks and effects by description (Hook Model, B=MAP, variable-ratio, loss aversion, Zeigarnik, goal gradient).",
          "demonstrationIds": [
            "d-frameworks-a",
            "d-frameworks-b"
          ]
        },
        {
          "id": "obj-social-neuro-frameworks",
          "statement": "Recognize the social/growth and neuro frameworks (network effects, K-factor, Octalysis, Default Mode Network) and spot the Zeigarnik pattern.",
          "demonstrationIds": [
            "d-frameworks-c",
            "d-spot-mechanic"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-founders",
          "label": "Fogg, Eyal, Skinner",
          "itemIds": [
            "sa-concept-fogg",
            "sa-concept-eyal",
            "sa-concept-skinner",
            "mcq-rw-l10-p1-people"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-neuro-people",
          "label": "Berridge, Schultz, Kahneman",
          "itemIds": [
            "sa-concept-berridge",
            "sa-concept-schultz",
            "sa-concept-kahneman"
          ]
        },
        {
          "id": "d-designers",
          "label": "Csikszentmihalyi, Chou, Raskin, Lembke",
          "itemIds": [
            "sa-concept-csikszentmihalyi",
            "sa-concept-chou",
            "sa-concept-raskin",
            "sa-concept-lembke"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-frameworks-a",
          "label": "Hook, B=MAP, variable-ratio",
          "itemIds": [
            "sa-concept-hook-model",
            "sa-concept-bmap",
            "sa-concept-variable-ratio",
            "mcq-rw-l10-p2-frameworks"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-frameworks-b",
          "label": "Loss aversion, Zeigarnik, goal gradient",
          "itemIds": [
            "sa-concept-loss-aversion",
            "sa-concept-zeigarnik",
            "sa-concept-goal-gradient"
          ]
        },
        {
          "id": "d-frameworks-c",
          "label": "Network effects, K-factor, Octalysis, DMN",
          "itemIds": [
            "sa-concept-network-effect",
            "sa-concept-kfactor",
            "sa-concept-octalysis",
            "sa-concept-dmn"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-spot-mechanic",
          "label": "Spot the Zeigarnik pattern",
          "itemIds": [
            "mcq-rw-l10-p3-right-or-wrong",
            "sa-concept-zeigarnik"
          ]
        }
      ],
      "objectiveTests": [
        {
          "id": "test-academic-founders",
          "objectiveId": "obj-academic-founders",
          "title": "Academic Founders",
          "mcqIds": [
            "mcq-rw-l10-p1-people",
            "ot-founders-skinner",
            "ot-founders-eyal",
            "ot-founders-not-fogg",
            "ot-founders-formula"
          ]
        },
        {
          "id": "test-neuro-figures",
          "objectiveId": "obj-neuroscience-figures",
          "title": "Neuroscience & Econ Figures",
          "mcqIds": [
            "ot-neuro-berridge",
            "ot-neuro-schultz",
            "ot-neuro-kahneman",
            "ot-neuro-streak",
            "ot-neuro-match"
          ]
        },
        {
          "id": "test-designers-critics",
          "objectiveId": "obj-designers-critics",
          "title": "Designers & Critics",
          "mcqIds": [
            "ot-design-flow",
            "ot-design-chou",
            "ot-design-raskin",
            "ot-design-lembke",
            "ot-design-not-match"
          ]
        },
        {
          "id": "test-core-frameworks",
          "objectiveId": "obj-core-frameworks",
          "title": "Core Frameworks & Effects",
          "mcqIds": [
            "mcq-rw-l10-p2-frameworks",
            "ot-frame-bmap",
            "ot-frame-varratio",
            "ot-frame-lossaversion",
            "ot-frame-goalgradient"
          ]
        },
        {
          "id": "test-social-neuro-frameworks",
          "objectiveId": "obj-social-neuro-frameworks",
          "title": "Social, Growth & Neuro",
          "mcqIds": [
            "mcq-rw-l10-p3-right-or-wrong",
            "ot-social-network",
            "ot-social-kfactor",
            "ot-social-octalysis",
            "ot-social-dmn"
          ]
        }
      ]
    },
    {
      "id": "l11-vocabulary",
      "title": "Essential Vocabulary & Quick Recall",
      "order": 11,
      "studyGuidePath": "/packs/sticky-apps/guides/l11-vocab-p1-neuro.md",
      "sources": [
        {
          "label": "The Science of Sticky Apps — research compilation (Perplexity)"
        }
      ],
      "parts": [
        {
          "id": "l11-vocab-p1-neuro",
          "title": "Brain & behavior terms",
          "order": 1,
          "blurb": "The neuroscience and behavioral-economics vocabulary behind compulsion.",
          "studyGuideAnchor": "brain-behavior-terms",
          "itemIds": [
            "sa-def-dopamine",
            "sa-def-reward-prediction-error",
            "sa-def-variable-ratio-reinforcement",
            "sa-def-default-mode-network",
            "sa-def-loss-aversion",
            "sa-def-endowment-effect",
            "sa-def-sunk-cost-fallacy",
            "sa-def-zeigarnik-effect",
            "sa-def-flow-state",
            "sa-def-goal-gradient-effect",
            "sa-cmp-wanting-liking",
            "mcq-rw-l11-vocab-p1-neuro",
            "czr-sticky-apps-sa-def-dopamine",
            "czr-sticky-apps-sa-def-sunk-cost-fallacy",
            "tf-df-sticky-apps-sa-def-dopamine",
            "tf-d-sticky-apps-sa-def-variable-ratio-reinforcement",
            "tf-d-sticky-apps-sa-def-sunk-cost-fallacy",
            "tf-d-sticky-apps-sa-def-goal-gradient-effect",
            "concept-rw-sticky-apps-reward-prediction-error",
            "concept-rw-sticky-apps-flow-state",
            "concept-rw-sticky-apps-the-sunk-cost-fallacy",
            "ot-neuro-rpe",
            "ot-neuro-variable-ratio",
            "ot-neuro-dmn",
            "ot-neuro-goal-gradient"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l11-vocab-p1-neuro.md"
        },
        {
          "id": "l11-vocab-p2-frameworks",
          "title": "Framework & gamification terms",
          "order": 2,
          "blurb": "The named frameworks and mechanics builders reach for by name.",
          "studyGuideAnchor": "framework-gamification-terms",
          "itemIds": [
            "sa-def-captology",
            "sa-def-fogg-behavior-model",
            "sa-def-hook-model",
            "sa-def-trigger",
            "sa-def-variable-reward",
            "sa-def-investment-hook",
            "sa-def-pbl",
            "sa-def-octalysis",
            "sa-def-streak-freeze",
            "sa-def-dynamic-difficulty-adjustment",
            "sa-def-doherty-threshold",
            "mcq-rw-l11-vocab-p2-frameworks",
            "czr-sticky-apps-sa-def-fogg-behavior-model",
            "cz-sticky-apps-sa-def-trigger",
            "czr-sticky-apps-sa-def-variable-reward",
            "czr-sticky-apps-sa-def-dynamic-difficulty-adjustment",
            "tf-d-sticky-apps-sa-def-fogg-behavior-model",
            "tf-d-sticky-apps-sa-def-trigger",
            "tf-d-sticky-apps-sa-def-variable-reward",
            "tf-df-sticky-apps-sa-def-dynamic-difficulty-adjustment",
            "ot-fw-trigger",
            "ot-fw-captology",
            "ot-fw-bmap",
            "ot-fw-octalysis"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l11-vocab-p2-frameworks.md"
        },
        {
          "id": "l11-vocab-p3-social-growth",
          "title": "Social & growth terms",
          "order": 3,
          "blurb": "Network effects, virality, and the vocabulary of acquisition.",
          "studyGuideAnchor": "social-growth-terms",
          "itemIds": [
            "sa-def-network-effect",
            "sa-def-metcalfes-law",
            "sa-def-social-graph",
            "sa-def-interest-graph",
            "sa-def-fomo",
            "sa-def-parasocial-bond",
            "sa-def-viral-coefficient",
            "sa-def-viral-loop",
            "sa-def-shareable-artifact",
            "sa-def-referral-program",
            "sa-cmp-social-interest-graph",
            "sa-cmp-viral-loop-content-loop",
            "mcq-rw-l11-vocab-p3-social-growth",
            "czr-sticky-apps-sa-def-referral-program",
            "tf-d-sticky-apps-sa-def-referral-program",
            "ot-social-network-effect",
            "ot-social-interest-graph",
            "ot-social-fomo"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l11-vocab-p3-social-growth.md"
        },
        {
          "id": "l11-vocab-p4-retention",
          "title": "Retention & metrics terms",
          "order": 4,
          "blurb": "The metrics and design patterns that decide whether users come back.",
          "studyGuideAnchor": "retention-metrics-terms",
          "itemIds": [
            "sa-def-aha-moment",
            "sa-def-push-notification",
            "sa-def-cohort-analysis",
            "sa-def-dau-mau-ratio",
            "sa-def-cac",
            "sa-def-ltv",
            "sa-def-churn",
            "sa-def-dark-pattern",
            "sa-def-progressive-disclosure",
            "sa-def-core-loop",
            "mcq-rw-l11-vocab-p4-retention",
            "czr-sticky-apps-sa-def-dau-mau-ratio",
            "cz-sticky-apps-sa-def-churn",
            "tf-d-sticky-apps-sa-def-dau-mau-ratio",
            "tf-d-sticky-apps-sa-def-churn",
            "ot-retention-churn",
            "ot-retention-dau-mau",
            "ot-retention-cac"
          ],
          "studyGuidePath": "/packs/sticky-apps/guides/l11-vocab-p4-retention.md"
        },
        {
          "id": "l11-p-recall",
          "title": "Quick recall (mixed)",
          "order": 5,
          "blurb": "A fast mixed round drawn from across the whole pack.",
          "itemIds": [
            "sa-pair-fogg-captology",
            "sa-mcq-hook-model-stages",
            "sa-pair-oxytocin-bonding",
            "sa-mcq-leaderboard-chemical",
            "sa-pair-hook-reward",
            "sa-pair-reward-self",
            "sa-pair-flow-boredom",
            "sa-mcq-pbl-weakness",
            "sa-pair-variable-interval-match",
            "sa-pair-social-anchoring",
            "sa-pair-parasocial",
            "sa-pair-content-loop-power",
            "sa-mcq-double-sided-referral",
            "sa-mcq-find-aha",
            "sa-mcq-push-rules",
            "sa-pair-personalized-notification",
            "ot-recall-parasocial-oxytocin"
          ]
        }
      ],
      "objectives": [
        {
          "id": "obj-brain-behavior-terms",
          "statement": "Recall the core brain and behavioral-economics terms: dopamine, RPE, variable-ratio, DMN, and the biases (loss aversion, endowment, sunk cost, goal gradient).",
          "demonstrationIds": [
            "d-l11-neuro-mechanisms",
            "d-l11-neuro-biases"
          ]
        },
        {
          "id": "obj-framework-terms",
          "statement": "Recall the framework and gamification terms: captology, B=MAP, the Hook Model and its stages, and Octalysis.",
          "demonstrationIds": [
            "d-l11-fw-persuasion",
            "d-l11-fw-hook-stages"
          ]
        },
        {
          "id": "obj-social-growth-terms",
          "statement": "Recall the social and growth terms: network effect, Metcalfe's Law, social graph, interest graph, FOMO, viral coefficient, and viral loop.",
          "demonstrationIds": [
            "d-l11-social-graphs",
            "d-l11-growth"
          ]
        },
        {
          "id": "obj-retention-metric-terms",
          "statement": "Recall the retention and metrics terms: cohort analysis, DAU/MAU, CAC, LTV, Aha Moment, churn, and push notifications.",
          "demonstrationIds": [
            "d-l11-retention-metrics",
            "d-l11-retention-concepts"
          ]
        },
        {
          "id": "obj-quick-recall-mixed",
          "statement": "Quickly recall mixed pack facts across frameworks, neurochemicals, growth, and retention.",
          "demonstrationIds": [
            "d-l11-recall-frameworks",
            "d-l11-recall-mixed"
          ]
        }
      ],
      "demonstrations": [
        {
          "id": "d-l11-neuro-mechanisms",
          "label": "Dopamine, RPE, variable-ratio, DMN",
          "itemIds": [
            "sa-def-dopamine",
            "sa-def-reward-prediction-error",
            "sa-def-variable-ratio-reinforcement",
            "sa-def-default-mode-network"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-neuro-biases",
          "label": "The behavioral-economics biases",
          "itemIds": [
            "sa-def-loss-aversion",
            "sa-def-endowment-effect",
            "sa-def-sunk-cost-fallacy",
            "sa-def-goal-gradient-effect"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-fw-persuasion",
          "label": "Captology, B=MAP, Hook Model",
          "itemIds": [
            "sa-def-captology",
            "sa-def-fogg-behavior-model",
            "sa-def-hook-model",
            "mcq-rw-l11-vocab-p2-frameworks"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-fw-hook-stages",
          "label": "Hook stages and Octalysis",
          "itemIds": [
            "sa-def-trigger",
            "sa-def-variable-reward",
            "sa-def-investment-hook",
            "sa-def-octalysis"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-social-graphs",
          "label": "Network effect, Metcalfe, graphs",
          "itemIds": [
            "sa-def-network-effect",
            "sa-def-metcalfes-law",
            "sa-def-social-graph",
            "sa-def-interest-graph"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-growth",
          "label": "FOMO, viral coefficient, viral loop",
          "itemIds": [
            "sa-def-fomo",
            "sa-def-viral-coefficient",
            "sa-def-viral-loop",
            "mcq-rw-l11-vocab-p3-social-growth"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-retention-metrics",
          "label": "Cohort, DAU/MAU, CAC, LTV",
          "itemIds": [
            "sa-def-cohort-analysis",
            "sa-def-dau-mau-ratio",
            "sa-def-cac",
            "sa-def-ltv"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-retention-concepts",
          "label": "Aha Moment, churn, push",
          "itemIds": [
            "sa-def-aha-moment",
            "sa-def-churn",
            "sa-def-push-notification",
            "mcq-rw-l11-vocab-p4-retention"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-recall-frameworks",
          "label": "Framework quick recall",
          "itemIds": [
            "sa-pair-fogg-captology",
            "sa-mcq-hook-model-stages",
            "sa-pair-hook-reward",
            "sa-pair-reward-self"
          ],
          "requiredCorrect": 3
        },
        {
          "id": "d-l11-recall-mixed",
          "label": "Mixed growth and retention recall",
          "itemIds": [
            "sa-mcq-leaderboard-chemical",
            "sa-pair-social-anchoring",
            "sa-mcq-double-sided-referral",
            "sa-mcq-find-aha"
          ],
          "requiredCorrect": 3
        }
      ],
      "objectiveTests": [
        {
          "id": "test-brain-behavior",
          "objectiveId": "obj-brain-behavior-terms",
          "title": "Brain & Behavior Terms",
          "mcqIds": [
            "mcq-rw-l11-vocab-p1-neuro",
            "ot-neuro-rpe",
            "ot-neuro-variable-ratio",
            "ot-neuro-dmn",
            "ot-neuro-goal-gradient"
          ]
        },
        {
          "id": "test-framework-terms",
          "objectiveId": "obj-framework-terms",
          "title": "Framework & Gamification Terms",
          "mcqIds": [
            "mcq-rw-l11-vocab-p2-frameworks",
            "ot-fw-trigger",
            "ot-fw-captology",
            "ot-fw-bmap",
            "ot-fw-octalysis"
          ]
        },
        {
          "id": "test-social-growth",
          "objectiveId": "obj-social-growth-terms",
          "title": "Social & Growth Terms",
          "mcqIds": [
            "mcq-rw-l11-vocab-p3-social-growth",
            "ot-social-network-effect",
            "ot-social-interest-graph",
            "ot-social-fomo",
            "ot-social-kfactor"
          ]
        },
        {
          "id": "test-retention-metrics",
          "objectiveId": "obj-retention-metric-terms",
          "title": "Retention & Metrics Terms",
          "mcqIds": [
            "mcq-rw-l11-vocab-p4-retention",
            "sa-mcq-push-rules",
            "ot-retention-churn",
            "ot-retention-dau-mau",
            "ot-retention-cac"
          ]
        },
        {
          "id": "test-quick-recall",
          "objectiveId": "obj-quick-recall-mixed",
          "title": "Quick Recall (Mixed)",
          "mcqIds": [
            "sa-mcq-leaderboard-chemical",
            "sa-mcq-double-sided-referral",
            "sa-mcq-hook-model-stages",
            "sa-mcq-find-aha",
            "ot-recall-parasocial-oxytocin"
          ]
        }
      ]
    }
  ]
}
