{"repo":"abhay-ramesh/pushduck","free":true,"listed":false,"github":"https://github.com/abhay-ramesh/pushduck","clone":"git clone https://github.com/abhay-ramesh/pushduck.git","description":"Add file uploads to any web application. Secure, edge-ready.","language":"TypeScript","stars":213,"topics":["aws-s3","cloudflare-r2","file-upload","nextjs","s3","typescript","cloudflare-workers","edge-runtime","object-storage","presigned-url"],"license":"MIT","category":"databases-storage","readme_excerpt":"Pushduck - Universal S3 File Upload Library Add file uploads to any web application. Secure, edge-ready. Upload files directly to S3-compatible storage with just 3 lines of code. No heavy AWS SDK dependencies - works with Next.js, React, Express, Fastify, and more. Built by Abhay Ramesh. Sponsors ❤️ Thank you to all our sponsors for supporting the project 💙 Features - Fast - Optimized bundles with tree-shaking support - Lightweight - No heavy AWS SDK bloat, minimal dependencies - Type Safe - Full TypeScript support with intelligent inference - Multi-Provider - AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO - Framework Agnostic - Next.js, Express, Fastify, and more - Modern React - Hooks and utilities for easy integration - Secure - Presigned URLs, CORS handling, file validation - Edge Runtime - Runs on Vercel Edge, Cloudflare Workers, and more - Progress Tracking - Real-time progress, upload speed, and ETA estimation - Lifecycle Callbacks - Complete upload control with onStart , onProgress , onSuccess , and onError - Unopinionated - You control auth, processing, and storage lifecycle - Storage Operations - Complete file management API (list, delete, metadata) - Production Ready - Used in production by many applications Quick Start Installation Setup (3 Steps) Step 1: Create API Route ( app/api/upload/route.ts ) Step 2: Create Upload Client ( lib/upload-client.ts ) Step 3: Use in Component ( app/upload.tsx ) Done! 3 files, 50 lines of code, production-ready uploads. Advanc","default_branch":null,"files":null,"tree":[],"storefront":"/r/abhay-ramesh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/abhay-ramesh/pushduck/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}