QUEST LOG · December 23, 2025· UPDATED October 29, 2026

Solid(ar)ity, Solidarity? Finding Each Other Through Cards and Connection

Written to promote Solid(ar)ity, whose name is so badly chosen that it's nearly impossible to search for. This post is also mostly a chronicle of the blood, sweat, and tears from a full year of building it

I've always thought cypherpunk was a really cool cause, but how you actually put it in ordinary people's hands is a whole other story.


At DevCon 2024, I started getting deep into DID (decentralized identity) and how identity can actually be implemented in the real world. Back then, some friends and I put on a small event in Chiang Mai, WAMO ↗, partly to promote what we wanted to build at the time: a social app built on P2P interaction. How that app should actually work was, again, a whole other story.

# Business cards: the oldest P2P protocol

Spend long enough at Devcon and you realize engineers are basically hopeless. At a venue that huge I couldn't really interact with anyone, so all I could do was fall back on the art of watching other people. After observing the event floor for a while, I noticed that the way people get to know each other hasn't really changed: swap business cards, add each other on tg, follow each other.

And the business card itself is a perfect P2P protocol:

  • No server needed: I hand it to you, and now you have it
  • No account needed: whatever's printed on the paper is what it says
  • If my company goes under, the card in your hand is still there

At my previous company, someone even gave a business card as their present in a gag gift exchange, and yet you could clearly tell it was proof that they existed.

But it also has one fatal flaw: you can't verify that what's printed on it is true. Printing a card that says "Senior Engineer at Some Big Tech Company" costs nothing.

Flip it around, and identities in the digital world can all be verified, but they're entirely staked on platforms. LinkedIn bans your account, Twitter changes the rules, and your identity is gone. Plus, who you know and what you've exchanged with them is all the platform's data. It's kind of sad when you think about it: modern people don't even hold the right to their own existence in their own hands.


# What Solid(ar)ity wants to do

Solid(ar)ity is about combining those two things: something that's yours, like a paper business card, but verifiable, like a digital identity.

In the first version, we built the whole core around exchanging via AirDrop: peer-to-peer, swapping your identity without going through any intermediary, saving other people's identities as contacts, and adding WebRTC as a communication bridge.

After a lot of iteration, it became a "verifiable personal page + business card." Think of it as a Linktree where you hold the keys. Every link, account, and proof on the page can either be cryptographically verified by any stranger, or is honestly labeled as an "unverifiable self-claim."

A few principles we stick to:

  1. No servers that store user data. We don't store user data, don't have accounts, and don't sit in the verification path
  2. A green check means "control," not identity. What it says is "this person currently controls this account / domain / key," not that they're famous, honest, or really who they say they are
  3. The evidence is one step away. Tap any badge and you can see the platform's own proof, like a DNS record or a signed post

And the whole project's guiding principle comes down to one sentence: "The company dies, the mechanism lives on." Your data lives on your phone and in your own iCloud or Google Drive; publishing goes through open networks like Nostr and atproto that don't need us, though now I'm actually worried about those big services going under...;

But all the verification runs on the user's device. Even if we disappeared tomorrow, every card and every proof could still be verified.

# The moment you swap cards

Back to the event floor. Two people meet, open the app, and scan a QR code:

  • What you get is the other person's signed card, not some random screenshot
  • The other person decides what to show you; they can prove just "I'm an attendee of such-and-such event" without laying out their entire profile
  • For contacts you've saved, when the other person later updates their page, it quietly re-verifies in the background

The whole process doesn't touch a single server. It's just between two phones. Same as handing over a business card.


# Why it's called Solid(ar)ity

The name is Solidarity, with the ar in the middle in parentheses, which also happens to spell Solidity. What I wanted to express is: on an internet where trust is getting scarcer, the connections between people should be built on a foundation that's verifiable and can't be monopolized by anyone.

And then... it's exactly this name that makes it nearly impossible to find on search engines. Search "solidarity" and you get a pile of labor unions and social movements; search "solidity" and it's all smart contract tutorials. Naming things really is an engineer's greatest weakness, and I'll own that.

So if you're reading this, feel free to go check out the GitHub ↗, or next time we run into each other at an event, let's swap a card.

Apps I ship

Free on iOS and Android.

Solid(ar)ity

Solid(ar)ity

A privacy-first identity wallet: zero-knowledge proofs and signed cards swapped face to face, no central server.