Projects

January 2026

Video Grabber - Chromium MV3 Browser Extension

TypeScript, React, ffmpeg.wasm, OPFS, Chrome Extension APIs

I re-architected Video Grabber from a server/VPS model into a strict client-side Chromium MV3 extension using a background worker, offscreen WASM based yt-dlp and ffmpeg runtime, OPFS checkpoints, and resumable jobs.

Visit source
Video Grabber - Chromium MV3 Browser Extension cover image

Overview

Video Grabber is a browser-extension runtime rebuilt around Manifest V3 constraints.

Re-Architecture

The original approach depended on a server or VPS. I moved the system into a strict client-side model using:

  • a background worker
  • an offscreen yt-dlp and ffmpeg WASM runtime
  • OPFS checkpoints
  • resumable jobs

Reliability Work

The project also includes a deterministic error taxonomy, a recovery matrix, and policy-aware distribution thinking for open-source unpacked installs. That work matters as much as the happy path because browser-extension tooling gets messy fast if failure handling is vague.

Why It Matters

This is the kind of systems work I enjoy: constrained platform, weird runtime rules, and a need to turn those constraints into something predictable.

Projects

January 2026

Video Grabber - Chromium MV3 Browser Extension

TypeScript, React, ffmpeg.wasm, OPFS, Chrome Extension APIs

I re-architected Video Grabber from a server/VPS model into a strict client-side Chromium MV3 extension using a background worker, offscreen WASM based yt-dlp and ffmpeg runtime, OPFS checkpoints, and resumable jobs.

Visit source
Video Grabber - Chromium MV3 Browser Extension cover image

Overview

Video Grabber is a browser-extension runtime rebuilt around Manifest V3 constraints.

Re-Architecture

The original approach depended on a server or VPS. I moved the system into a strict client-side model using:

  • a background worker
  • an offscreen yt-dlp and ffmpeg WASM runtime
  • OPFS checkpoints
  • resumable jobs

Reliability Work

The project also includes a deterministic error taxonomy, a recovery matrix, and policy-aware distribution thinking for open-source unpacked installs. That work matters as much as the happy path because browser-extension tooling gets messy fast if failure handling is vague.

Why It Matters

This is the kind of systems work I enjoy: constrained platform, weird runtime rules, and a need to turn those constraints into something predictable.