Dropvi: Large File Transfer Built on the Cloudflare Edge
A WeTransfer alternative that sends up to 50 GB free, end-to-end encrypted in the browser, with no account needed to share a link, running entirely on Cloudflare Workers, R2 and D1

Sending a large file is still harder than it should be. Free tiers on the established services cap transfers at a few gigabytes, ask the sender to create an account, and show adverts to the recipient. We wanted a service that handles tens of gigabytes from a browser tab, costs almost nothing to run at idle, and is honest about what it does.
- •Move files of tens of gigabytes reliably from a browser, with no desktop app and no plugin
- •Keep infrastructure cost close to zero at idle and avoid bandwidth (egress) charges as downloads grow
- •Let anyone share a link with no account, without becoming a relay for spam, phishing or malware
We built Dropvi as a serverless product on Cloudflare: an Astro and Svelte front end, a Hono API on Workers, R2 for file storage, D1 for metadata and Durable Objects for live transfer rooms. There are no servers to patch and no idle compute to pay for, and R2 does not charge for egress.
- •Split the work into a pnpm monorepo: web app, API, database package and shared Zod contracts used by both sides
- •Uploaded files in multipart chunks into R2 so a dropped connection costs one part, not the whole file
- •Built a checksum verifier that hashes with WebAssembly in a Web Worker, so large files never freeze the page
A closer look
Inside the build
Real screens from Dropvi's serverless saas product.




