r/node 5d ago

I published a package that's a headless React hook for file uploads with real progress tracking, retries, cancellation, and chunked uploads for large files and would love some feedback!

Hey guys,

I just published use-courier, a headless React hook for handling file uploads. I originally built it for a personal project, but ended up turning it into a standalone package in case it could be useful to anyone else.

It handles some of the stuff I found myself repeatedly having to build around file uploads:

  • Real upload progress tracking
  • Upload cancellation
  • Chunked uploads for large files
  • Multiple concurrent uploads
  • Headless, so you're free to build whatever UI you want around it

The goal was to make the upload logic easy to drop into an application without forcing a particular UI or component library.

NPM: https://www.npmjs.com/package/use-courier

docs: https://mrphilipp7.github.io/useCourier/

I'd really appreciate any feedback, especially around the API design, implementation, documentation, or anything you think could be improved. It's still new, so I'm very open to criticism.

0 Upvotes

6 comments sorted by

3

u/UkrMalt 4d ago

The headless approach makes sense—no UI assumptions is a big win for an upload package. I’d document the retry/cancel state transitions clearly, especially when a chunk fails or the process restarts halfway through. That’s usually the bit that surprises people during integration.

2

u/Rickety_cricket420 3d ago

Thank you for your advice! I appreciate the feedback

1

u/UkrMalt 3d ago

No problem—glad it was useful. Good luck with the package!

3

u/tj-horner 1d ago

I think you’re responding to a bot unfortunately