Show HN: Video uploader for React/RN – drop in or headless UI, any back end
github.comUniversal Video Uploader is an open source React/React Native component library for adding video upload flows to your app. It handles the UX and background mechanics for single or multi-video upload flows: upload state, file queue, concurrency, per-file progress, abort/retry, validation, and backend communication for async processing.
It comes with a composable and customizable UI, or you can go headless and use the core hooks to build your own. You can connect it to any backend via the adapter interface, and it ships with a prebuilt adapter for Hyperserve (a video backend API I built).
I've had to build this kind of thing a few times and it's more complex than it seems, I wanted to try making something drop in that is still flexible and comprehensive. I'm currently using it as the dashboard uploader for Hyperserve and so far it's working great.
Try it at https://videouploader.fyi. There's full docs with live demos for every component, plus working Next.js and Expo examples you can run. I'd appreciate any feedback on it if you have any!
Headless hooks plus a drop-in UI is the right split. What was the edge case that bit you the most across the times you rebuilt this?
Agreed. The edge cases were mostly in the state machine, for instance a late progress callback from an aborted upload could bring back a file you'd just retried or removed. As well as errors and retries in general. I wanted great UX out of the box and you need to design beyond the happy path.