REAP REAP ← all posts

Two days, one trunk

We build REAP in the open, and we keep a record. This is the first entry — a look at what landed in a single stretch, and why each piece exists.

The problem we keep coming back to

Every file tool answers “did it send?” with a shrug. WeTransfer expires the link. Dropbox rents you a server. Email strips the attachment. None of them can prove the file arrived whole. REAP’s whole reason for being is to turn “I hope it got there” into “here’s the math that says it did.”

What shipped

A lot, fast:

  • Auto-update. REAP now checks a signed feed on launch, downloads quietly, and offers a restart pill. The manual-DMG era is over — every fix after this one installs itself.
  • Proof-of-delivery receipts. Every verified transfer can export a signed JSON receipt — file name, size, BLAKE3 of every byte, timestamp, and the device’s Ed25519 signature. It’s the artifact the whole pitch is built on, and now it’s real.
  • A browser verifier. The person who needs to check a receipt — a client, a lawyer, an insurance adjuster — doesn’t have REAP and never will. So getreap.io/verify checks any receipt in their browser. Nothing uploads; the math runs on their machine.
  • Nearby pairing. REAP installs find each other on the same network over mDNS. No typing IP addresses — the other machine just appears with a Pair button.
  • Guest drops. People without REAP can still send you a file — getreap.io/send with a code and PIN — and it lands verified, with a receipt, no email-sifting.

The receipt, in plain terms

A receipt doesn’t ask anyone to trust us. Ed25519 and BLAKE3 are public standards. The receipt documents its own format, and any cryptographer on earth can re-verify it with twenty lines of code and no REAP software anywhere. That’s the difference between “our app says it’s valid” and “here’s a claim anyone can check.”

One tree, whole forest

The last piece was the biggest: the entire website — marketing page included — moved onto a single SvelteKit codebase. One build, one deploy, and the whole thing installs to a phone’s home screen as an app. The delicate parts (the live checkout especially) were preserved byte-for-byte, never gambled.

There’s a doctrine behind that: put the future of the forest in one tree, and grow it deliberately instead of scattering seeds. This site is that tree.

More soon — including shots from the desk.