03 December 2025
Christoph Neumann
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS).
Help shape the future of Clojure!
Whether you use Clojure, ClojureScript, Babashka, or any other Clojure dialect, please fill out the 2025 State of Clojure Survey and spread the word on social media.
This survey gives us the best snapshot of the Clojure community, so help us get as many participants as possible.
If you use ClojureScript or dialects like Squint, Cherry, nbb, and such, please fill out the 2025 State of ClojureScript Survey and share it with others.
Thank you for your help!
Scicloj AI Meetup: Agent-o-rama: Jan 17
Clojure Jam 2026: Apr 18-19 & 25-26. Online & free! CFP is open until Jan 31st.
Babashka Conf: May 8. Amsterdam, NL. Free registration, but tickets are limited!
Dutch Clojure Days 2026: May 9th. Amsterdam, NL. Join the waitlist, or the CFP is open until Jan 15th.
Build a ClojureScript native desktop app in 5 minutes - mccormix
Java Day - JAVA cumple 30 años. - BogotaJVM
The Gaiwan Stack (by Arne Brasseur) - London Clojurians
defn episode 95a74d1e2f4d Bobbi Towers - @defn podcast
Inside Clojure South 2025 - Building Nubank
Clojure Corner: Interview with Julien Bille - Flexiana
7 UIs in clojuredart pt1: Counter - Disorganized
7 UIs in clojuredart, pt2: Temperature converter - Disorganized
Reconstructing History with XTDB (Jeremy Taylor + James Henderson) - CMU Database Group
A Json-Schema/OpenAPI Renaissance (by Max Penet) - London Clojurians
New ClojureScript features in the 1.12.116 release - mccormix
Clojure in product. Would you do it again? Episode 11. Jeremiah Via, The New York Times - Freshcode
Python + ClojureScript: Pyodide Integration with Scittle – Clojure Civitas - Burin Choomnuan
Building Browser-Native Presentations with Scittle – Clojure Civitas - Burin Choomnuan
Advanced Beginner’s guide to ClojureScript | Roman Liutikov, Software Engineer - Roman Liutikov
Open source news: 2025 Sep-Oct - Peter Taoussanis
Diving into Rama: A Clojure LSH Vector Search Experiment - Marko Djordjevic
Hexagonal architecture vs. eDSL - a demo | Biotz - Michal Hadrava
Browser-Native QR Code Scanner with Scittle – Clojure Civitas - Burin Choomnuan
Clojure in Competitive Programming - Artem Kulakov
Build a Memory Game with ClojureScript & Scittle – Clojure Civitas - Burin Choomnuan
Build Asteroids with ClojureScript & Scittle – Clojure Civitas - Burin Choomnuan
Native Apps with ClojureScript, React and Static Hermes | Roman Liutikov, Software Engineer - Roman Liutikov
Not One, Not Two, Not Even Three, but Four Ways to Run an ONNX AI Model on GPU with CUDA - Dragan Djuric
DSP Study Group - Intro: Building the Violin Sound from Sine Waves – Clojure Civitas - Eugen Nesbakken
Web Audio API Playground with ClojureScript & Scittle – Clojure Civitas - Burin Choomnuan
What’s the Buzz in Charlotte? A Pre-Conj Data Dive – Clojure Civitas - Timothy Pratley
Writing MCP servers in Clojure with Ring and Malli - Paul Rutledge
Tableplot Tutorial: Customizing Plots with Parameter Substitution – Clojure Civitas - Daniel Slutsky
Clojure in your browser - Jan Wedekind
Conj 2025 Workshop: Sharing your Data Analysis – Clojure Civitas - Timothy Pratley
DSP Study Group - Reading audio data from WAV-files – Clojure Civitas - Adrian Bendel
Browser-Native PDF Viewer with ClojureScript & Scittle – Clojure Civitas - Burin Choomnuan
The Search for Meaning Through Collaboration and Code – Clojure Civitas - Timothy Pratley
The “Jankiest” way of writing Ruby gems - Maurício Szabo
Clojure Conj 2025 - Two Lies and a Truth Trivia – Clojure Civitas - Burin Choomnuan
Exception handling differences between Clojure map & pmap - Jacob Emcken
Eight Queens in core.logic - Benjamin Schwerdtner
Explanations are value laden – Clojure Civitas - Teodor Heggelund
Hypermedia: The New/Old Architecture Set to Revolutionize Web and Mobile Development - Alberto Miorin
(nth (concat) 3) - Arthur Fücher
Emmy, the Algebra System: Infix Notation – Clojure Civitas - Markus Agwin Kloimwieder
Personal Partial Evaluation: Clojure/Conj 2025 – Clojure Civitas - William Proffitt
dosync — Aimless - David Nolen
The programmers who live in Flatland - Nathan Marz
An escape room(s) in Datalog - Jaideep Umraiya
Fast Persistent Collections for ClojureScript in React Native | Roman Liutikov, Software Engineer - Roman Liutikov
How to pronounce greek letters – Clojure Civitas - Markus Agwin Kloimwieder
Annually-Funded Developers' Update: September/October 2025 - Kathy Davis
Clojars Maintenance and Support: August-October 2025 Update - Kathy Davis
Plan for Clojure AI, ML, and high-performance Uncomplicate ecosystem in 2026 - Dragan Djuric
XTDB 2.1: ATTACH to integrate · XTDB - Jeremy Taylor
Rama in five minutes (Clojure version) - Nathan Marz
100000 TPS over a billion rows: the unreasonable effectiveness of SQLite - Anders Murphy
Building a Coding Agent : Part 1 - A basic LLM chat loop - Shyamsunder Gopale
Building a Coding Agent : Part 2 - Adding a tool to the agent - Shyamsunder Gopale
Building a Coding Agent : Part 3 - Automatic discovery of tools - Shyamsunder Gopale
Building a Coding Agent : Part 4 - A basic usable coding agent - Shyamsunder Gopale
Building a Coding Agent : Part 5 - Add more power to the agent - Shyamsunder Gopale
Building a Coding Agent : Part 6 - Hello MCP - Shyamsunder Gopale
Building a Coding Agent : Part 7 - Multiple MCP Servers - Shyamsunder Gopale
Building a Coding Agent : Part 8 - Using Local models - Shyamsunder Gopale
Building a Coding Agent : Part 9 - Adding Command Handling - Shyamsunder Gopale
Debut release
java.doc - Javadocs in your REPL
mcp-sdk - A clojure/ring adapter for the official modelcontextprotocol Java SDK
llm - GitHub - scicloj/llm
clojure-claude-sandbox - Docker setup and run script for starting a sandboxed environment where you can let Claude run without prompts more safely.
claij - Clojure / AI / MCP Integration
langchain4clj - Pure Clojure wrapper for LangChain4j. Idiomatic, data-driven access to multiple LLM providers with zero opinions.
lightweaver - A Next Gen Clojure Component Library
oreo - Aero 🤝 Component = Oreo
parmezan - Parmezan fixes unbalanced or unexpected parens or other delimiters in Clojure files
calva-javadoc - A tiny library to support Calva’s custom snippet to show javadoc
edn.c - A fast, zero-copy EDN (Extensible Data Notation) reader written in C11 with SIMD acceleration.
dbval - A Datomic-like database library on top of Sqlite
dual - example of a 2 component microservices tools combining Basilisp and Clojure
domo - A ClojureScript DOM utility library.
clj-dot-prompt - GitHub - julienba/clj-dot-prompt
Updates
clojurescript 1.12.116 - Clojure to JS compiler
clojure-clr clojure-1.12.3-alpha4 - A port of Clojure to the CLR, part of the Clojure project
test.check 1.1.2 - QuickCheck for Clojure
clr.core.async 1.7.701 - Port of Clojure core.async to the CLR
noj 2-beta19.1 - A clojure framework for data science
edamame 1.5.35 - Configurable EDN/Clojure parser with location metadata
portfolio 2025.11.2 - Component-driven development for Clojure
fulcro 3.9.0-rc13 - A library for development of single-page full-stack web applications in clj/cljs
ok-http 1.0.0-alpha17 - OkHttp clojure wrapper
polylith 0.3.31 - A tool used to develop Polylith based architectures in Clojure.
malli 0.20.0 - High-performance data-driven data specification library for Clojure/Script.
splint 1.22.0 - A Clojure linter focused on style and code shape.
nexus 2025.11.1 - Data-driven action dispatch for Clojure(Script): Build systems that are easier to test, observe, and extend
uix 1.4.8 - Idiomatic ClojureScript interface to modern React.js
di 3.6.0 - DI is a dependency injection framework that allows you to define dependencies as cheaply as defining function arguments.
navi 0.1.5 - A tiny, data-driven library converting OpenAPI spec to Reitit routes enabling spec-first practices.
cli-tools 0.16.0-beta-3 - CLIs and subcommands for Clojure or Babashka
clay 2.0.3 - A REPL-friendly Clojure tool for notebooks and datavis
babashka 1.12.212 - Native, fast starting Clojure interpreter for scripting
deps-new 0.10.2 - Create new projects for the Clojure CLI / deps.edn
clojure-mcp-light 0.2.1 - Simple Clojure tooling for AI coding assistants
cherry 0.5.33 - Experimental ClojureScript to ES6 module compiler
clojure-lsp 2025.11.28-12.47.43 - Clojure & ClojureScript Language Server (LSP) implementation
makina 0.7.32 - Clojure System/component lifecycle management
sn0wt3ch 1.0.2 - A repo that contains all the information regarding technology at Sn0wf1eld, Lda and how to use it
legba 1.0.0-alpha133 - Clojure library for building OpenAPI services
appia 1.0.0-alpha8 - Simple router library for clojure
fireworks 0.16.1 - Fireworks is a themeable tapping library for Clojure, ClojureScript, and Babashka.
spandex 1.0.315 - Elasticsearch client for Clojure (built on new ES 9.x java client)
eca 0.85.1 - Editor Code Assistant (ECA) - AI pair programming capabilities agnostic of editor
markdown 0.7.222 - A cross-platform Clojure/Script parser for Markdown
xtdb 2.1.0 - An immutable SQL database for application development, time-travel reporting and data compliance. Developed by @juxt
color-tools 1.1.0 - A complete toolkit for working with colors in Clojure and Clojurescript applications
monkeyci 0.21.3 - Next-generation CI/CD tool that uses the full power of Clojure!
guardrails 1.2.14 - Efficient, hassle-free function call validation with a concise inline syntax for clojure.spec and Malli
fulcro-spec 3.2.0 - A library that wraps clojure.test for a better BDD testing experience.
konserve 0.8.324 - A clojuresque key-value/document store protocol with core.async.