More Open-Source Clojure Systems, Please

More Open-Source Clojure Systems, Please by Paul Ingles and Thomas G. Kristensen.

From the post:

The threshold for learning and using Clojure has never been lower. A few years ago there were but a few books and only a handful of libraries from which to learn. We are now spoilt for choice when it comes to books and libraries, but new Clojure developers still find it difficult to get started with writing real-world applications.

The problem is that the pool of inspiration from which new developers can learn about Clojure is almost solely based on toy examples such as 4Clojure and open-source libraries; there are very few resources available for information on for building “real” applications.

At uSwitch, we’ve recently open-sourced two of the applications we use for running our data infrastructure. They both weigh in at around 400 lines of code, so they are fairly small and should be easy to read and understand. The applications are:

  • Blueshift. An application for monitoring folders in a S3 bucket and automatically load TSV-files into Redshift. For more details into the rationale of Blueshift, see its design document.
  • Bifrost. An application for consuming topics from Kafka (a message-broker system) and archiving them to S3. For more details into the rationale of Bifrost, see its README.

We’ve open-sourced Blueshift and Bifrost because they’re useful and Clojure systems. It is our hope that they will serve as inspiration for developers who are new to Clojure, who and want to see examples of applications running in the wild.

We also hope it serves as inspiration for battle-hardened Clojure developers looking for ideas when writing their next Clojure application.

The rest of this post will go through some of the common Clojure practices that we use here at uSwitch. We’ll give references to namespaces in Blueshift and Bifrost demonstrating these practices. Even if you’re not familiar with S3, Redshift or Kafka, the practices presented are general and context-independent.


A shortage of good open-source code hurts everyone: How Benjamin Franklin Would’ve Learned To Program.

Comments are closed.