Projects
Currently Funded Projects
Long-term (USD 1.5k/month)
Bozhidar Batsov
Michiel Borkent
Dragan Djuric
Thomas Heller
David Nolen
Nikita Prokopov
USD 9k
maria.cloud
a coding environment for beginners
mathbox-cljs
Clojurescript extensions and utilities for Mathbox.
Clojure Data Cookbook
A book about how to do common data manipulation, analysis, and visualization tasks in Clojure
ClojureDart
A port of Clojure that compiles to Dart
clj-kondo, babashka, SCI, nbb, scittle and related
Clj-kondo is a static analyzer and linter for Clojure code that sparks joy
kaocha and related
Full featured next gen Clojure test runner
USD 2k
portal
A clojure tool to navigate through your data.
Exo (unreleased)
ClojureScript library for fetching and caching data using EQL
cljfx
Declarative, functional and extensible wrapper of JavaFX inspired by better parts of react and re-frame
Biff
A Clojure web framework for solo developers.
Clojupedia
Community knowledge graph of the Clojure ecosystem
Previously Funded Projects
Q1 2022
Practicalli
A collection of open books, workshops and tutorials on software development for Clojure.
Clojure-LSP
Clojure & ClojureScript Language Server (LSP) implementation.
Deep Diamond
A fast Clojure Tensor & Deep Learning library.
Datahike Server
Datahike remote system.
Tablecloth
Dataset manipulation library built on the top of tech.ml.dataset.
Clj-kondo, babashka, and other related projects
A linter for Clojure code that sparks joy.
Conjure
Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile).
Reveal
Reveal is a Clojure-oriented data inspection toolbox that aims to remove the barrier between you and objects in your VM.
Overtone Playground
Overtone Playground is a library that opens the door for learning and exploring music with Clojure and Overtone.
Biff
A simple and easy web framework for Clojure.
Orchard
A fertile ground for Clojure tooling.
Typed Clojure
An optional type system for Clojure.
Q3 2021
Shadow CLJS
ClojureScript compilation made easy
clojure-lsp
Clojure & ClojureScript Language Server (LSP) implementation
Malli
Data-Driven Schemas for Clojure/Script.
Clojurians-log-v2
Capturing, conserving, and making this discourse of Clojurians slack community complete, easily accessible, and searchable.
PCP
Clojure Processor – A Clojure replacement for PHP
Holy Lambda
The extraordinary simple, performant, and extensible custom AWS Lambda runtime for Clojure.
Dependabot Core
The core logic behind Dependabot’s update PR creation.
Typed Clojure
An optional type system for Clojure
Polylith
A tool used to develop Polylith based architectures in Clojure.
Q4 2020
O’Doyle Rules
Clojure needs another good rules engine. Clara is great but the lack of ability to update facts makes it difficult to use outside of “pure” logic problems. O’Doyle implements the same RETE algorithm but makes it more useful for general purpose “messy” use cases like managing the state of a frontend app or a game.
clj-kondo/babashka/sci
Clj-kondo is a Clojure linter that is used by a wide variety of individual users and companies.
Babashka is a scripting environment that can execute a significant subset of JVM Clojure programs with instant startup. It is used by individual users and companies. It is currently my project with the most stars on Github.
Sci is the Clojure interpreter powering babashka and several other projects.
ClojisR
The purpose of this project is to take an active part in improving Clojure’s data science stack, especially in aspects of usability, user-facing features, and documentation.
A large part of that effort is happening in the Scicloj community with which this project is associated.
The work that we’ll be doing with this funding will enable us to get closer to our goal of making Clojure a beginner-friendly solution for data science, thereby allowing us to expose the Clojure ecosystem to a different culture and to more diverse groups of users/programmers - starting with new developers and data scientists studying R as their main language.
Calva
We’ve seen that Calva helps new Clojurists get up and running with Clojure without having to worry so much about tooling. Perhaps more importantly, VS Code has become such a major platform for developers and it’s important to have Clojure(Script) support in the developers' editor of choice.
Q3 2020
clj-kondo/babashka/sci
Clj-kondo is a Clojure linter that is used by a wide variety of individual users and companies.
Babashka is a scripting environment that can execute a significant subset of JVM Clojure programs with instant startup. It is used by individual users and companies. It is currently my project with the most stars on Github.
Sci is the Clojure interpreter powering babashka and several other projects:
- Bootleg: An HTML templating CLI
- Clj-kondo: Clojure linter
- Chlorine: Atom editor plugin for Clojure
- Malli: Plain data Schemas for Clojure/Script
- Spire: Pragmatic provisioning using Clojure.
Datahike
Within the Clojure Datalog database world Datahike provides a persistent open source solution for medium-sized projects with a relatively small and extensible code base. It supports a variety of persistent storages like JDBC or Redis. Additionally Datahike supports parts of the well-known Datomic API to better adapt to its functionality.
By adding ClojureScript support in the future, Datahike goes beyond the backend market with a vision of a distributed cross-platform system environment that speaks Datalog everywhere. With two commercial projects in progress, Datahike becomes more battle-tested in production environments.
Malli
Clojure is a data-oriented language and we should have a solid fully data-driven schema library too! Besides validation and value transformations, we should be able transform, persist, generate and infer schemas just like normal data. Malli tries to be develop-friedly library to companion to other data-driven libs like EQL, Bidi, HoneySQL, Hiccup, Integrant, Reagent and Reitit.
Malli has an open development model, design decions are discussed in slack (#malli) and in GitHub issues. Not a top goal, but eventually, Malli should be spec-compatible.
Practicalli
Practicalli helps the community to grow by providing quality content for people to learn, share and help others more readily discover the joy of Clojure.
Q2 2020
re-frame
re-frame is one of the most widely used ClojureScript projects with 4.3k stars on GitHub and 1.1 million downloads on Clojars. This work will do some spring cleaning and TLC for the project, reviewing open issues and PRs. Also, creating an EP, and doing work on related re-frame projects.
Practicalli
High quality and up to date information helps any developer using Clojure find the help they need, whether they are experienced or new to Clojure. Finding the time to teach developers how to work with Clojure is time consuming for developers, so a reliable source of information speeds up on-boarding and skilling-up of developers.
CIDER/nREPL/Orchard
CIDER’s the most popular IDE in the Clojure community, and nREPL and CIDER’s Orchard are at the heart of most other tools that exist out there.
Figwheel
lein-figwheel has 1.1 million downloads on clojars and figwheel-main has 100k downloads. They are widely used and influential in the ClojureScript and wider programming communities.
Q1 2020
Ring
Ring is the most commonly used HTTP abstraction layer for Clojure. Clojurists Together funded James Reeves, Ring’s maintainer to build out a draft spec and experimental alpha for Ring 2.0. This will add better support for asynchronous HTTP connections, and pave the way to support HTTP/2 and HTTP/3 in future. As a secondary objective, he is also working on removing the provided dependency on Java servlets from Ring core
Reagent
Based on Clojars downloads Reagent is the most used ClojureScript React wrapper. Reagent is also one of the most popular ClojureScript projects on GitHub with 3.7k stars. Juho Tepieri is a maintainer of Reagent and will be working on supporting React Hooks, and a configurable Reagent Hiccup compiler.
Calva
Calva is a Clojure IDE plugin for VS Code. Calva helps new Clojurists get up and running with Clojure without having to worry so much about tooling. VS Code has become a major platform for developers and its important to have Clojure(Script) support in the developers' editor of choice. We funded Brandon Ringe, a Calva maintainer to work on supporting large data sets and Clojure debugging support.
fireplace.vim
Tim Pope is the maintainer of Fireplace.vim, a Clojure plugin for Vim. In the most recent Clojure survey it was used by 10% of respondents. We funded Tim to work on: Leveraging Vim’s recently added asynchronous APIs for user facing features, providing better automatic configuration for projects, notably Shadow CLJS, and working on outstanding feature requests.
Q4 2019
Expound
Expound is a widely used tool for helping developers more quickly understand spec error messages. Expound is maintained by Ben Brinckerhoff.
Deep Diamond
Deep Diamond is a lean, high performance, infrastructure for working with tensors in Clojure, with an emphasis on Deep Learning. Dragan Djuric is the maintainer of Deep Diamond.
Oz
While ClojureScript offers a first class front-end development experience, data visualization specifically has long been an under-served need in both Clojure & ClojureScript. Oz gives ClojureScript developers the ability to leverage Vega-Lite and Vega, with their Clojuresque data-driven/declarative design, and close this gap. Oz is maintained by Chistopher Small.
Q3 2019
CIDER
CIDER is a very popular programming environment and its infrastructure (nREPL, cider-nrepl, piggieback and orchard) powers many of the other tools out there (e.g. vim-fireplace, vim-iced, calva, etc). Improvements to CIDER and its foundational pieces generally benefits most of the Clojure community. It is maintained by Bozhidar Batsov.
Meander
Meander provides a uniquely transparent way of performing data manipulation that aims to be declarative, performant, and safe. These properties are important because they enable Clojure developers to write correct data manipulation code using a common language which encourages collaboration and thoughtful design without sacrificing dynamism. And because Meander has been designed with both transparency and accuracy in mind, Clojure code written with it can be an asset to a development team and, thus, a business. It is maintained by Joel Holdbrooks.
Calva
VS Code is the editor of choice for many developers and having good Clojure and ClojureScript support on the platform helps newcomers find the joy of Clojure faster. VS Code also is easier to use than many other development environments, and by leveraging this, Calva can make Clojure more accessible generally. It is maintained by Peter Strömberg.
Q2 2019
fireplace.vim
Fireplace is a vim plugin for Clojure. It adds REPL integration and was used by 10% of Clojure developers in the most recent Clojure survey. It is the most popular Clojure REPL integration for vim. Tim Pope is going to work on cleaning up the issue tracker, implementing support for Vim 8 and Neovim job support, looking at ClojureScript improvements, and various other fixes and improvements to fireplace.vim and sibling projects like salve.vim
Q1 2019
Neanderthal
Neanderthal is a fast native-speed matrix and linear algebra library written in Clojure. Matrices and linear algebra are the infrastructure for high performance scientific software, including machine learning. Dragan Djuric is going to be working on adding higher-level tutorials that give people the bigger picture and shows them good practices.
Aleph
Aleph is one the best options for creating high-performance communication systems in Clojure, including but not limited to HTTP & websocket clients & servers. It is based on Netty, a high performance network application framework.
Development of Aleph also has an impact on the entire server-side libraries ecosystem, including direct influence by backporting bug fixes to such projects like clj-http (Clojure), Netty (Java) and potentially Ring (Clojure); and indirect influence by pushing boundaries and expending interest in the field.