Frame ShiftSelf-hosted Loom alternative

Keep async video sharing simple

An alternative to Loom that you can self-host and control.

Recordings, links, and playback in one place—no recurring SaaS bill. Save at least $20/month and own your setup.

Cost

-$20

Minimum monthly savings versus a Loom subscription.

Ownership

100%

Host it yourself and keep your recordings under your control.

How to self-host on Vercel + Supabase

Deploy this app with your own Supabase project and Vercel Blob. You need a Supabase account, a Vercel account, and (optional) Upstash Redis for view rate limiting.

Vercel

  1. Push the repo to GitHub and import it in Vercel.
  2. In the project, go to Storage → create a Blob store and copy the token.
  3. In Settings → Environment Variables, add all variables from.env.example(see Supabase step for URL/keys).
  4. Set APP_ORIGIN_ALLOWLIST to your production URL and any preview patterns, e.g. https://your-app.vercel.app,*.vercel.app.
  5. Redeploy after env changes.

Supabase

  1. Create a project at supabase.com. In Settings → API copy Project URL and anon public key into NEXT_PUBLIC_SUPABASE_*.
  2. Auth → Providers: enable Google and add your OAuth client ID and secret.
  3. Auth → URL config: set Site URL to your Vercel app URL; add redirect URL https://your-app.vercel.app/auth/callback.
  4. Run migrations from the repo: npx supabase db push
  5. Generate a long random string for VIEW_TOKEN_SECRET and add it in Vercel env.

For full setup details and optional Upstash Redis (rate limiting), see the README in the repo.