Master RESTFUL API Development with Clojure

Learn Reitit
and Clojure

Learn how to build robust REST API with Clojure by composing libraries including Reitit, Ring, Integrant, and next.jdbc.


A better way to learn.

Starting to learn Clojure can be pretty tough. Stop struggling when searching for great resources, save time, money, and learn best practices.

Learn by doing

This course is hands-on. We build the thing and then we ship the thing. By the end of the course we'll have fully working, deployed, and secure API Service in Clojure.


The focus is on thematic units that are introduced gradually. You will never feel lost and you will always know how the things connect.


Understand how to build a web service , how to combine libraries into a cohesive unit. Comprehend in and outs and grasp how the things work together.

What are we building?

We are building Cheffy backend; AirBnB for Chefs—the frontend is build with re-frame. The service exposes Recipes, Conversations, and Accounts, everything documented with Swagger.

  • Recipes

    This allows us to CRUD recipes. Additionally recipes have steps and ingredients, which we'll also CRUD.

  • Conversations

    Conversations endpoints allows us to retrieve user conversations, list messages, and create a message.

  • Accounts

    Accounts endpoing will be handled via Auth0. We'll talk to Auth0 to store roles and obtain user information.

Browser with Swagger

What are we using?

Our REST API service exposes multiple endpoints with JWT for Auth—backed by Auth0. Serving JSON, Transit (msgpack, json), or EDN from PostgreSQL, and is hosted on Heroku.

  • Libraries

    If you spend a few minutes with a Clojurist you will know that we prefer to compose libraries, instead of relying on frameworks.

  • Services

    Modern application development relies on services instead of trying to reinvent the wheel. We'll use Auth0 for Authentication and Heroku for hosting and PostgreSQL.

Learn Clojure and Reitit.

Follow these three easy steps.

Signup for the course

Code along the videos

Build API with Clojure


Simple no-tricks pricing.

Early access = lower price.

Early Access

Early access is for everyone who wants to get the videos on a bi-weekly basis and don't want to wait until the full course is released. During early access some videos might be re-recorded based on the feedback.

What's included

  • Bi-weekly video; starting 21 Sep 2020

  • Provide feedback on the videos

  • Lower price (instead of 229€)

  • Access before the course is published

Pay once, own it forever

229 159 EUR
Get full access to all courses including Reagent, Re-frame, and Reitit. This includes +13h of HD video, plus early access to the Reitit course.
557 359 EUR
Get Bundle

Idiomatic Clojure

Approved by experts.

The code has been reviewed by these Clojure experts.
Following this course you will learn idiomatic Clojure.

Tommi Reiman Avatar
Tommi Reiman

Programmer, clojurist and has-been it-architect. Creator of Reitit. Co-founder at @metosin.

James Reeves Avatar
James Reeves

Creator of Ring, Compojure, Hiccup, Integrant ... the list goes on and on. In general well rounded gent from the UK.

Sean Corfield Avatar
Sean Corfield

Veteran software architect, focusing on web / JVM / Clojure. Maintainer of clojure.jdbc and creator of next.jdbc.

Thomas Heller Avatar
Thomas Heller

Creator of shadow-cljs and other not so well documented libraries. Master of rants on ClojureVerse.

Ready to dive in?
Start learning now.

Frequently asked questions

What will I learn?

The focus is on Clojure and Reitit. During the course we will build RESTful API endpoints that serve JSON, Transit (msgpack, json), or EDN. Everything built with idiomatic Clojure code.

What is the frontend?

This course is purely about backend, if you are looking for frontend check — build with ClojureScript and Re-frame.

Is this course right for my skill level?

No prior backend experience with Clojure expected. We'll cover everything in the course from setup to deployment. That said, you should, at least undersand how internet works—request and response.

How long do I have access to the course?

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.

What if I am unsatisfied with the course?

If after watching a couple of first videos you are unsatisfied, get in touch—we we'll provide a full refund.

How long is the course?

Don't know at this point. After all the videos are recorded we will update this section.

Can I buy this as a subscription?

Not during early access. Later on—yes, and it's better than a regular subscription. We have an option to spread the payments over multiple months and it will cancel automatically when you pay the whole amount. No more "forgotten" subscriptions on your credit card.

Does this course support Open Source?

Yes! By buying this course you are supporting Open Source Projects. 10% of profits will be transferred to Clojurists Together to fund critical Clojure and ClojureScript open source projects. Additionally to that, we also support independent software developers working on Clojure projects.

Is it best practice?

Yes! The content of the course has been reviewed and approved by experts: Tommi Reiman (GitHub | Twitter), Thomas Heller (GitHub | Twitter), James Reeves (GitHub | Twitter), and Sean Corfield (GitHub | Twitter)

Who created this course?

Jacek Schae (GitHub | Twitter) is a software developer based in Switzerland. Host of ClojureScript Podcast. Main irritation point for Thomas Heller.


Since we started with video courses we have been supporting CT (Clojurists Together) and independent CD (Clojure Developers). Additionally we are creating ClojureScript Podcast for everyone. This are our stats so far:


transfered to CT


transfered CD


plays of CLJS Podcast

Who am I?

Hello, I'm Jacek (GitHub | Twitter) software developer based in Switzerland.

Author of Learn Reagent and Learn Re-frame. Host of ClojureScript Podcast.

© 2020 Muneo GmbH © All rights reserved.