Custom Software Development

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

Client
Dropvi
Duration
First commit to production in 5 days
Launched
Sep 2026
Visit Live Site
Dropvi — Serverless SaaS Product
99 to 100
Lighthouse performance (mobile)
The Challenge

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
Our Solution

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
Results Achieved
Lighthouse performance (mobile)99 to 100
Largest Contentful Paint1.5 to 2.0 s
Homepage weight244 KiB
Live product with paid plansThree plans billed in GBP through Stripe: Free, Business Pro at £12 a month or £120 a year, and Teams & Suite at £49 a month or £490 a year
Audited before launchA line-by-line API security audit was completed and its critical findings closed before the service was promoted publicly

A closer look

Inside the build

Real screens from Dropvi's serverless saas product.

Dropvi branded portal on a custom subdomain showing the Zorinto Ltd studio portal
Branded portals: Business Pro customers get their own subdomain with their name, logo, headline and backdrop.
Dropvi pricing page with Free, Business Pro and Teams and Suite plans
Pricing: three plans billed through Stripe. Features that are planned but not built are labelled as such.
Dropvi versus WeTransfer comparison page with sourced figures
Comparison pages: every competitor figure links to its source and carries the date it was checked.
Dropvi free checksum verifier tool for SHA-256 and MD5
Free tools: a SHA-256 and MD5 checksum verifier that hashes in the browser, so the file never leaves the device.

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."
VH
Vimal Hari
Director, Zorinto Ltd
SaaS DevelopmentCloudflare WorkersAstroSvelteServerlessStripeEnd-to-End EncryptionCustom Software Development

Related Projects

Ready to Transform Your Business?

Let's discuss how we can help you achieve similar results