Vumbnail

It actually started out as a Stack Overflow question.

Someone asked how to pull a thumbnail straight from a Vimeo video — “there was a bunch of answers; none of them were really great, none of them were simple.” So I figured out a clean way to do it, bought vumbnail.com, and put up a demo plus the code so people could test it and copy it themselves. Today it turns any YouTube or Vimeo URL into a fast, embeddable thumbnail — billed as “Simple Video Thumbnails for Frontend Developers.”

Highlights

  • Started as a Stack Overflow answer — “I made a repo where you can try this out… so people could copy the code.”
  • Runs at real scale — over the last 30 days it served roughly 16 million unique visitors and 120 million requests a month.
  • Moved to Cloudflare to scale — “I finally started migrating it fully over to Cloudflare so it could scale.”
  • One-line integration — paste a video URL, get a ready-to-embed thumbnail URL back, cached on the CDN.

How It’s Built

  • App & parsing — an Astro frontend with video-URL parsing (js-video-url-parser, ytdl-core) and typed validation via Zod.
  • Image pipeline — a custom Rust image library (Photon) compiled to WebAssembly handles the thumbnail transforms.
  • Infrastructure — migrated from Vercel to Cloudflare Workers with R2 storage so it can scale; long CDN cache lifetimes on resolved thumbnails.
  • Ops & tooling — Vitest, ESLint, TypeScript, and pnpm, with a one-click deploy flow documented in the README.

Screenshots

Vumbnail desktop tool resolving a video thumbnail
Paste a video URL and Vumbnail returns an embeddable, CDN-cached thumbnail.
Vumbnail mobile page
Mobile view of the public Vumbnail tool.