Share a file with a link that expires after a set time or download count.
Send a password-protected download link by email.
Study a full-stack Next.js project with presigned uploads and OAuth.
| 0xradioac7iv/tempfs | abboskhonov/hermium | abhilashreddychitiki/memory-concierge | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 4/5 | 3/5 |
| Audience | developer | developer | pm founder |
Figures from each repo's GitHub metadata at analysis time.
Needs Docker for local MinIO storage plus Supabase and OAuth configuration.
TempFS is a temporary file sharing service where you upload a file, receive a link, and that link expires automatically, either after a set time, a set number of downloads, or both. There is no permanent storage, since files are not meant to live forever. Guest users, with no account required, can upload files up to 10 MB and receive a link that expires after one hour. Signed-in users get more flexibility, with expiry up to 7 days and a configurable use limit. A Pro tier unlocks 500 MB files, 30-day expiry, 100 active links at once, and the ability to password-protect links. Password-protected links can also be shared by email, with the password included in the message sent to the recipient. Under the hood, the browser uploads files directly to cloud storage using a short-lived presigned URL, so the server never handles the actual file bytes, only the metadata. When someone downloads a file, the server first checks expiry and use count, then atomically records the download before redirecting the browser to the file. This prevents two simultaneous requests from both counting as valid when only one slot remains. Metadata is stored in a Postgres database managed through Supabase, and sign-in is handled via Google OAuth. In local development, file storage runs on MinIO, a self-hosted S3-compatible service started via Docker. In production it switches to Cloudflare R2. The project is built on Next.js 16 with TypeScript, styled with Tailwind CSS, and deployed on Vercel. Payments are handled through Razorpay. The author describes it as a learning project.
A file sharing service where links expire automatically after a set time, download count, or both.
Mainly TypeScript. The stack also includes Next.js, TypeScript, Tailwind CSS.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.