The sync core of Dropbox for one person is a file watcher, a hash index and an object store, and an agent can wire those into a working daemon in a weekend. The weekend goes on what makes sync trustworthy: two laptops editing the same file, deletes that must not spread by accident, large uploads that stop halfway, and file watching that behaves differently on each OS. Phones and online-only placeholder files are out of reach for one prompt, and storage costs what it costs: 2 TB on Backblaze B2 is about $14 a month, more than Plus, so a build only saves money if you store far less than 2 TB.
Before you buildDropbox Basic gives 2 GB for free, and Syncthing syncs your own devices at no cost. If you don't need share links, start with Syncthing.
Build me a personal folder-sync tool to replace Dropbox Plus. Requirements: - Node.js 22 + TypeScript in one repo: a Fastify server on http://localhost:4870 and a CLI daemon `dropsync` that watches ~/Sync with `chokidar` and syncs it to the server. - File content lives in an S3-compatible bucket (Backblaze B2 or MinIO) through `@aws-sdk/client-s3`; endpoint, key and bucket come from .env. Split files into 4 MiB chunks stored under their SHA-256, so only changed chunks upload. - The server keeps the index in better-sqlite3 at ./data/index.db: path, version number, chunk list, mtime and a deleted flag. Devices pull changes with GET /changes?since=<cursor> every 30 seconds and write files through a temp file plus rename. - Conflicts: if a file changed on two devices since the last sync, keep both and rename the newer one to "name (conflict 2026-10-19 laptop).ext". Never overwrite silently. - Versions: keep every old version for 30 days. `dropsync history <path>` and `dropsync restore <path> <version>`; deletions go to a trash list purged after 30 days. - `dropsync share <path> --days 7` prints https://<host>/s/<token>; the token is random, stored hashed, and the server redirects to a presigned download URL. - A web page at / lists files, downloads them and shows history. One password in .env, signed-cookie session. A `.dropsyncignore` file uses gitignore syntax. - Tests with `vitest`: chunking, conflict naming, restore, and an integration test that syncs two temp folders through a MinIO container. - Single user. No accounts, no telemetry, local-first. Outbound calls: your bucket only. - Out of scope: mobile apps, online-only placeholder files, real-time co-editing, PDF editing and signatures, sharing between accounts. - README: HTTPS with Caddy, the storage bill (2 TB on B2 is about $14 a month, more than Dropbox Plus), and a warning to keep Dropbox for a month while you test restores.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Dropbox Plus.
Extend the sync tool in this folder. Requirements: - Encrypt each chunk on the device with libsodium secretbox before upload; the key is derived with argon2id from a passphrase and a random salt stored in ~/.dropsync/key.json. - Store chunks under the SHA-256 of the plaintext HMACed with a key derived from the passphrase, so the bucket sees neither contents nor plain hashes. - The share-link flow decrypts on the server, so it needs the passphrase in .env; document the trade-off. - Add a test that a wrong passphrase fails cleanly, and update the README.
Add phone uploads to the sync tool in this folder. Requirements: - A /upload page that works as an installable PWA with a Web Share Target, so photos can be shared to it from the phone's share sheet. - Uploads go in chunks with resume after a dropped connection and land in ~/Sync/Phone/<yyyy-mm>/ on the server's own device record. - Show progress and a list of recent uploads; the page is behind the existing password. - Out of scope: background upload while the page is closed. - Update the README.
Add selective sync to the sync tool in this folder. Requirements: - A .dropsyncfolders file lists the server folders each device pulls; everything else is indexed but not downloaded. - `dropsync fetch <path>` downloads one folder on demand and `dropsync evict <path>` removes the local copy only after confirming the server has it. - A deletion on a device that doesn't hold a folder must never delete it on the server. - Add tests for those cases and update the README.
People pay for sync they stop thinking about: it works on every device they own, survives sleep, flaky Wi-Fi and big folders, and the person receiving a link doesn't need to install anything. On Linux in particular, Dropbox is one of the few big cloud services with a native client.
Estimate · Storage is the cost: Backblaze B2 lists $6.95 per TB a month, so 200 GB is about $1.40 and 2 TB about $14, plus a small VPS if you don't have a home server. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Basic | $0 | $0 | 2 GB of storage, file storage and sharing. |
| Plus | $11.99 | $9.99 | For one person: 2 TB, 30 days to restore deleted files, transfers up to 50 GB, PDF editing and signing, Dropbox Replay with 4 uploads, import from other cloud services. |
| Standard | $18/user | $15/user | From 1 user, storage starts at 3 TB for the team, 180 days of restore history, transfers up to 100 GB, team folders, admin console, branded and password-protected links, AI features for select teams. |
| Advanced | $30/user | $24/user | From 3 users, storage starts at 15 TB for the team, one year of restore history, end-to-end encryption, audit logs, SSO and compliance tracking. |
| Enterprise | custom | — | Custom security integrations and dedicated support. |
Basic is free with 2 GB of storage to store and share files.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Phone and tablet apps with camera upload and offline files, Files that show in the folder but stay online-only until you open them.
About $11.99 a month on the Plus plan, $143.88 a year (checked 2026-10-19).
Phone and tablet apps with camera upload and offline files; Files that show in the folder but stay online-only until you open them; Share links and folders that other people open and comment on without setup; Transfers of up to 50 GB, PDF editing, signatures and Replay video review; A 30-day restore for the whole account, backed by Dropbox's data centres rather than one bucket. If any of those matter to you, keep paying.
Yes: Syncthing (open source), Nextcloud (open source), Seafile (open source).