finds.dev← search

// the find

unclebob/more-speech

★ 313 · Clojure · MIT · updated Feb 2024

A Nostr browser in Clojure.

A desktop Nostr client written in Clojure, built on Swing via Seesaw. This is Uncle Bob Martin's personal project — utilitarian by design, no native look-and-feel, no electron wrapper. For Clojure developers who want to participate in Nostr without leaving the JVM ecosystem.

Well-tested for a hobby project — speclj specs cover protocol parsing, elliptic signature verification, relay handling, and UI formatters, not just happy paths. The nostr crypto (Schnorr signatures, ECDH) is implemented in Java interop rather than a fragile Clojure wrapper, which is the right call for correctness-critical code. Pluggable storage layer with an in-memory backend and xtdb backend keeps the core logic decoupled from persistence. The codebase is small enough to read in a day.

Last commit was February 2024 and Nostr has moved fast — NIP support is likely incomplete or stale, and there's no indication which NIPs are actually implemented. Swing is a real usability ceiling: no image previews, no inline media, no system tray integration on modern OS. The README points to a wiki for setup details but offers nothing about key management, which is the first thing a new user needs to understand. Zero packaging story — no pre-built jar, no installer, just 'run lein' which is a significant barrier for anyone who isn't already a Clojure developer.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →