A quiet, all-frontend crush matcher for atproto. Tell it who you like — your note is public-key encrypted the moment it's written, so it just sits in your own PDS as ciphertext. Nobody can read it, including us — not even the person it's about — until they've told the same tool the same thing about you. Only then does either of your clients have the key to open it.
On first use your browser generates a private key that never leaves it, and publishes the matching public key to your own PDS. When you name someone, your client fetches their public key and combines it with your private key (Elliptic-Curve Diffie–Hellman) to derive a secret only the two of you can ever compute — Alice(privateA, publicB) and Bob(privateB, publicA) land on the exact same value. That secret splits into a lookup tag and an encryption key. Your crush record is filed under the tag, not under their name or DID — so a repo browser can't tell who it's "about," only the one other person who shares that secret can ever recognize it or decrypt it.
Honest limits: this hides who a note is about and what it says, not that you filed one — atproto repos are public, so the bare fact that you have some crush record on file isn't secret. And because a match check is just a public read, nothing stops someone from checking whether you like them without ever filing their own — it's an honor-system tool, not a coercion-proof one. Real public-key crypto, modest promises.