whatisgithub

What is tempfs?

0xradioac7iv/tempfs — explained in plain English

Analysis updated 2026-05-18

0TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A file sharing service where links expire automatically after a set time, download count, or both.

Mindmap

mindmap
  root((repo))
    What it does
      Temporary file links
      Auto expiry
      Password protection
    Tech stack
      Next.js
      TypeScript
      Supabase
    Use cases
      Share a file that self-destructs
      Send password-protected links
      Learn full-stack app patterns
    Audience
      Developers
      Vibe coders
    Tiers
      Guest 10 MB
      Signed-in 7 day
      Pro 500 MB
    Infra
      MinIO in dev
      Cloudflare R2 in prod
      Vercel deploy

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share a file with a link that expires after a set time or download count.

USE CASE 2

Send a password-protected download link by email.

USE CASE 3

Study a full-stack Next.js project with presigned uploads and OAuth.

What is it built with?

Next.jsTypeScriptTailwind CSSSupabasePostgres

How does it compare?

0xradioac7iv/tempfsabboskhonov/hermiumabhilashreddychitiki/memory-concierge
Stars000
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/54/53/5
Audiencedeveloperdeveloperpm founder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Needs Docker for local MinIO storage plus Supabase and OAuth configuration.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain how TempFS uses presigned URLs to upload files directly to cloud storage.
Prompt 2
Help me set up TempFS locally with MinIO for file storage.
Prompt 3
Show me how TempFS prevents a download link from being used twice at the same time.

Frequently asked questions

What is tempfs?

A file sharing service where links expire automatically after a set time, download count, or both.

What language is tempfs written in?

Mainly TypeScript. The stack also includes Next.js, TypeScript, Tailwind CSS.

How hard is tempfs to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is tempfs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.