NOTE 02

VidcastX is building the video pipeline

Why VidcastX is an in-development platform experiment spanning uploads, storage, queues, processing, and delivery.


A video platform can look deceptively simple from the outside: upload a file, wait a little, press play. The machinery underneath is less polite. Files have to move reliably, jobs have to survive failure, video has to be processed into something browsers can deliver, and every step needs a clear owner.

VidcastX is our attempt to explore that machinery as one connected system. It is in development, and platform experiment is the honest label—not a euphemism for a finished product.

One product, several systems

The current repository is organized as a pnpm and Turbo monorepo around several cooperating parts:

  • a TanStack Start application for the product interface;
  • an Elysia API running on Bun;
  • PostgreSQL with Drizzle for relational data;
  • Redis and BullMQ for background work;
  • S3-compatible storage for video files; and
  • an FFmpeg worker designed around video processing and HLS output.

The intended path crosses all of them: accept an upload, store it, queue work, process the source, report progress, and make the result available for playback. A polished upload screen is useful, but it is not proof that the path works end to end.

Why call it a platform experiment?

Because the difficult questions live at the boundaries. What happens when an upload resumes? Who owns the state when processing fails? How does a worker report progress without sharing a user session? Which data belongs in Postgres, Redis, or object storage?

VidcastX gives those questions a concrete place to meet. The repository already contains the application, API, storage, queue, authentication, and transcoder foundations, but its own task list still calls out testing, frontend video listing, and streaming work. Production deployment is not codified either.

That is why we are not calling it production-ready, and why this note does not pretend every layer is finished. The experiment becomes useful by proving the complete path, not by accumulating the largest feature list.

What we are watching

The interesting measure is whether the boundaries become boring: uploads resume, jobs are observable, processing failures are recoverable, and playback comes from a traceable chain of state changes. Until that is demonstrated, “in development” says exactly what it needs to say.

Follow VidcastX as the experiment develops.