How it works

The link is the document.

Most writing apps save your text to a database and hand you a link that points at it. Krypin skips the database. It compresses what you wrote, encodes it as text a URL can carry, and puts the result after the # in the address bar.

Everything after that # stays in the browser. It is never sent to a server, which is why there is no account to make and nothing to pay for. It also means the link cannot rot: as long as someone has the URL, they have the writing, whether or not this site is still running.

Diagram: a text note about a guacamole recipe on the left, an arrow labelled compress and encode to URL hash in the middle, and the resulting krypin.app URL with a long encoded string on the right.
Text in, one self-contained address out.
01

Write

Open the page and start typing. There is no new document button and nothing to name.

02

Copy the link

The address updates as you write. Copy it whenever you want to keep or send what you have.

03

Share it

Anyone who opens the link reads it straight away. No sign-in, no permissions to grant.

04

Or keep it

The local library saves your writing in the browser, so you can come back without a link.

Features

Two ways to write.

Privacy

There is nothing to store.

No server, no account, no analytics

The part of a URL after the # is never sent to the server by the browser. That is a rule of how the web works, not a promise I am making. So even though Krypin is served from a website, what you write does not reach it.

The local library uses your browser's own storage and stays on your machine. There is no sign-up, so there is no account to leak.

One thing to be aware of: a link contains the writing, so anyone you send it to can read it, and it will sit in their browser history like any other address. Treat a Krypin link the way you would treat the text itself.

Under the hood

Compression, then base64.

Text goes through deflate compression, then gets encoded as URL-safe base64 and written to the hash fragment. Compression matters more than it sounds: prose compresses well, so a surprising amount of writing fits inside a link that still pastes into a message.

The library is stored with IndexedDB. There is no backend to run, so the whole thing is static files.

Built with

React 18 TypeScript Vite Tailwind pako IndexedDB dnd-kit

Credit

The idea is not mine.

Prior work

Storing a document inside its own URL was worked out by other people first. itty.bitty by Nicholas Jitkoff pioneered self-contained pages that live entirely in the address, and textarea.my by Anton Medvedev is a minimalist editor built on the same deflate-into-the-hash trick.

Krypin adds the two writing modes, the local library and the soundscapes. The core mechanism is theirs.