# dkaoster/scrolly-video

Components for scroll-based (or other externally controlled) playback.

Repository: https://github.com/dkaoster/scrolly-video
Canonical: https://ross.abutalabs.com/products/scrolly-video
Homepage: https://scrollyvideo.js.org/
Language: JavaScript
License: MIT
License Family: permissive
Topics: component, javascript, react, svelte, video, vue
Last push: 2026-02-07T06:25:24+00:00

## Health v2 (maintenance only)
Score: 52/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 66, release rhythm 8, longevity 100
- inputs: {"age_days": 1687, "days_push": 207, "days_rel": 544, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1088, forks 48 (observed 2026-08-28T04:03:32.579634+00:00)

## What it is
ScrollyVideo.js is a JavaScript component for scroll-based (or other externally controlled) video playback, distributed as a plain JS library plus React, Svelte, Vue, and Astro components. It syncs video frames to scroll position for scrollytelling-style web experiences.

## Use cases
- play a video as the user scrolls down a page
- build scrollytelling narratives with synced video
- control video playback from an external input like scroll or slider
- add scroll-linked hero videos to a React site
- embed scroll-controlled video in Vue or Svelte apps

## When to choose
- you need video playback tied to scroll position or external control
- you want framework components for React, Svelte, Vue, or Astro
- you are building scrollytelling or interactive storytelling pages

## When to avoid
- you need standard autoplay or click-to-play video
- you need full video editing or transcoding capabilities
- your project does not use JavaScript in the browser

## Facets
- artifact type: library
- maturity: active
- function: ui-components, video-processing, animation
- domain: web-development, frontend, media
- platform: browser
- tags: scrollytelling, scroll-based-video, react-component, svelte-component, vue-component, astro-component, web-server, nodejs

## Member repositories
- dkaoster/scrolly-video (main) score 52

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:32.579634+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:49:21.609394+00:00, confidence not recorded.
  - readme: https://github.com/dkaoster/scrolly-video (fetched 2026-08-28T04:03:32.579634+00:00, sha 10aa7b79cbfc)
  - homepage: https://scrollyvideo.js.org/ (fetched 2026-08-29T12:51:47.519221+00:00, sha b2b2a20d14b2)
  - registry_npm: https://registry.npmjs.org/scrolly-video (fetched 2026-08-29T12:51:47.528229+00:00, sha 6b7894e142a6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
