It sticks closely to the Tang protocol, but I replaced the file‑based key storage with a SQLite‑backed design to make key rotation and cleanup safer. For the ECDH key exchange, I opted to call the same jose CLI Tang uses.
The repo includes a development log describing the design decisions, trade‑offs, and a few lessons learned from trying (and failing) to get an LLM to write code.
I believe this compatible implementation could also be useful as a reference for implementations in other programming languages.
FYI, I'm not a native English speaker, so please forgive any awkward phrasing.