{
  "creators": [
    {
      "id": "ryan-sael",
      "name": "Ryan Sael",
      "url": "https://sael.net/",
      "bio": "Creates interactive 3D explanations of science, technology, and everyday systems."
    },
    {
      "id": "konstantin-saifoulline",
      "name": "Konstantin Saifoulline",
      "url": "https://www.airsup.ai/lab/roman",
      "bio": "Creates interactive engineering and space simulations through airsup lab."
    },
    {
      "id": "bartosz-ciechanowski",
      "name": "Bartosz Ciechanowski",
      "url": "https://ciechanow.ski/",
      "bio": "Builds illustrated essays with hands-on models of physics, machinery, and geometry."
    },
    {
      "id": "amit-patel",
      "name": "Amit Patel · Red Blob Games",
      "url": "https://www.redblobgames.com/",
      "bio": "Explains game-development mathematics and algorithms through interactive diagrams."
    },
    {
      "id": "nicky-case",
      "name": "Nicky Case",
      "url": "https://ncase.me/",
      "bio": "Makes playful explanations of mathematics, human behavior, and complex systems."
    },
    {
      "id": "seeing-theory",
      "name": "Seeing Theory",
      "url": "https://seeing-theory.brown.edu/",
      "bio": "Probability and statistics visualizations by Daniel Kunin, Jingru Guo, Tyler Dae Devlin, and Daniel Xiang."
    },
    {
      "id": "gabriel-goh",
      "name": "Gabriel Goh",
      "url": "https://distill.pub/2017/momentum/",
      "bio": "Author of Distill's interactive explanation of momentum and optimization."
    },
    {
      "id": "tsne-authors",
      "name": "Martin Wattenberg, Fernanda Viégas & Ian Johnson",
      "url": "https://distill.pub/2016/misread-tsne/",
      "bio": "The authors behind Distill's interactive guide to interpreting t-SNE."
    },
    {
      "id": "gaussian-process-authors",
      "name": "Jochen Görtler, Rebecca Kehlbeck & Oliver Deussen",
      "url": "https://distill.pub/2019/visual-exploration-gaussian-processes/",
      "bio": "The authors behind Distill's visual guide to Gaussian processes."
    },
    {
      "id": "3blue1brown",
      "name": "Grant Sanderson · 3Blue1Brown",
      "url": "https://www.3blue1brown.com/",
      "bio": "Makes visual mathematics videos that turn abstract ideas into pictures, motion, and intuition."
    },
    {
      "id": "explaina-originals",
      "name": "ExplainerTools Originals",
      "url": "https://explainertools.com/blog/",
      "bio": "Short, silent visual lessons with original code-drawn diagrams, made for exploring a question together."
    },
    {
      "id": "alex-patrascu",
      "name": "Alex Patrascu",
      "url": "https://x.com/maxescu",
      "bio": "Creates AI-assisted visual stories and motion-graphic explainers."
    },
    {
      "id": "tiberiu-musat",
      "name": "Tiberiu Mușat",
      "url": "https://x.com/Tiberiu_Musat_",
      "bio": "Shares visual explanations about language models and interpretability."
    },
    {
      "id": "onur-ozcan",
      "name": "onur ozcan",
      "url": "https://x.com/oozn",
      "bio": "Builds products and animated stories with code."
    },
    {
      "id": "tibo-maker",
      "name": "Tibo Maker",
      "url": "https://x.com/tibo_maker",
      "bio": "Founder and creator sharing startup stories and growth advice."
    },
    {
      "id": "the-bugged-dev",
      "name": "The Bugged Dev",
      "url": "https://x.com/thebuggeddev",
      "bio": "A software developer exploring mechanisms and 3D scenes with code."
    },
    {
      "id": "marco-ludovico-perego",
      "name": "Marco Ludovico Perego",
      "url": "https://x.com/mlperego",
      "bio": "A frontend and creative developer exploring real-time 3D scenes and water simulations."
    },
    {
      "id": "techartist",
      "name": "Techartist",
      "url": "https://github.com/iamtechartist",
      "bio": "Creates interactive 3D experiments in code, form, light and motion."
    }
  ],
  "explainers": [
    {
      "id": "plane-of-focus",
      "title": "The Plane of Focus",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/plane-of-focus/",
      "subject": "Science",
      "topics": [
        "physics",
        "optics",
        "photography"
      ],
      "description": "Turn a lens's focus ring and aperture to see where an image becomes sharp.",
      "format": "interactive",
      "publishedAt": "2026-09-23",
      "sourceUrl": "https://sael.net/plane-of-focus/",
      "previewImageUrl": "/previews/plane-of-focus.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/plane-of-focus/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/plane-of-focus/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "roman-space-telescope",
      "title": "Roman Space Telescope, simulated",
      "creatorId": "konstantin-saifoulline",
      "url": "https://www.airsup.ai/lab/roman",
      "subject": "Science",
      "topics": [
        "astronomy",
        "space",
        "telescopes"
      ],
      "description": "Explore Roman's journey to L2, gravitational lensing, planet detection, and its starlight-blocking coronagraph.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://www.airsup.ai/lab/roman",
      "previewImageUrl": "/previews/roman-space-telescope.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://www.airsup.ai/plm/rocket-engine/og-roman.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://www.airsup.ai/lab/roman",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source headline and controls render, but the central telescope simulation is black/blank."
      }
    },
    {
      "id": "rocket-nozzle",
      "title": "Rocket Nozzle Lab",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/rocket-nozzle/",
      "subject": "Engineering",
      "topics": [
        "aerospace",
        "propulsion",
        "fluid dynamics"
      ],
      "description": "Change a rocket nozzle's throat, throttle, and surroundings to investigate how hot gas creates thrust.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/rocket-nozzle/",
      "previewImageUrl": "/previews/rocket-nozzle.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/rocket-nozzle/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/rocket-nozzle/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "river-bend",
      "title": "River Bend Lab",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/river-bend/",
      "subject": "Science",
      "topics": [
        "earth science",
        "rivers",
        "erosion"
      ],
      "description": "Adjust water flow and sediment, then move through time as a river reshapes its valley.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/river-bend/",
      "previewImageUrl": "/previews/river-bend.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/river-bend/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/river-bend/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "heart-pump",
      "title": "Heart Pump Lab",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/heart-pump/",
      "subject": "Science",
      "topics": [
        "biology",
        "anatomy",
        "circulation"
      ],
      "description": "Step through a heartbeat and change valve behavior to follow blood through two connected circuits.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/heart-pump/",
      "previewImageUrl": "/previews/heart-pump.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/heart-pump/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/heart-pump/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "prism-room",
      "title": "Prism Room",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/prism-room/",
      "subject": "Science",
      "topics": [
        "physics",
        "optics",
        "light"
      ],
      "description": "Rotate a prism and aim its light beam to split, bend, and recombine a spectrum.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/prism-room/",
      "previewImageUrl": "/previews/prism-room.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/prism-room/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/prism-room/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "root-finder",
      "title": "Root Finder",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/root-finder/",
      "subject": "Science",
      "topics": [
        "biology",
        "botany",
        "gravity"
      ],
      "description": "Rotate a growing seed and change gravity to explore why roots and shoots choose different directions.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/root-finder/",
      "previewImageUrl": "/previews/root-finder.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/root-finder/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/root-finder/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "pendulum-rhythm",
      "title": "Pendulum Rhythm Lab",
      "creatorId": "ryan-sael",
      "url": "https://sael.net/pendulum-rhythm/",
      "subject": "Science",
      "topics": [
        "physics",
        "oscillation",
        "mechanics"
      ],
      "description": "Change pendulum lengths, add a push, and discover when their rhythms fall into step.",
      "format": "interactive",
      "publishedAt": "2026-09-27",
      "sourceUrl": "https://sael.net/pendulum-rhythm/",
      "previewImageUrl": "/previews/pendulum-rhythm.webp",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://sael.net/p/pendulum-rhythm/poster.webp",
      "playback": {
        "kind": "iframe",
        "src": "https://sael.net/pendulum-rhythm/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the source reports WebGL unavailable and the main simulation canvas is blank in this headless mobile QA environment; interaction controls remain visible."
      }
    },
    {
      "id": "moon",
      "title": "Moon",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/moon/",
      "subject": "Science",
      "topics": [
        "astronomy",
        "orbits",
        "gravity"
      ],
      "description": "Move celestial bodies and scrub through time to connect lunar phases, orbital motion, tides, and eclipses.",
      "format": "interactive",
      "publishedAt": "2024-12-17",
      "sourceUrl": "https://ciechanow.ski/moon/",
      "previewImageUrl": "/previews/moon.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/moon.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/moon/",
        "mobile": "supported"
      }
    },
    {
      "id": "airfoil",
      "title": "Airfoil",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/airfoil/",
      "subject": "Engineering",
      "topics": [
        "aerospace",
        "flight",
        "fluid dynamics"
      ],
      "description": "Experiment with moving air and wing shapes to build an intuition for lift and flight.",
      "format": "interactive",
      "publishedAt": "2024-02-27",
      "sourceUrl": "https://ciechanow.ski/airfoil/",
      "previewImageUrl": "/previews/airfoil.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/airfoil.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/airfoil/",
        "mobile": "supported"
      }
    },
    {
      "id": "bicycle",
      "title": "Bicycle",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/bicycle/",
      "subject": "Engineering",
      "topics": [
        "mechanics",
        "forces",
        "transport"
      ],
      "description": "Steer a rider and inspect the forces that let a bicycle accelerate, turn, brake, and carry weight.",
      "format": "interactive",
      "publishedAt": "2023-03-28",
      "sourceUrl": "https://ciechanow.ski/bicycle/",
      "previewImageUrl": "/previews/bicycle.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/bicycle.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/bicycle/",
        "mobile": "supported"
      }
    },
    {
      "id": "sound",
      "title": "Sound",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/sound/",
      "subject": "Science",
      "topics": [
        "physics",
        "acoustics",
        "waves"
      ],
      "description": "Play tones and manipulate visual models to see how vibrations travel through air as sound.",
      "format": "interactive",
      "publishedAt": "2022-10-18",
      "sourceUrl": "https://ciechanow.ski/sound/",
      "previewImageUrl": "/previews/sound.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/sound.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/sound/",
        "mobile": "supported"
      }
    },
    {
      "id": "mechanical-watch",
      "title": "Mechanical Watch",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/mechanical-watch/",
      "subject": "Engineering",
      "topics": [
        "mechanics",
        "gears",
        "timekeeping"
      ],
      "description": "Take apart a watch in 3D and follow the springs, gears, and escapement that keep time.",
      "format": "interactive",
      "publishedAt": "2022-05-04",
      "sourceUrl": "https://ciechanow.ski/mechanical-watch/",
      "previewImageUrl": "/previews/mechanical-watch.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/watch.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/mechanical-watch/",
        "mobile": "supported"
      }
    },
    {
      "id": "curves-and-surfaces",
      "title": "Curves and Surfaces",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/curves-and-surfaces/",
      "subject": "Math",
      "topics": [
        "geometry",
        "bézier curves",
        "3d modeling"
      ],
      "description": "Drag control points to discover how a small set of coordinates can describe smooth shapes.",
      "format": "interactive",
      "publishedAt": "2021-11-02",
      "sourceUrl": "https://ciechanow.ski/curves-and-surfaces/",
      "previewImageUrl": "/previews/curves-and-surfaces.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ciechanow.ski/images/og/curves.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/curves-and-surfaces/",
        "mobile": "supported"
      }
    },
    {
      "id": "color-spaces",
      "title": "Color Spaces",
      "creatorId": "bartosz-ciechanowski",
      "url": "https://ciechanow.ski/color-spaces/",
      "subject": "Design",
      "topics": [
        "color",
        "perception",
        "displays"
      ],
      "description": "Explore color matching, gamuts, and the coordinate systems screens use to describe the colors we see.",
      "format": "interactive",
      "publishedAt": "2019-02-15",
      "sourceUrl": "https://ciechanow.ski/color-spaces/",
      "previewImageUrl": null,
      "addedAt": "2026-10-02T15:00:00Z",
      "playback": {
        "kind": "iframe",
        "src": "https://ciechanow.ski/color-spaces/",
        "mobile": "supported"
      }
    },
    {
      "id": "a-star",
      "title": "Introduction to the A* Algorithm",
      "creatorId": "amit-patel",
      "url": "https://www.redblobgames.com/pathfinding/a-star/introduction.html",
      "subject": "Computer Science",
      "topics": [
        "algorithms",
        "pathfinding",
        "graphs"
      ],
      "description": "Move start and end points, edit a map, and compare how search algorithms find a route.",
      "format": "interactive",
      "publishedAt": "2014-05-26",
      "sourceUrl": "https://www.redblobgames.com/pathfinding/a-star/introduction.html",
      "previewImageUrl": "/previews/a-star.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://www.redblobgames.com/thumbnail/astar-intro.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://www.redblobgames.com/pathfinding/a-star/introduction.html",
        "mobile": "supported"
      }
    },
    {
      "id": "hexagonal-grids",
      "title": "Hexagonal Grids",
      "creatorId": "amit-patel",
      "url": "https://www.redblobgames.com/grids/hexagons/",
      "subject": "Math",
      "topics": [
        "geometry",
        "grids",
        "game development"
      ],
      "description": "Manipulate hexagons to understand coordinates, neighbors, distances, rotations, and paths on a hexagonal grid.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://www.redblobgames.com/grids/hexagons/",
      "previewImageUrl": "/previews/hexagonal-grids.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://www.redblobgames.com/thumbnail/hexagons.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://www.redblobgames.com/grids/hexagons/",
        "mobile": "supported"
      }
    },
    {
      "id": "terrain-from-noise",
      "title": "Making Maps with Noise Functions",
      "creatorId": "amit-patel",
      "url": "https://www.redblobgames.com/maps/terrain-from-noise/",
      "subject": "Computer Science",
      "topics": [
        "procedural generation",
        "noise",
        "maps"
      ],
      "description": "Tune noise layers to turn simple functions into terrain, islands, climate zones, and game worlds.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://www.redblobgames.com/maps/terrain-from-noise/",
      "previewImageUrl": "/previews/terrain-from-noise.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://www.redblobgames.com/thumbnail/terrain-from-noise.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://www.redblobgames.com/maps/terrain-from-noise/",
        "mobile": "supported"
      }
    },
    {
      "id": "2d-visibility",
      "title": "2D Visibility",
      "creatorId": "amit-patel",
      "url": "https://www.redblobgames.com/articles/visibility/",
      "subject": "Computer Science",
      "topics": [
        "algorithms",
        "geometry",
        "game development"
      ],
      "description": "Move a viewpoint around obstacles and inspect an algorithm for calculating visible areas and shadows.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://www.redblobgames.com/articles/visibility/",
      "previewImageUrl": null,
      "addedAt": "2026-10-02T15:00:00Z",
      "playback": {
        "kind": "iframe",
        "src": "https://www.redblobgames.com/articles/visibility/",
        "mobile": "supported"
      }
    },
    {
      "id": "evolution-of-trust",
      "title": "The Evolution of Trust",
      "creatorId": "nicky-case",
      "url": "https://ncase.me/trust/",
      "subject": "Society",
      "topics": [
        "game theory",
        "cooperation",
        "economics"
      ],
      "description": "Play repeated cooperation games and discover how incentives, mistakes, and memory shape trust.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://ncase.me/trust/",
      "previewImageUrl": "/previews/evolution-of-trust.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ncase.me/trust/social/thumbnail.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ncase.me/trust/",
        "mobile": "supported"
      }
    },
    {
      "id": "wisdom-of-crowds",
      "title": "The Wisdom and/or Madness of Crowds",
      "creatorId": "nicky-case",
      "url": "https://ncase.me/crowds/",
      "subject": "Society",
      "topics": [
        "networks",
        "social behavior",
        "complex systems"
      ],
      "description": "Draw connections between people to explore how ideas and behaviors spread through human networks.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://ncase.me/crowds/",
      "previewImageUrl": "/previews/wisdom-of-crowds.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ncase.me/crowds/social/thumb.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ncase.me/crowds/",
        "mobile": "desktop-only",
        "reason": "At 390px viewport the source document overflows to 645px wide and its simulation is clipped."
      }
    },
    {
      "id": "better-ballot",
      "title": "To Build a Better Ballot",
      "creatorId": "nicky-case",
      "url": "https://ncase.me/ballot/",
      "subject": "Society",
      "topics": [
        "voting",
        "game theory",
        "democracy"
      ],
      "description": "Move voters and candidates to compare how voting rules can produce different election outcomes.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://ncase.me/ballot/",
      "previewImageUrl": "/previews/better-ballot.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ncase.me/ballot/social/thumbnail.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ncase.me/ballot/",
        "mobile": "desktop-only",
        "reason": "At 390x844 the heading and content overflow horizontally and the page loads 14 nested frames; full interactive layout is not usable at phone width."
      }
    },
    {
      "id": "2d-matrix",
      "title": "The Magnificent 2D Matrix",
      "creatorId": "nicky-case",
      "url": "https://ncase.me/matrix/",
      "subject": "Math",
      "topics": [
        "linear algebra",
        "matrices",
        "transformations"
      ],
      "description": "Change matrix entries and watch vectors transform, connecting arithmetic with movement on a plane.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://ncase.me/matrix/",
      "previewImageUrl": "/previews/2d-matrix.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://ncase.me/matrix/img/thumbnail.png",
      "playback": {
        "kind": "iframe",
        "src": "https://ncase.me/matrix/",
        "mobile": "supported"
      }
    },
    {
      "id": "basic-probability",
      "title": "Basic Probability",
      "creatorId": "seeing-theory",
      "url": "https://seeing-theory.brown.edu/basic-probability/index.html",
      "subject": "Math",
      "topics": [
        "probability",
        "statistics",
        "randomness"
      ],
      "description": "Experiment with coins, dice, and cards to build intuition for chance, expectation, and variance.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://seeing-theory.brown.edu/basic-probability/index.html",
      "previewImageUrl": "/previews/basic-probability.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://seeing-theory.brown.edu/img/share/1.png",
      "playback": {
        "kind": "iframe",
        "src": "https://seeing-theory.brown.edu/basic-probability/index.html",
        "mobile": "supported"
      }
    },
    {
      "id": "probability-distributions",
      "title": "Probability Distributions",
      "creatorId": "seeing-theory",
      "url": "https://seeing-theory.brown.edu/probability-distributions/index.html",
      "subject": "Math",
      "topics": [
        "probability",
        "distributions",
        "central limit theorem"
      ],
      "description": "Define random variables, reshape distributions, and sample averages to explore the central limit theorem.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://seeing-theory.brown.edu/probability-distributions/index.html",
      "previewImageUrl": "/previews/probability-distributions.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://seeing-theory.brown.edu/img/share/3.png",
      "playback": {
        "kind": "iframe",
        "src": "https://seeing-theory.brown.edu/probability-distributions/index.html",
        "mobile": "supported"
      }
    },
    {
      "id": "bayesian-inference",
      "title": "Bayesian Inference",
      "creatorId": "seeing-theory",
      "url": "https://seeing-theory.brown.edu/bayesian-inference/index.html",
      "subject": "Math",
      "topics": [
        "statistics",
        "bayesian inference",
        "probability"
      ],
      "description": "Change probabilities and observations to see how evidence updates prior beliefs into posterior estimates.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://seeing-theory.brown.edu/bayesian-inference/index.html",
      "previewImageUrl": "/previews/bayesian-inference.png",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://seeing-theory.brown.edu/img/share/5.png",
      "playback": {
        "kind": "iframe",
        "src": "https://seeing-theory.brown.edu/bayesian-inference/index.html",
        "mobile": "supported"
      }
    },
    {
      "id": "momentum",
      "title": "Why Momentum Really Works",
      "creatorId": "gabriel-goh",
      "url": "https://distill.pub/2017/momentum/",
      "subject": "Computer Science",
      "topics": [
        "machine learning",
        "optimization",
        "gradient descent"
      ],
      "description": "Explore how momentum changes optimization trajectories and why it can accelerate gradient descent.",
      "format": "interactive",
      "publishedAt": "2017-04-04",
      "sourceUrl": "https://distill.pub/2017/momentum/",
      "previewImageUrl": "/previews/momentum.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://distill.pub/2017/momentum/thumbnail.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://distill.pub/2017/momentum/",
        "mobile": "desktop-only",
        "reason": "The mobile source page scrolls horizontally to 1098px, clipping the interactive optimization visualization."
      }
    },
    {
      "id": "tsne",
      "title": "How to Use t-SNE Effectively",
      "creatorId": "tsne-authors",
      "url": "https://distill.pub/2016/misread-tsne/",
      "subject": "Computer Science",
      "topics": [
        "machine learning",
        "data visualization",
        "dimensionality reduction"
      ],
      "description": "Change datasets and parameters to discover what t-SNE plots reveal and where they can mislead.",
      "format": "interactive",
      "publishedAt": "2016-10-13",
      "sourceUrl": "https://distill.pub/2016/misread-tsne/",
      "previewImageUrl": "/previews/tsne.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://distill.pub/2016/misread-tsne/thumbnail.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://distill.pub/2016/misread-tsne/",
        "mobile": "supported"
      }
    },
    {
      "id": "gaussian-processes",
      "title": "A Visual Exploration of Gaussian Processes",
      "creatorId": "gaussian-process-authors",
      "url": "https://distill.pub/2019/visual-exploration-gaussian-processes/",
      "subject": "Math",
      "topics": [
        "statistics",
        "gaussian processes",
        "machine learning"
      ],
      "description": "Adjust distributions, kernels, and observations to see how Gaussian processes make predictions with uncertainty.",
      "format": "interactive",
      "publishedAt": "2019-04-02",
      "sourceUrl": "https://distill.pub/2019/visual-exploration-gaussian-processes/",
      "previewImageUrl": "/previews/gaussian-processes.jpg",
      "addedAt": "2026-10-02T15:00:00Z",
      "sourcePreviewImageUrl": "https://distill.pub/2019/visual-exploration-gaussian-processes/thumbnail.jpg",
      "playback": {
        "kind": "iframe",
        "src": "https://distill.pub/2019/visual-exploration-gaussian-processes/",
        "mobile": "supported"
      }
    },
    {
      "id": "neural-network-video",
      "title": "But what is a neural network? | Deep learning chapter 1",
      "creatorId": "3blue1brown",
      "url": "https://www.youtube.com/watch?v=aircAruvnKk",
      "subject": "Computer Science",
      "topics": [
        "neural networks",
        "machine learning"
      ],
      "description": "Follow a visual introduction to neurons, layers, and weights through the problem of recognizing handwritten digits.",
      "format": "video",
      "publishedAt": null,
      "sourceUrl": "https://www.3blue1brown.com/lessons/neural-networks/",
      "previewImageUrl": "/previews/neural-network-video.jpg",
      "sourcePreviewImageUrl": "https://i.ytimg.com/vi/aircAruvnKk/hqdefault.jpg",
      "addedAt": "2026-10-02T15:55:09Z",
      "playback": {
        "kind": "youtube",
        "src": "https://www.youtube.com/watch?v=aircAruvnKk",
        "mobile": "supported"
      }
    },
    {
      "id": "essence-of-calculus-video",
      "title": "The essence of calculus",
      "creatorId": "3blue1brown",
      "url": "https://www.youtube.com/watch?v=WUvTyaaNkzM",
      "subject": "Math",
      "topics": [
        "calculus",
        "geometry"
      ],
      "description": "Watch area, small changes, and accumulation reveal the central idea behind calculus.",
      "format": "video",
      "publishedAt": null,
      "sourceUrl": "https://www.3blue1brown.com/lessons/essence-of-calculus/",
      "previewImageUrl": "/previews/essence-of-calculus-video.jpg",
      "sourcePreviewImageUrl": "https://i.ytimg.com/vi/WUvTyaaNkzM/hqdefault.jpg",
      "addedAt": "2026-10-02T15:55:09Z",
      "playback": {
        "kind": "youtube",
        "src": "https://www.youtube.com/watch?v=WUvTyaaNkzM",
        "mobile": "supported"
      }
    },
    {
      "id": "linear-transformations-video",
      "title": "Linear transformations and matrices | Chapter 3, Essence of linear algebra",
      "creatorId": "3blue1brown",
      "url": "https://www.youtube.com/watch?v=kYB8IZa5AuE",
      "subject": "Math",
      "topics": [
        "linear algebra",
        "matrices",
        "transformations"
      ],
      "description": "See matrices move a grid, and understand linear transformations as changes to space.",
      "format": "video",
      "publishedAt": null,
      "sourceUrl": "https://www.3blue1brown.com/lessons/linear-transformations/",
      "previewImageUrl": "/previews/linear-transformations-video.jpg",
      "sourcePreviewImageUrl": "https://i.ytimg.com/vi/kYB8IZa5AuE/hqdefault.jpg",
      "addedAt": "2026-10-02T15:55:09Z",
      "playback": {
        "kind": "youtube",
        "src": "https://www.youtube.com/watch?v=kYB8IZa5AuE",
        "mobile": "supported"
      }
    },
    {
      "id": "moon-phases-video",
      "title": "Why does the Moon change shape?",
      "creatorId": "explaina-originals",
      "url": "https://explainertools.com/media/moon-phases-portrait.mp4",
      "subject": "Science",
      "topics": [
        "astronomy",
        "moon phases",
        "space"
      ],
      "description": "Watch sunlight and our viewing angle explain the changing shape of the Moon in this short, captioned visual lesson.",
      "format": "video",
      "publishedAt": "2026-10-02",
      "sourceUrl": "https://explainertools.com/media/moon-phases-portrait.mp4",
      "previewImageUrl": "/media/moon-phases-poster.png",
      "addedAt": "2026-10-02T15:55:09Z",
      "durationSeconds": 18,
      "playback": {
        "kind": "video",
        "src": "/media/moon-phases-portrait.mp4",
        "mobile": "supported"
      }
    },
    {
      "id": "camera-focus-video",
      "title": "What makes a photo sharp?",
      "creatorId": "explaina-originals",
      "url": "https://explainertools.com/media/camera-focus-portrait.mp4",
      "subject": "Science",
      "topics": [
        "optics",
        "photography",
        "light"
      ],
      "description": "Follow light through a simplified lens to see why a camera changes focus.",
      "format": "video",
      "publishedAt": "2026-10-02",
      "sourceUrl": "https://explainertools.com/media/camera-focus-portrait.mp4",
      "previewImageUrl": "/media/camera-focus-poster.png",
      "addedAt": "2026-10-02T15:55:09Z",
      "durationSeconds": 18,
      "playback": {
        "kind": "video",
        "src": "/media/camera-focus-portrait.mp4",
        "mobile": "supported"
      }
    },
    {
      "id": "pendulum-video",
      "title": "Which pendulum swings slower?",
      "creatorId": "explaina-originals",
      "url": "https://explainertools.com/media/pendulum-portrait.mp4",
      "subject": "Science",
      "topics": [
        "physics",
        "oscillation",
        "timekeeping"
      ],
      "description": "Compare two pendulums and watch how length changes their rhythm in a small-angle model.",
      "format": "video",
      "publishedAt": "2026-10-02",
      "sourceUrl": "https://explainertools.com/media/pendulum-portrait.mp4",
      "previewImageUrl": "/media/pendulum-poster.png",
      "addedAt": "2026-10-02T15:55:09Z",
      "durationSeconds": 18,
      "playback": {
        "kind": "video",
        "src": "/media/pendulum-portrait.mp4",
        "mobile": "supported"
      }
    },
    {
      "id": "history-of-printing-press",
      "title": "The history of the printing press",
      "creatorId": "alex-patrascu",
      "url": "https://x.com/maxescu/status/2104898184442962277",
      "subject": "Society",
      "topics": [
        "history",
        "printing",
        "communication",
        "technology"
      ],
      "description": "Watch a collage-style animated history of the printing press and the spread of printed information.",
      "format": "video",
      "publishedAt": "2026-09-29",
      "previewImageUrl": "/previews/history-of-printing-press.jpg",
      "sourceUrl": "https://x.com/maxescu/status/2104898184442962277",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2104893030499020800/img/dKxwl4mWuWQC3TBz.jpg",
      "addedAt": "2026-10-02T15:57:51Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/maxescu/status/2104898184442962277",
        "mobile": "supported",
        "reason": "Official X embeds render within the 390px phone viewport. X owns the cross-origin video player, so its Play Video control remains required; browser autoplay is not available for this source."
      }
    },
    {
      "id": "induction-heads-llms",
      "title": "Induction heads in language models",
      "creatorId": "tiberiu-musat",
      "url": "https://x.com/Tiberiu_Musat_/status/2103793145297211392",
      "subject": "Computer Science",
      "topics": [
        "machine learning",
        "language models",
        "attention",
        "interpretability"
      ],
      "description": "Follow an animated token-by-token explanation of how induction heads can copy patterns in language models.",
      "format": "video",
      "publishedAt": "2026-09-26",
      "previewImageUrl": "/previews/induction-heads-llms.jpg",
      "sourceUrl": "https://x.com/Tiberiu_Musat_/status/2103793145297211392",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2103791531203207168/img/fKW1aVBQw_CMgVVk.jpg",
      "addedAt": "2026-10-02T15:57:51Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/Tiberiu_Musat_/status/2103793145297211392",
        "mobile": "supported",
        "reason": "Official X embeds render within the 390px phone viewport. X owns the cross-origin video player, so its Play Video control remains required; browser autoplay is not available for this source."
      }
    },
    {
      "id": "steve-jobs-animated-story",
      "title": "Steve Jobs: an animated life",
      "creatorId": "onur-ozcan",
      "url": "https://x.com/oozn/status/2103482545111232946",
      "subject": "Society",
      "topics": [
        "history",
        "biography",
        "technology",
        "design"
      ],
      "description": "Watch an illustrated timeline of Steve Jobs’s life and work, told through animated characters and typography.",
      "format": "video",
      "publishedAt": null,
      "previewImageUrl": "/previews/steve-jobs-animated-story.jpg",
      "sourceUrl": "https://x.com/oozn/status/2103482545111232946",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2103480985669021696/img/zkb2Z6PCjYhsCpur.jpg",
      "addedAt": "2026-10-02T15:57:51Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/oozn/status/2103482545111232946",
        "mobile": "supported",
        "reason": "Official X embeds render within the 390px phone viewport. X owns the cross-origin video player, so its Play Video control remains required; browser autoplay is not available for this source."
      }
    },
    {
      "id": "tibo-maker-video-2105980242321924284",
      "title": "How Shazam Works",
      "creatorId": "tibo-maker",
      "url": "https://x.com/tibo_maker/status/2105980242321924284/video/1",
      "subject": "Computer Science",
      "topics": [
        "audio recognition",
        "algorithms",
        "music"
      ],
      "description": "See how Shazam recognizes a song from a short recording through an animated explanation of audio fingerprints.",
      "format": "video",
      "publishedAt": "2026-10-02",
      "sourceUrl": "https://x.com/tibo_maker/status/2105980242321924284/video/1",
      "addedAt": "2026-10-02T21:28:16Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/tibo_maker/status/2105980242321924284",
        "mobile": "supported",
        "reason": "Verified first-party X embed by Tibo Maker; the video plays inside the official mobile embed after tapping Play Video. X does not autoplay this cross-origin video."
      },
      "previewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105979696227741696/img/iEsL-GLPlQArUfPs.jpg",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105979696227741696/img/iEsL-GLPlQArUfPs.jpg"
    },
    {
      "id": "watermill",
      "title": "How a watermill works",
      "creatorId": "the-bugged-dev",
      "url": "https://x.com/thebuggeddev/status/2105322973527990522",
      "subject": "Engineering",
      "topics": [
        "mechanisms",
        "water power",
        "gears"
      ],
      "description": "Watch water turn a wheel, gears transfer the motion, and millstones grind grain in this animated mechanism.",
      "format": "video",
      "publishedAt": "2026-09-30",
      "sourceUrl": "https://x.com/thebuggeddev/status/2105322973527990522",
      "addedAt": "2026-10-02T22:40:18Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/thebuggeddev/status/2105322973527990522",
        "mobile": "supported",
        "reason": "Official X embed verified at 390x844 with advancing video playback after tapping Play Video. X controls playback and does not autoplay."
      },
      "previewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105321375531679744/img/7XO-gsduGRB63T3x.jpg",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105321375531679744/img/7XO-gsduGRB63T3x.jpg"
    },
    {
      "id": "ocean-waves",
      "title": "Ocean waves in 3D",
      "creatorId": "marco-ludovico-perego",
      "url": "https://x.com/mlperego/status/2105448230616023446",
      "subject": "Science",
      "topics": [
        "waves",
        "water",
        "3D modeling"
      ],
      "description": "Watch a real-time 3D water simulation explore rolling waves and the movement of the ocean surface.",
      "format": "video",
      "publishedAt": "2026-09-30",
      "sourceUrl": "https://x.com/mlperego/status/2105448230616023446",
      "addedAt": "2026-10-02T22:40:18Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/mlperego/status/2105448230616023446",
        "mobile": "supported",
        "reason": "Official X embed verified at 390x844 with advancing video playback after tapping Play Video. X controls playback and does not autoplay."
      },
      "previewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105447200402653186/img/FK4EXlMDjxkrVNaN.jpg",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2105447200402653186/img/FK4EXlMDjxkrVNaN.jpg"
    },
    {
      "id": "jet-engine",
      "title": "How a jet engine works",
      "creatorId": "techartist",
      "url": "https://x.com/techartist_/status/2106064200535859685",
      "subject": "Engineering",
      "topics": [
        "aerospace",
        "propulsion",
        "mechanisms"
      ],
      "description": "Follow a 3D jet engine from intake to exhaust in a visual walkthrough of its internal components.",
      "format": "video",
      "publishedAt": "2026-10-02",
      "sourceUrl": "https://x.com/techartist_/status/2106064200535859685",
      "addedAt": "2026-10-02T22:40:18Z",
      "playback": {
        "kind": "x",
        "src": "https://x.com/techartist_/status/2106064200535859685",
        "mobile": "supported",
        "reason": "Official X embed verified at 390x844 with advancing video playback after tapping Play Video. X controls playback and does not autoplay."
      },
      "previewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2106062964206026755/img/v1YJJYplKWAb44Ui.jpg",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2106062964206026755/img/v1YJJYplKWAb44Ui.jpg"
    },
    {
      "id": "raptor-3",
      "title": "Inside the Raptor 3 rocket engine",
      "creatorId": "konstantin-saifoulline",
      "url": "https://www.airsup.ai/lab/rocket-engine",
      "subject": "Engineering",
      "topics": [
        "aerospace",
        "rocket engines",
        "propulsion"
      ],
      "description": "Take apart a 3D rocket engine, follow oxygen and methane through the turbopumps, and adjust its throttle.",
      "format": "interactive",
      "publishedAt": null,
      "sourceUrl": "https://x.com/konstantinsaifo/status/2104094723887501736",
      "addedAt": "2026-10-02T22:40:18Z",
      "playback": {
        "kind": "iframe",
        "src": "https://www.airsup.ai/lab/rocket-engine",
        "mobile": "desktop-only",
        "reason": "The source layout loads on a phone viewport, but the 3D view could not be verified in the mobile renderer. Use a larger screen for the interactive model."
      },
      "previewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2104094523999563776/img/8GpsNkqJCzLpDPuq.jpg",
      "sourcePreviewImageUrl": "https://pbs.twimg.com/amplify_video_thumb/2104094523999563776/img/8GpsNkqJCzLpDPuq.jpg"
    }
  ],
  "notes": [
    "Research checked on 2026-10-02. This is a curated starter catalog of 29 explainers, not an exhaustive inventory of the web or of each creator's work.",
    "Canonical destination URLs were checked against primary creator pages. Sael pages were retrieved by the web tool; other content pages were fetched successfully by public HTTP. A successful content fetch and visible interaction instructions are evidence of an interactive work, not a complete browser runtime QA pass.",
    "The user-supplied X video returned HTTP 403 to this research agent. The parent agent verified the signed-in X post by Konstantin Saifoulline @konstantinsaifo on October 2, 2026, and its author reply linking https://airsup.ai/lab/roman. The destination redirects to https://www.airsup.ai/lab/roman, returns HTTP 200, and its Twitter creator metadata independently identifies @konstantinsaifo. The social post date is not treated as the project's publication date.",
    "Preview URLs are the primary page's og:image metadata, resolved to HTTPS and independently checked for HTTP 200 and an image Content-Type. Twenty previews were verified. A null preview means no verified OG preview was collected, not that the project lacks visuals.",
    "No source views, likes, bookmarks, audience counts, or popularity ranks are imported. They would be incomparable across sites and should not seed the new product's first-party rankings.",
    "publishedAt is an exact date from visible primary-source article text or citation_publication_date metadata. Partial month/year dates and unknown dates remain null. Use a separate addedAt field for a Newest-added directory sort so older originals are not presented as freshly published.",
    "Sael explicitly describes the works as simplified models. Preserve source attribution and link to the original explanation; listing a work does not independently validate every scientific claim.",
    "Seeing Theory currently labels its site archived for reference. These individual interactive chapters still returned HTTP 200 and include interaction instructions.",
    "The Seeing Theory creator record credits the named project team. Distill is a publisher: the three included articles are attributed to their actual authors or author teams instead of a generic Distill creator.",
    "To Build a Better Ballot explicitly notes that its political examples date to 2016. It is included for the interactive comparison of voting methods, not as current election analysis.",
    "Suggested hierarchy: subject -> topics -> explainer. Subject assignments and short descriptions are original editorial choices. A future data model can support multiple subject memberships without duplicating works.",
    "The research methodology file requested at $CLAUDE_PROJECT_DIR/.Codex/skills/research/SKILL.md was unavailable, and CLAUDE_PROJECT_DIR was unset. Research used direct primary-source inspection and metadata verification. No provider accounts were modified.",
    "October 2 additions: Watermill, Waves and Jet Engine are listed as video recordings because no live interactive destination was verified in the linked posts/replies. Raptor 3 uses the author-linked Airsup lab page; the X recording is kept as source credit. Shazam was already present and was not duplicated."
  ]
}
