The Best Book On

Fri, 24 Sep 2021 20:17:45 GMT

Sometime in April, 2013 I registered the domain with the singular mission of harnessing human collective action to determine the best nonfiction textbooks on different academic topics. I was also hoping the community would also help shape how such a useful subjective objective may be evolved.

The idea was motivated by a variety of sources:

  1. First and foremost, lukeprog's 2011 paper "The Best Textbooks on Every Subject":

  2. Luis von Ahn's lab & GWAP (games with a purpose)

  3. Santiago Ortiz's Ross Learning Spiral

  4. Vannevar Bush's As We May Think

  5. Metacademy's graph-based Knowledge Package Manager:

  6. All of the names like Andy Matuschak, Bret Victor, Alan Kay, Danny Hillis et al in this tweet:

The mission of collaborating to discovering and improve the world's best resources is near and dear to my heart and something I've spent some time thinking about:

The Idea

As stated in and, book reviews can be pretty messy, off topic (such as a review reflecting amazon shipping instead of the book content), difficult to normalize and compare, can cater to trendy books, and may be gamed by publishers/readers.

> We’ve all heard the advice, don’t judge a book by its cover. But then how should we go about identifying books which are good for us?

Within [1] lukeprog's essay, "The Best Textbooks on Every Subject", they propose an interesting idea that high quality book recommendations may be possible by requiring a reader to recommend a book in comparison to at least one other book. This ensures, from a mathematical analogy, that we're talking about two points (a line and the derivative between them) rather than a single uncontextualized point in space.

The second insight was that this process could be formalized as a sports / competition bracket which anyone in the community could participate in. In this way, hopefully results would become more relevant and accurate over time. This mechanism doesn't prevent gaming, but for that and other implementation details, we look towards Luis von Ahn's games with a purpose. Of course, this project still has unsolved / unaddressed elements.

Ultimately, the goal is to build a graph database where each record is a user contributed vote that, on a given subject, one non-fiction book is better than another.

We hope to extend this idea so that readers can not only battle books, but can also start to surface which books may depend on other books.


Book `battles` (i.e. a submission from a reader that one book is better than another for a given subject) and `dependencies` (e.g. one book is a prerequisite for or dependent on another book) are both `types` of graph relationships .

This is an old but novel semantic graph idea we're adapting to improve the usefulness of books. If is a big graph database, then `battles` and `dependencies` may be thought of as `typed` edges (which may be arbitrarily extended to other "types" of relationships in the future).

The database schema essentially looks like:

| user_id | subject_id | edge_type | book1 | book2 | notes | 

It's a lot like Aaron Swartz's infogami system called infobase which is an RDF-type db used under the hood for OpenLibrary.


How it Works

From an experience perspective, when a patron navigates to, they will see a list of top level academic subjects (like maths, biology, physics, chemistry). The patron can select one of these subjects or use search.

When a subject is selected, the system looks in the database for all books related to this subject. It does counting to see how often the different books mentioned in the database win their book battles, and a ranked list of books is presented to the reader. These scores are calculated on the fly or cached.

For each book in the ranked list, you can also see a breakdown of how this book performed in battles against other books in the list. For instance, the book in 1st place may show that it actually lost 10% of the time to the 2nd book in the list.

A reader can challenge or contest the best book results for a subject by clicking a "contest" or "challenge" button. By contesting the list, the reader is essentially saying they've read the best book on this subject as well as another book that they believe is superior to it. If the reader really wishes, they can choose which of the books in the are being compared, such that someone could challenge the 2nd place book, not just the 1st place book (but we assume, even though this is cool, this likely won't be the most frequent case).

A patron may also add a new subject into the system by creating a "contest" between two books they've read on that subject.

Our hope is that over time, the subjects (labels) will also turn into a dependency graph which has some knowledge of the conceptual/topical difficulty of the subject matter. For instance, Biology may be a more general book than Cell Biology, and thus the Biology subject tag would have a directed edge to Cellular Biology and a searcher will be able to adjust the granularity or specificity of their search results as one might expect with e.g. a slide bar. 

History & Timeline

In 2015, the first thing I put on "paper" was a search box with the example, "Learning Chinese"

The next version in 2016 had sparse notes about how one would evaluate the best non-fiction book on a subject.

On 2016-10-29 I authored an essay called, "On Books" about the promising future of books as native first-class citizens of the web:

In 2018 my community house hosted a symposium dinner called, "Overwhelmed Readers Anonymous" ( where we brainstormed how people could work together to save people time on the process and the outcome of surfacing great books on every topic. 

The premise was:

> We can only read so many books in our lifetime. There are way too many books to choose from. It's difficult to find trustworthy, high quality book recommendations. How do you make sure you pick the right ones? What strategies do you choose? Who do you listen to? How can we help each other? Do you have a favorite (meta) book or essay on how to read or what books to choose?

Since 2020, we've been hosting weekly Friday community calls to slowly develop the idea of

In 2020, a core group of volunteers formed a working group to develop a MVP.

In August 2020, I spoke at Joe Edelman's Social Design Club and got feedback on some of the things we were doing on We also brainstormed about a similar idea: creating a curriculum graph of book dependencies. I registered the domain for experimentation on this topic.

In August 2021, we launched a slew of updates around the Book Genome Project and the Community Reviews feature, both which are complementary infrastructure to You can read the blog post here:

Tags: Andy Matuschak, Alan Kay, games with a purpose, Danny Hillis, Aaron Swartz, Book Genome Project, Luis von Ahn, 2016-10-29, infogami, infobase, Joe Edelman, Social Design Club, Santiago Ortiz, Metacademy, Bret Victor, GWAP, As We May Think, OpenLibrary,, lukeprog, Vannevar Bush