Project Overview
Dropvi is our own product: a large file transfer service at dropvi.com. A sender drops files into the browser, gets a link, and shares it. The free plan carries up to 50 GB per transfer with no account needed to share a link, and recipients never sign in. Paid plans add larger transfers, longer retention, PIN or password access, download limits and a branded portal on the customer’s own subdomain.
Every transfer is end-to-end encrypted, so Dropvi stores files it cannot read. It is a production service with live Stripe billing, not a demo. It is also a working example of how we build software for clients: a typed monorepo, serverless infrastructure with almost no running cost, and a security audit before anything is promoted.
The Strategic Challenge
File transfer looks simple and is not. Four problems had to be solved together.
- Size. A browser tab has to move tens of gigabytes without exhausting memory, and survive a connection that drops part-way through.
- Cost. Storage is cheap; bandwidth is not. A service that pays for every download cannot offer a generous free tier.
- Abuse. Any service that lets anonymous users upload files and send emails will be tested by spammers within days.
- Trust. Words such as “end-to-end encrypted” are easy to type on a landing page. We kept that claim off the site until the code delivered it, and then scoped it to exactly what the code does.
How We Built It
Serverless from end to end
The front end is Astro 7 with Svelte 5 islands, deployed to Cloudflare Workers. The API is a Hono application on Workers, with R2 for files, D1 (through Drizzle ORM) for metadata and Durable Objects for a live WebSocket room per transfer. The web app and API share their request and response types through a package of Zod schemas, so a contract change fails the build on both sides and not in production.
R2 does not charge for egress, which is what makes a 50 GB free tier viable. With no servers or containers, the cost of the service at idle is close to zero.
Uploads that survive real networks
Files are split into parts and sent as an R2 multipart upload. If the connection drops, only the part in flight is lost. The API checks uploaded sizes against the declared sizes exactly, which stops a free account from storing more than its plan allows.
Downloads, previews and ZIPs
Recipients can preview video, audio, PDFs and images before they download. Single files stream with HTTP Range support, so an interrupted download resumes. Whole transfers can be downloaded as a single ZIP.
Payments with limits the API enforces
Stripe Checkout and the customer portal handle subscriptions in GBP. Signed webhooks record every plan change, and the API (not only the interface) enforces each plan’s limits: transfer size, retention, and access to PINs, download limits and branded subdomains.
Audit first, then launch
Before promoting the service we ran a line-by-line security and correctness audit of the API. The fixes shipped before launch:
- rate limits on sign-in codes, transfer creation and password attempts
- a lockout on repeated PIN or password failures, with salted PBKDF2 hashing and constant-time comparison
- email delivery only for senders who have confirmed their address with a one-time code, which closed an open email relay
- passwords moved out of download URLs, so they never reach logs or browser history
- a “report this transfer” route with an admin abuse queue, where the reporter can supply the full link so a report can still be reviewed once transfers are encrypted
The same review covered the marketing. Claims the product could not prove were removed, the pricing page was rewritten to list only features that exist, and planned features are labelled as planned.
End-to-end encryption for every transfer
Ten days after launch we made end-to-end encryption mandatory for every new transfer, with no opt-out and no plan gating. We wrote and reviewed a design and threat model first, then shipped it in five phases on 27 and 28 September 2026.
- In the browser. Files are encrypted with the Web Crypto API before upload: AES-256-GCM in 1 MiB records, with keys derived through HKDF-SHA256. File names, types, the title, the message and the sender’s name are sealed too.
- The key stays out of the server’s reach. It travels in the link’s
#fragment, which browsers never send to a server. When a sender sets a PIN, a key derived from the PIN is mixed in, so a leaked link alone cannot open the files. - Nothing the recipient relies on was lost. A bundled service worker decrypts downloads, whole-transfer ZIPs (written as streaming ZIP64) and video previews as they stream, and HTTP Range still works because ranges map onto whole records. Share pages run under a strict Content Security Policy.
- The same format in the CLI. The command-line tool encrypts before upload and decrypts on download, and treats any altered size, digest or file order as tampering.
We were just as precise about the limits. Dropvi still sees encrypted sizes, file counts, recipient email addresses and IP addresses, and a web app can only be as trustworthy as the code it is served. The site and the privacy notice say so in plain words.
A command-line tool
The Dropvi CLI is published on npm as @zorinto/dropvi-cli under the MIT licence. It sends and fetches transfers from a terminal or a CI job, resumes interrupted sends and checks the integrity of every file it fetches.
Built to be found
The marketing site follows the same technical SEO standards we apply to client work: prerendered pages, a generated sitemap with honest lastmod dates, noindex headers on private transfer pages, structured data on the homepage only, six sourced comparison pages, seven use-case pages and two free tools that earn links by being useful.
Results & Impact
Dropvi went from first commit on 13 September 2026 to a deployed, audited service with live billing on 17 September 2026. End-to-end encryption, the CLI, self-serve account deletion, enforced retention and a full privacy notice followed by 29 September. After the performance work, measured on 19 September, the homepage scored 99 to 100 in Lighthouse on simulated mobile (from 69 to 74), with Largest Contentful Paint down from around 9 to 10 seconds to 1.5 to 2 seconds and page weight down from 3,443 KiB to 244 KiB.
The product is new, so we are not quoting user or revenue numbers. What this case study shows is the engineering: a complete SaaS product (uploads, downloads, accounts, billing, branding, abuse controls, observability and SEO) designed, built, audited and launched in under a week, then made end-to-end encrypted within a fortnight.
Technology
Built with Astro 7 and Svelte 5, served by Cloudflare Workers with a Hono API, storing files in R2 and metadata in D1 through Drizzle ORM, with Durable Objects for live transfer rooms, Web Crypto for end-to-end encryption, a Node.js CLI on npm, Stripe for billing, transactional email for delivery and notifications, and Sentry for error tracking.
Planning a SaaS product or a serverless build? See our SaaS development service and software development service, or start a project. Dropvi is the kind of end-to-end product we build for clients.
Key Features
Link Transfers With No Account
Drop files, get a link. Senders need no account to share a link and recipients need none to download, on a free tier of 50 GB per transfer.
- Up to 50 GB per transfer on the free plan
- No adverts and no recipient sign-in
- Anonymous senders can still revoke a transfer with a secret token
Resilient Large Uploads
Files are split into parts and uploaded as an R2 multipart upload, so large transfers cope with unreliable connections.
- A dropped connection costs one part, not the whole file
- Plan limits apply to what is actually stored
- Upload sizes are checked against the declared size exactly
Previews and Streaming Downloads
Recipients can preview video, audio, PDFs and images in the browser before downloading, then fetch single files or the whole transfer as a ZIP.
- HTTP Range support for resumable downloads
- Whole transfers download as a single ZIP
- The sender is notified when the first download starts
Branded Subdomain Portals
Business Pro customers claim a subdomain and set a logo, name, headline and backdrop. A wildcard Worker route serves every portal from one deployment.
- yourcompany.dropvi.com in minutes
- Portals are kept out of search indexes
- No per-customer infrastructure
Abuse and Security Controls
File transfer services attract abuse, so the API enforces rate limits, PIN and password lockouts, verified email senders and a report-this-transfer route with an admin queue.
- Dropvi only emails links for senders who confirmed their address
- Transfer passwords hashed with salted PBKDF2 and compared in constant time
- Hourly cron removes expired transfers and their objects
End-to-End Encryption by Default
Every transfer is encrypted in the browser or the CLI before upload. The key travels only in the link fragment, which browsers never send to a server, so Dropvi stores ciphertext it cannot read.
- AES-256-GCM in 1 MiB records, so previews, ZIPs and resumable downloads still work
- A PIN, when set, is mixed into the key, so a leaked link alone cannot open the files
- Emailed links carry no key; the sender passes it on separately
Command-Line Tool
Developers and CI pipelines can send and fetch transfers from a terminal with the Dropvi CLI, which encrypts and decrypts locally like the website.
- Install with pnpm add -g @zorinto/dropvi-cli
- Resumable sends and integrity checks on every file fetched
- MIT licensed and published on npm
Installable PWA and Free Tools
Dropvi installs as a progressive web app on mobile and desktop, and ships two free tools, six comparison pages and seven use-case pages written to be found in search.
- The checksum tool works offline once loaded
- Tools and comparison pages bring in search traffic
- Every competitor figure is sourced and dated
"Before launch we audited our own marketing as hard as our own code. Anything the product could not prove came off the page, and every claim left on dropvi.com can be traced to the code that delivers it. That is the standard we hold client projects to as well."
Related Projects
CFP Lottery & Raffles
We built Insyte for CFP Lottery & Raffles: a Django platform that reads scanned donation forms with Document AI, runs QA and reconciles banking for charities.
CFP Lottery & Raffles
We built the CFP Raffle platform: a Django back office for running charity raffles end to end, from tickets and OCR to banking reconciliation and exports.
Ofyse
We designed and built Ofyse, a multi-tenant SaaS that replaces the spreadsheet stack coworking operators use: bookings, member CRM, billing and payments.
Ready to Transform Your Business?
Let's discuss how we can help you achieve similar results