I've been playing with Clojure lately. Tonight, I released a Telegram bot that generates a QR code from any string you send to it. A few months ago, I made another QR bot in TypeScript using Zustand/Immer as the backend. In Clojure, there's no need for external libraries: immutability, atoms, and watchers are all built into the language.