Athens Research (YC W21) – Open-Source Roam Research

Hi Hacker News! My name is Jeff Tang and I'm the founder of Athens Research. Athens is an open-source and local-first alternative to Roam Research. Roam Research is a notetaking application, and what they really got right was the "bidirectional link."

The problem with notetaking is that we don’t look back at 99% of our notes. Organization systems like PARA, BASB, and GTD can extend the shelf-life of information, but they’re mechanical and tedious to maintain. On the other hand, without a system, we just hope that search will one day have the answers. What comes after search, tags, and folders?

With bidirectional links, you never have to worry about where you write a note. Bidirectional links allow you to connect any two notes together, creating a knowledge graph. Structure emerges organically, bottom-up. This way of joining any arbitrary entities together is a paradigm shift (sorry to be cliché). The graph-based approach subverts the tree-based hierarchy most notetaking apps (and most applications/OSes/computer systems) have used until now. This is fundamental because hyperlinks are primitives, used by every single internet user. Just imagine using computers and phones without links! This is why Athens is about more than just notetaking. I believe networked applications with bidirectional links and data could become a new category itself.

Of course, this bidirectional idea isn't new. In fact, it goes as far back as the origin of the Web. It's the original concept of hypertext and Xanadu, which Ted Nelson has been advocating for decades. More recently, aspects of it were attempted by the Semantic Web. Yet the adoption never really caught on, until perhaps now.

Something else that's interesting about the most powerful networked tools like Roam and Athens is that you can't really make these apps with JavaScript or plaintext/markdown. For maximum power, you want a true graph database. Both Roam and Athens leverage a front-end graph database called DataScript, which is written in Clojure(Script). JavaScript doesn't have a native analog, and Neo4j is only server-side. This matters because I believe this is the first consumer use case for graph databases. I believe both Roam and Athens are general-purpose platforms where individuals and organizations can centralize all of their knowledge and tasks. I believe the graph is the right data structure to do this with.

More broadly, I believe networked applications beyond just notetaking can emerge. These networked applications can develop unique interactions and patterns in-app. They will even be able to share data between one another—Datascript has a native interface for querying multiple databases at once—unlocking new ways for users to synthesize, analyze, and transform their data at scale.

I started working on Athens in March of 2020 after interviewing at Roam Research. At the time, I was certain Roam was going to change the world with their vision of networked thought. Pre-Roam, I was a power user of Notion, even giving a Notion productivity workshop to my friends (where I actually mention Roam But it was clear to me that Roam was doing something different from Notion altogether, on the graph. It was clear to me that this was about more than just another productivity app.

Unfortunately, I had a glaring lack of Clojure experience. It didn't seem like I was going to get a call back from Roam, so I saw two options going forward. Option one was to find other applications of graphs and bidirectionality. I saw an opportunity in messaging to develop a "Slack Killer." Chat is another place where information was constantly getting lost in streams and siloed channels. Option two was to develop an open-source version of Roam. I wanted to prove I could learn Clojure fast (and hopefully get a return call from Roam). After prototyping these two options for about a week, I tweeted them to the #roamcult: People started contributing and a community started forming. Designers, PMs, and even veteran Clojurians began contributing.

Assuming the graph database and bidirectional links are important to the future of computing, then why take an open-source approach? The primary answer is about privacy, longevity, and ownership. Users should have local-first control over their thoughts and their "second brains." Right now, if AWS's servers go down, Notion goes down, which has happened multiple times this year. Roam has notably suffered from downtime and data loss. Local-first and open-source, any version of Athens will always be locally usable, buildable, and modifiable for the rest of time, regardless if Athens the company goes under. User data will first and foremost always be owned by users.

Another reason is that open-source is an effective development process, at least in our case. In less than a year of development, with essentially zero spending, Athens has created a “good enough” alternative to a closed-source product that took 3+ years to make. It’s not because I’m a “10x engineer.” It’s exactly the opposite! Athens was built by dozens of engineers and designers who built and designed things in a way I never could (largely in their free time). We’ve had feedback and input from users from day one, directly in the channels we do work in. Not only do the best ideas rise to the top, they can be directly integrated into the source code, improving the experience of all users.

As for how we will make money, most users, even technical ones who could self-host, don’t want to self-host (but they value that optionality and insurance against lock-in). They want a subscription SaaS, which will make features like backups, integrations, and collaboration much easier. For enterprises that do want to self-host on-premises, we can provide additional support and security features, similar to Mattermost or GitLab. You can sign-up for our SaaS or enterprise packages through our Open Collective:

What are your thoughts? If you’re optimistic and you use Roam, Athens or another networked notetaking app, what are you most excited about for 10-20 years in the future? Or maybe you’re skeptical and you think networked apps and bidirectionality will flame out like Xanadu and the Semantic Web. I'm guessing there will be questions about open-source too, particularly around paying contributors for their work. I'm all ears!

Get Top 5 Posts of the Week

best of all time best of today best of yesterday best of this week best of this month best of last month best of this year best of 2023 best of 2022 yc w24 yc s23 yc w23 yc s22 yc w22 yc s21 yc w21 yc s20 yc w20 yc s19 yc w19 yc s18 yc w18 yc all-time 3d algorithms animation android [ai] artificial-intelligence api augmented-reality big data bitcoin blockchain book bootstrap bot css c chart chess chrome extension cli command line compiler crypto covid-19 cryptography data deep learning elexir ether excel framework game git go html ios iphone java js javascript jobs kubernetes learn linux lisp mac machine-learning most successful neural net nft node optimisation parser performance privacy python raspberry pi react retro review my ruby rust saas scraper security sql tensor flow terminal travel virtual reality visualisation vue windows web3 young talents

andrey azimov by Andrey Azimov