The Clojure Ecosystem



After years of working in the industry we decided to start our own consultancy at the beginning of 2017. When we started off our tag line was "CTO on demand," since we saw a lot of companies were in search of high level technical guidance and could benefit from our experience. We've done some of that work, however we've been surprised (and nearly overwhelmed!) with the demand for Clojure development.

In 2010 we first started working with Clojure. It solved some common mistakes we've seen around scoping, and encouraged people to write software in a way that reduces or removes a whole host of common errors that we've seen haunt larger software projects. Software engineering decisions leading to poor coupling, cohesion, or testability, end up costing companies millions upon millions of dollars every year. A funny thing happens when you naturally avoid common errors by writing idiomatic software, you start to produce features faster. And when you produce features faster, everyone is happier – your decision makers, your developers, and especially, your clients.

It is unlikely that Clojure will ever be as popular as languages such as Java, JavaScript or C, however it is used by some of the most trusted names in the industry for their strategic initiatives. Walmart developed and deployed a realtime processing system in Clojure for every receipt generated in their stores right before the holiday season. The effort took four developers six months and was very successful for the company. If you buy anything from the iTunes store you've used Clojure; it powers a core part of Apple's payment processing pipeline. Amazon, eBay, and Facebook also use Clojure in production. We think that you should too.



ClojureScript, a dialect of Clojure that compiles to JavaScript, was first released in 2011. Since then it's undergone a lot of development, especially around the tooling, and is a viable and fun front end development platform. Most people use frameworks that wrap Facebook's React library, the most popular being Reagent and re-frame. We specialize in development with re-frame and have taken numerous ClojureScript projects to production. We know how to set up the tools for rapid development, and how to structure your business logic code for optimal growth.

Working in ClojureScript is fun. It is very close to working in Clojure, and there are times working on full stack projects that we lose track of whether we are writing code for the front-end or the backend. By not having to switch languages between front and backend development means more time "in the zone", where developers are most effective. When developers are able to work more efficiently, to quickly see the results of their work and to cut through incidental complexity, they are much happier.


React native

At the end of 2016, mobile platforms surpassed desktops as the predominant web browsing platform. We believe that all companies should ensure that their products offer a good mobile experience, and the most efficient way to do that is to make sure that their web application works well on phone and tablet screens. However, sometimes that's not enough and a native application is the best approach. For that we recommend React Native, and ClojureScript works well on that platform. Although it's relatively new there are numerous native applications written with React Native and ClojureScript, and we have consultants ready to go who have implemented mobile-first products with these technologies.