Log the work. No accounts.

Every set, exactly as you did it.

A workout log for the treadmill, the bike, the mat and the rack. Record 60kg×8, 70kg×6, 70kg×5 as three real sets instead of one averaged number — then watch the totals, the pace and the personal bests fall out on their own. Free, open source, encrypted end to end.

No accounts End-to-end encrypted Open source

Free · works offline · installs like an app · nothing to sign up for.

What you train, and when you last did it

What it does

Made for the log, not the leaderboard

  • A set is a set, not an average

    Every bout of work is recorded on its own — its load, its reps, its distance, its duration. A rising or falling weight across a session is kept as it happened rather than flattened into one number you can’t reconstruct.

  • One shape fits everything you do

    A 30-minute treadmill walk, 3×15 push ups, a 90-second plank and a heavy squat session all record with the same handful of fields. Nothing is bolted on for cardio versus weights, so nothing behaves differently.

  • Around 95 exercises, ready to go

    A curated library across eight groupings covering the machines on a commercial gym floor. Adding one copies it in as your own, so editing it later changes nothing but your copy.

  • Your log sheet stays short

    Each exercise says which details it records, and you can change that. The sheet is short by default and short by choice — not a wall of optional fields you scroll past every time.

  • Nothing to start, nothing to end

    There’s no session to remember to begin or forget to close. Entries close enough together are one workout, worked out when it’s shown — so a gym trip interrupted by a phone call is still one gym trip.

  • The right personal best

    Heaviest set for weights, most reps in a set for reps, longest hold for a plank, furthest for a ride — totalled across the whole entry, so intervals count as the ride they were.

  • Totals you can trust

    Average speed, pace and volume are calculated from what you logged, never stored alongside it. A number you typed and a number you read can’t drift apart, because there’s only ever one of them.

  • One log each

    Every person you track is their own private space — yourself, a partner, someone you train. Share one by scanning a QR code and both devices stay live in sync; the rest stay yours.

  • No account, no email, no password

    A 24-word recovery phrase is the whole identity. Everything is encrypted on your device before it syncs, it works offline, and it installs like a normal app.

How it works

Encrypted, without accounts

  1. 1

    One recovery phrase

    On first use, Rep Sheet generates a 24-word recovery phrase. Those words are your identity — there's no account, username, or password behind them.

  2. 2

    The phrase unlocks your keystore

    The phrase derives a master key that encrypts a small personal keystore — the list of shared spaces you belong to and the key for each.

  3. 3

    Each shared space has its own key

    A person whose training you log has one group key. Everything in it is stored as documents encrypted with that key. Sharing the space means sharing that one key — via a QR code or invite — and the space's owners decide who's in. Remove someone and the key is rotated and re-shared to everyone who remains, so they see nothing new.

  4. 4

    A blind server just relays ciphertext

    Your devices sync through a server that stores and forwards encrypted blobs and pushes live updates. It never holds a key, so it cannot read anything it syncs.

Security

Even the sync server can’t read it

  1. One recovery phrase 24 BIP39 words derives your master key
  2. Master key encrypts your keystore the list of spaces you belong to
  3. Group key encrypts one space's documents every workout, encrypted
Blind sync server

Stores & relays encrypted blobs. Fans out live updates. Cannot decrypt anything.

The server only ever sees ciphertext and random-looking identifiers — never a key, a name, or a person.

How the encryption works →

Why it’s different

Private by design

  • End-to-end encrypted

    Encryption and decryption happen only on your devices. Plaintext never leaves the device.

  • The server is blind

    It's untrusted infrastructure by design: it stores and relays ciphertext and never holds a key. Compromising the server leaks nothing readable.

  • No accounts, nothing to breach

    No email, no password, no profile. There's no user database to leak — just anonymous encrypted blobs keyed by hashes.

  • Open source

    The apps, the encryption core, and the server are all public. Inspect the crypto or self-host the server — you don't have to take our word for it.

  • Standard, modern crypto

    libsodium primitives (XChaCha20-Poly1305, BLAKE2b) and BIP39 phrases. No custom cryptography.

  • Works offline

    A PWA with a local encrypted cache — it works without a connection and syncs when it's back.

Start using Rep Sheet

No sign-up, no email, no password. Open it and go — your data is encrypted before it leaves your device.