cd /news/developer-tools/why-i-built-an-open-source-alternati… · home topics developer-tools article
[ARTICLE · art-122566] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Why I Built An Open Source Alternative To WeTransfer

A developer has built Campsend, an open-source, self-hostable file-sharing tool designed as an alternative to WeTransfer. The project, built with Rails 8 and SQLite, allows users to send files with branded delivery pages, track opens and downloads, and store files in their own object storage. The developer was motivated by concerns over WeTransfer's terms of service and a desire for full control over file storage.

read3 min views5 publishedSep 7, 2026

During university I was sending photo sets to clients most weeks. I'd zip them up, upload them to Google Drive and send a link.

It worked for me for the most part. But my client files sat in the same drive as everything personal I owned, and the link I sent looked like nothing that had to do with my work.

Then I found WeTransfer (I think I might've stumbled on it on social media at the time). Upload, enter an email, send and that was it. It felt like handing someone the work rather than filing it somewhere, and that difference turned out to matter more to me than any feature either product had.

Nine years later I built Campsend, an open-source, self-hostable version of that. Rails 8 and SQLite.

In 2025 WeTransfer updated its Terms of Service. The new wording covered what they could do with uploaded content, including machine learning use, and enough people read it the same way that WeTransfer changed it back within a week. And for me, that raised a bunch of questions.

Who controls the files I send? What happens when the pricing changes, or the business model does? And what happens when I already have a bucket and want the files to land in it?

I wanted that delightful sending experience that WeTransfer gave me without handing over the storage layer.

I looked at what was already out there. MASV is hosted, so it has the same problem. Erugo self-hosts, but it feels like a super file sharing app that still didn't feel like a nice file sharing experience.

They're solving real problems.

Mine is smaller and more opinionated: Send work to a client, make the delivery look like mine, keep the files where I put them.

That's all.

You send files, brand the delivery page, see whether the recipient opened or downloaded it and choose where the files are stored. You can also run the whole thing yourself and point it at your own object storage.

Self-hosting was the part I cared about most, which meant the app had to be simple to operate.

Rails 8 went in the direction I needed: fewer moving parts to stand up before the app runs. I didn't want self-hosting Campsend to mean provisioning a queue, a cache, a session store and a Postgres cluster first. I wanted one application, one database, object storage and a deploy.

SQLite fits that need. Campsend is built around a single writable host.

I've load tested it on a laptop: 200 concurrent users, 72 requests a second, 3.3 deliveries created a second, and a p95 of 36ms measured at the server. SQLite never hit lock contention once. What I ran out of first was Puma threads, not database. (I could end being proven wrong here but I think for most use cases, it will work).

The first was the storage bill. Cloudflare R2 charges $0.015 per GB per month with no egress fee; S3 charges $0.023 plus $0.09 per GB out. Sending 100GB to clients in a month costs $2.30/month on S3 and $1.35/month after R2’s free 10 GB. Almost none of what you pay a file-sharing service is storage. It's the product around it.

The second was how little I had to build. Authentication, email, background jobs, database access and file storage were already there, so most of my time went into the delivery experience instead of the plumbing.

Which turned out to be the interesting part. File sharing and file management are different jobs, and only one of them needs a folder structure.

I'm writing up how to self-host Campsend, and the SQLite post above. Try it at Campsend or read the source on GitHub. Issues and pull requests welcome.

Everyone's building storage platforms. I want a beautiful file sharing experience.

── more in #developer-tools 4 stories · sorted by recency
── more on @campsend 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/why-i-built-an-open-…] indexed:0 read:3min 2026-09-07 ·