Abhay Ramesh

Pushduck — S3/R2 File Uploader - Type-safe S3/R2 uploads for any framework (tiny ~15KB)

by
Add uploads in minutes with end-to-end TypeScript types. Files go straight from the browser to S3-compatible storage via presigned URLs—your server only signs. Works with Next.js, Remix, SvelteKit, Hono; supports S3, R2, DO Spaces, MinIO, and GCS.

Add a comment

Replies

Best
Abhay Ramesh
Maker
📌
I built Pushduck because file uploads kept derailing every project. I’d fight CORS, edge/runtime quirks, and the bloated AWS SDK. And paying a third-party felt silly when object storage is cheap. I just wanted something simple, type-safe, and self-hosted. Pushduck = your server signs URLs, the browser uploads straight to any S3-compatible store (R2, S3, DO Spaces, MinIO, GCS). Tiny core(15kb gzipped), no vendor lock-in or per-upload fees. Works with Next.js, Remix, SvelteKit, Hono. Would love feedback on large files, flaky mobile, and whether resumable/pausable should be next. Try it out and tell me what would make this your default choice for further projects.