finds.dev← search

// the find

mattpocock/course-video-manager

★ 490 · TypeScript · updated Jun 2026

Matt Pocock's personal course production tooling — a local React app for managing video recording, editing metadata, generating thumbnails, and publishing to social platforms. It's designed around one specific creator's workflow and is not a general-purpose tool. The 490 stars reflect curiosity about how a prolific TypeScript educator runs his operation, not broad applicability.

The .sandcastle directory is the most interesting part: it's a full AI-agent CI system where GitHub Actions runs Claude to implement PRs from issues, write reviews, and auto-promote queued work — with retry logic and extraction scaffolding. The upload manager uses SSE throughout for real-time progress on exports, Dropbox sync, and publishing, which is the right call for long-running operations in a browser app. The optimistic applier pattern in course-view has dedicated test files for composition, reorders, deletes, and segment ops — more disciplined than most local tooling. The feature module structure (article-writer, video-editor, course-agent, thumbnail-editor) is clean and would survive a second developer.

The Dropbox → Zapier → Buffer social pipeline is genuinely fragile: it shells out to the Dropbox CLI to poll sync status, depends on Zapier catching a webhook, and requires a Buffer account wired up correctly — three external services that can all fail independently with no real error surface. The AI_HERO_BASE_URL dependency points to an undocumented internal service (aihero.dev), making significant chunks of the upload manager dead weight for anyone who forks this. Setup documentation is thin — the README covers Zapier config but not how to bootstrap the database, what runtime this expects, or how to wire up the .sandcastle agent workflows. This is personal infrastructure that was open-sourced as-is, not designed for adoption, and the friction shows immediately.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →