Shotstash

Trailer

Shotstash in 30 seconds. Upload, organize, play and share your footage on hardware you own.

Prefer to see it rendered live? Open the playable version (at /shotstash/trailer/live/ on this site): the same film, drawn frame by frame in your browser, with play, pause, scrub and an optional soundtrack.

What the trailer says

The on-screen text, in order (kept in sync with promo/src/timeline.js by a test):

  • Your footage shouldn't live everywhere.
    • New Project
  • Resumable. Checksum-verified.
  • Your projects, organized.
  • A viewer made for video.
  • Share with clients in seconds.
  • Upload
  • Organize
  • Share
  • Your hardware
  • Your footage.
  • Your cloud.
  • PC · NAS · S3 · Docker
  • Free and open source. Self-host in minutes.
  • github.com/Aldyernesto/shotstash

How it was made

The trailer is built in code, not edited from screen recordings. One deterministic function of time draws every frame with the HTML canvas, and three.js composites the layers on the GPU (motion blur and glow). The UI you see is the real app: the screenshots from this documentation, made from synthetic demo data. The source lives in promo/ in the repository, with the frame-exact renderer (render.mjs, headless Chrome and ffmpeg) and notes on changing the copy and the timing.

Music and sound credits

The video file uses licensed music and sound effects; the playable page uses an original procedural soundtrack instead.

Licence. The code in promo/ is MIT licensed, but the rendered MP4 contains this third-party audio under the Pixabay Content License and the Mixkit Sound Effects Free License. That audio is not covered by MIT and may not be extracted from the video or redistributed on its own; share the video as it is. See promo/out/NOTICE.md.

The full list, with sources and licences, is in promo/assets/audio/CREDITS.md.

On this page