Skip to main content

Building Basedrop: Simple File Hosting

I made Basedrop.link because existing file sharing tools were either too limited or too complex. I wanted something fast with zero friction.

The Philosophy

  • No accounts required
  • No upload queues
  • No upsell screens
  • Just upload and get a link

Tech Stack

  • Frontend: Next.js + TypeScript
  • API: Next.js API Routes
  • Storage: AWS S3
  • CDN: CloudFront

Upload Flow

Presigned URLs let files go directly to S3:

const getUploadUrl = async (fileName: string) => {
  const command = new PutObjectCommand({
    Bucket: process.env.S3_BUCKET,
    Key: `uploads/${generateId()}/${fileName}`,
  });
  return await getSignedUrl(s3Client, command);
};

This means:

  • No server bottleneck on uploads
  • Better speeds for users
  • Lower costs

Abuse Prevention

Anonymous hosting attracts bad actors:

  • File type restrictions (no executables)
  • Rate limiting per IP
  • Automatic expiration
  • Report system for takedowns

Results

  • Average upload: under 30 seconds
  • 40% of users return within a week
  • Zero support requests about "how to upload"

Try it at Basedrop.link – no signup needed.

Related: Building Clark My Journey