Jacob O'Bryant
Home · Archive
The Solo Hacker's Guide To Clojure
4 February 2020

Update: Working on this course unexpectedly led me to create Biff, a web framework and deployment solution for Clojure. Instead of continuing these articles, I've been developing and promoting Biff. Check it out!

This is the starting point for a series of articles I'm currently writing. My target audience is people who want to use Clojure for side projects or new startups—i.e. I'm trying to help fellow solo hackers learn to bring new ideas to the MVP stage quickly. This involves different tradeoffs from learning Clojure with the intent to join an established team.

Syllabus

This will also be an opinionated guide which teaches how I personally do web development. Rather than give an overview of X, Y and Z, I'll say "use X" and include a footnote that compares X to other options. I want you to feel the leverage that can come from Clojure as soon as possible, without having to wade through the jungle first.

This guide is breadth-first. There are many components in the Clojure ecosystem, and my goal is to show you how to put them together, not necessarily to teach you how the individual components work (there's usually already good documentation for that). I'll sometimes give links to relevant resources, but I'd also advise you to search out other resources on your own as you have questions. At least you'll have an idea of which questions to ask. :slightly_smiling_face:

Along with this guide, I'll be developing a web application called Mystery Cows, a cow-themed version of the board game Clue. Most articles will have you follow this pattern:

(In fact, I'm hoping that the example code I write is more useful than the articles themselves.)

So you'll need to pick a web app to build yourself. If you need ideas, I think board games are great since they're easy to think of, they're interesting/they involve complex logic (not just CRUD), it's easy to be a genuine user yourself, you end up with something that's easy to show off, and you can go on to extend them with an AI if you like.

Feedback

As I write, I'll need feedback from people learning Clojure so I can prioritize what to revise. I also appreciate suggestions from experienced Clojurists. I've created #solo-hackers-guide on Clojurians Slack for this purpose. Email is good too.

Changelog

You can subscribe for notifications.

The course

1. Language fundamentals
2. Frontend development

TODO write articles & examples for the following:

3. Backend development

TODO write articles & examples for the following:

4. Miscellanea

TODO write articles & examples for the following:

I don't write this newsletter anymore but am too lazy to disable this signup form. Subscribe over at tfos.co instead.