Could Roam Research be a Clojure 'killer app'?

Mea culpa for the daft title (even if ‘killer app’ was a useful concept, it’d be an anachronism in Clojure’s case), but I do wonder if Roam Research being currently so en vogue (at least in HN/Reddit country) may net some good mindshare for Clojure. One of the founders is frequently very bullish on the language in his twitter feed.


I think Roam’s current hype has to give us some inbound attention. Disclaimer: I’ve spent countless hours in Roam the last weeks.

Using the chance to direct any interested Clojurians / ClojureScripters to Athens. Athens is an Open-Source Roam clone, currently very much alpha. Code is ClojureScript + Shadow-CLJS.


Thanks, I’ll keep an eye on Athens.

As for Roam itself, I’m interested but not fully convinced. It seems to be essentially a wiki, extended with back and block links. But sometimes a seemingly minor refinement can become the difference-that-makes-a-difference. Time will tell.

Have you used it?

To me, the difference was in how simple it was to edit it. To input information, create new pages, flesh out content. Somehow, it feels like I’m getting the ease of writing markdown, with global link refactoring and a very solid model for naming things / referring to things.

If I read the dev team right, it’s only a matter of time until we get a plugin system. And since they are already running Clojurescript … let’s say I’m excited to see what’s going to happen.

1 Like

I have used it - though I’m reluctant to invest much time in it given the announced pricing (which make it very expensive at my local exchange rates). Still, I’m continuing to do a few things there just out of interest. I’m somewhat sceptical. My guess is it will tend to lead to yet more enthusiastically worked on, and rarely read, messes (Roams own unreadable help instance for example!). Hype and intrinsic merit are unrelated, and only time will tell for Roam on the latter.

Plugins could be interesting, agreed, especially if they could be written in Clojure.

1 Like

I love the fact that it’s only been a few days since I first saw this project announced by some dude who said he only just started using Clojure. Now it apparently already has several other active co-contributors and 250+ stars on github. Pretty magical open source moment.


That struck me too. I’ve been “learning” (fiddling around with) Clojure now for a few weeks, but it wouldn’t for a moment have occurred to me to publicly launch something remotely as ambitious.

1 Like

You would store your outboard brain on someone else’s servers? :scream:

Yeah :frowning:

I do have a hierarchy of org-mode files, but Roam’s bidirectional linking & concept reference refactoring features are just brilliant. I’m effective using Roam where I wouldn’t be effective using Org-mode.

How do you work with your outboard brain?

Someone told me about Org-roam. Did not try it, and I also did not try Roam. Just thought I’d mention it.

Yeah, apparently that’s org-mode backed by an SQLite database + some emacs lisp magic. Haven’t looked into it myself either.

I have my own stuff. Every once in awhile I think about packaging it up for public consumption, but it’d be a bit of bother. You might want to check out org-roam!

1 Like

The same here. So I ended up with tiddlyroam which is an offline alternative


Well the founder, Conor, has been thinking about a knowledge tool at least since I meet him at the Clojure/Conj in 2016. There is something to be said for careful thought and execution, which I believe Roam exhibits.

Indeed. But bi-directional links give you is a chance to delay decisions. My knowledge base is basically hierarchical markdown, categorical files, and grep. Knowledge is then synthesized through a tagging system on my blog. It’s pretty effective, but I’m tied to decisions I made a couple years ago. Bi-directional links are top-level categories that can surface interconnections between other top-level categories. That’s pretty powerful to me.

Roam lets me delay big time structural decisions (sound familiar, REPL fans?).

The ultimate goal of Roam is building a collaborative knowledge tool. There may be many different entry points to a policy - an expert on immunization, an expert on information dissemination, an expert on contact tracing - that are pulling from many overlapping sources. An auditor or a journalist could conceivably explore or share parts of the knowledge graph that drove the decision-making.

These are all nice ideas, but it will be difficult to produce a coherent product. The last time I attempted to use another person’s solution was over 10 years ago with DevonThink. It really didn’t offer much at the end of the day. And certainly very little for teams.


Yep, I don’t disagree with any of that. My scepticism isn’t dismissal - more empirical caution. The odds against such a platform being as transformative as founders might wish (with whatever combination of decent & ignoble motives they happen to have) are vast.

The backlinks, implicit links, and block-level links, are all good ideas in themselves. Implementing them and others with polish and careful ergonomics will be an achievement in itself, but what they will result in will depend on a host of factors as much cognitive and sociological as technical.

To be honest, I don’t even particularly like the idea of a single commercial platform being transformational. I’d rather that came from publicly agreed on protocols which businesses are then free to build and network on (think email, hypertext).

Anyway we’ve strayed a long way from my original point, which was agnostic on Roam itself. I think most non-Clojure developers like myself would be hard-pressed to conjure up from memory a significant application built with Clojure (is CircleCI one?). Roam may change that.


My first thought was CircleCI. As far as I know it is built with Clojure and Clojurescript, as well as some other languages (go for ops, probably).

I think Gomore has built at least part of their back-end services in Clojure. That might not mean much to the rest of the world, but Gomore is pretty well known in Denmark.

Agreed. Right now we’re seeing a ‘rising tide’ effect. Lots of work on libre Roam alternatives (as already listed here).

In that spirit, I’ve always had mixed feeling about using Oracle’s JVM as a basis for a language. Part of what makes Clojure appealing for me is the success on other platforms. Projects like Reagent (Clojure in JavaScript) and Arcadia (Clojure in CLR) keep Clojure’s concepts implementation-independent.

Something similiar might be the best-case scenario for Roam.

Yes - back to the original point. “Killer app” may be important, but what do you think about “killer domain”? Ruby web framework, Python ML, etc…

Certainly would be nice if Clojure was the foundation for collaborative, immutable knowledge tools (Roam, Nextjournal, Arc Studio Pro).

1 Like

I think this search for the mysterious “killer app” is a waste of time. I know plenty of cool projects that use CLJ(S) and have fun while doing so. Many you’ll never hear about because they are tiny hobby projects. Many you’ll never hear about because companies usually have more important stuff to do than trying to publicize their tech stack.

I think we as an industry are still figuring all of this out as we go. I’ve been through several “this-is-the-best-thing-ever” phases in my career and I cannot yet tell you if CLJ(S) is the one. Ask me in 20 years. I would have said yes to my previous choices at the time but now I’m wouldn’t want to work with them under any circumstance. Every previous choice taught me something, none of them were a waste of time.

Don’t ever make tech decision based on “Company/Project X uses it”. Make your own choices and learn. You should make up your own mind and not follow other people’s choices.

Just my 2 cents.

PS. I’m delighted to find out that Roam uses shadow-cljs, looks like a nice project.


I think that’s a useful take on the phenomenon - perhaps out of the flurry of interest in Roam, and now org-roam and Athens, will emerge some actually useful software.

Indeed. There is a sort of paradox that the tech world (at least the most visible part of it) appears to get excited about this kind of thing, but then mostly goes on to actually produce yet another trivial & time-wasting email marketing tool with an adverbial domain name.

1 Like

I don’t know that such a search is happening, and I certainly didn’t intend it. The title was tongue in cheek. I was just pointing out that there’s some potential for a current wave of attention on Clojure that the community might be able to use.