Now what do I read? A web app for blazing fast book recommendations.
Tags: books, go, webapp
Published: 2019-09-04 13:16:41

---
title: Now what do I read? A web app for blazing fast book recommendations.
published: true
description: The story behind a web app I built for giving awesome book recommendations.
tags: books, golang, web app
---

<p><small>
<em><a href="https://nowwhatdoiread.com/blog">(x-post from nowwhatdoiread.com)</a></em>
</small></p>

![Cat on books](https://nowwhatdoiread.com/static/catonbooks.png)

<p>What book are you reading <em>right now</em>? Do you <em>enjoy</em> it?</p>

<p>If you answer &ldquo;<em>yes</em>&rdquo; to either of those questions then stop reading this blog and go read your book!</p>

<p>If you answer &ldquo;<em>no</em>&rdquo; to either of those questions then its <em>time</em>. Its time to get a new book to read.</p>

<p>&ldquo;But,&rdquo; you profess, &ldquo;there is nothing to read.&rdquo; I believe you. I believe because you&rsquo;ve asked your friends, you&rsquo;ve searched Amazon.com, you&rsquo;ve checked Goodreads.com, you&rsquo;ve browsed the library shelves, the Barnes &amp; Noble shelves, and no single book has caught your attention. And, now, you&rsquo;ve rightfully concluded that there is <em>nothing to read</em>.</p>

<p>Don&rsquo;t give up the search, yet. There <em>is</em> a book out there just for you - a book that is so <em>good</em> that you won&rsquo;t put it down even when it&rsquo;s 11:30 pm and you have to wake up at 5 am for work.</p>

<p>How do I know there is a book out there for you? I know because I&rsquo;ve been in the same situation. I&rsquo;ve searched, and gotten tired of searching and gave up. But then I found a better way to search. This better search led me to a book out there, written just for me. This way to find books has worked not just once or twice but <em>every time</em>. Now, I&rsquo;m able to find an amazing book anytime I have the question: <strong>&ldquo;now, what do I read?&rdquo;</strong></p>

<h2 id="a-new-way-to-search-for-books">A new way to search for books</h2>

<p>How do I find my next books to read? I do this the same way everyone does in 2019: using a <em>web app</em>.</p>

<p>A web app is just a fancy name for a computer program that is accessible on the internet. A web app&rsquo;s computer program can hold information about millions of books inside its circuit brain. It can use its gigahertz processor to find the most relevant book suggestions and use the internet to display them on a website. Unlike your friends and friendly librarian, a web app can take any request, at any time, and give you an unbiased book suggestion in milliseconds.</p>

<p>I made such a web app with my computer. And, since my computer is not owned by Amazon / Barne&rsquo;s and Noble / Powells or other online booksellers, it won&rsquo;t try to manipulate you because it wants you to buy something.<sup class="footnote-ref" id="fnref:2"><a href="#fn:2">1</a></sup></p>

<p>Note: My web app <em>does</em> use Amazon Affiliate links which sends me money for link clicks. This money pays for hosting ($12/year) after which I direct all profits from to supporting the actual Amazon via the <a href="https://www.amazonconservation.org/">Amazon Conservation Association</a>.</p>

<p>My web app is further optimized to only show the best books with similar traits and exclude books that are sequels or multiple books from the same author.<sup class="footnote-ref" id="fnref:1"><a href="#fn:1">2</a></sup></p>

<p>The web app written in Golang. The key to its speed is utilizing <a href="https://github.com/dgraph-io/badger">the Badger keystore</a> and precomputing all the similarities for a million books. Fuzzy searching is provided using the amazingly fast <a href="https://github.com/junegunn/fzf">junegunn/fzf</a> library. Images are inlined with base64 to make all the assets bundled and its minified with <a href="https://github.com/tdewolff/minify">tdewolff/minify</a> to get that extra boost in speed. Also, there is no Javascript so the server does the heavy lifting making the rendering appear instant.</p>

<p>The web app is called <a href="https://nowwhatdoiread.com" target="_blank"><code>nowwhatdoiread.com</code></a>. Go ahead, try it.</p>

<h2 id="an-example-of-using-a-href-https-nowwhatdoiread-com-target-blank-em-nowwhatdoiread-com-em-a">An example of using <a href="https://nowwhatdoiread.com" target="_blank"><em>nowwhatdoiread.com</em></a></h2>

<p>Here&rsquo;s an example from my life. For some reason, I read <a href="ttps://nowwhatdoiread.com/book/2511219665"><em>Boy&rsquo;s Life</em> by Robert McCammon</a>. I thought it was a biography but it turned out to have magic and horror. I don&rsquo;t normally read horror but I loved this book. I thought that there wouldn&rsquo;t be many books like this.</p>

<p>I used <a href="https://nowwhatdoiread.com" target="_blank"><code>nowwhatdoiread.com</code></a> and entered &ldquo;<em>Boy&rsquo;s Life</em>&rdquo; and found <a href="https://nowwhatdoiread.com/book/471747102-weaveworld-by-clive-barker?q=weaveworld"><em>Weaveworld</em> by Clive Barker</a>. This book blew me away and I liked it more than <em>Boy&rsquo;s Life.</em> But, after finishing <em>Weaveworld</em> I was again dismayed. It was so good and unique I thought I wouldn&rsquo;t find anything close to it again. But then, I asked the web app for books similar to <em>Weaveworld</em> and found <a href="https://nowwhatdoiread.com/book/2364775265-the-library-at-mount-char-by-scott-hawkins"><em>The Library at Mount Char</em> by Scott Hawkins</a>. This book was even better!</p>

<p>I still find great and relevant book suggestions using <a href="https://nowwhatdoiread.com" target="_blank"><code>nowwhatdoiread.com</code></a>. The last book I put in <em>The Library at Mount Char</em> and now I&rsquo;m currently reading <a href="https://nowwhatdoiread.com/book/3143870535-kraken-by-china-mieville"><em>Kraken</em> by China Miéville</a>, which I&rsquo;m enjoying.</p>

<p>This example led me down a particular set of genres, but I&rsquo;ve found the genre doesn&rsquo;t matter and I&rsquo;ve gotten good recommendations for all other sorts of books. I&rsquo;ve found book suggestions for all genres, as there as the web app doesn&rsquo;t have any bias towards a particular genre.</p>

<h2 id="the-cycle-continues">The cycle continues</h2>


<p>Every book I read now gives me more books to read with the help of this web app, <a href="https://nowwhatdoiread.com" target="_blank"><code>nowwhatdoiread.com</code></a>. Though I made it mostly for myself, I&rsquo;m opening it up to the world so that you can find a book and support a charity at the same time.</p>

<p>Maybe it will work for you. Maybe it won&rsquo;t.</p>

<p>In any case, I hope that instead of asking <em>&ldquo;now, what do I read?&rdquo;</em> you can just say <em>&ldquo;now, I read.&rdquo;</em></p>
<div class="footnotes">

<p><img src="https://nowwhatdoiread.com/static/cat.png" style="max-width:100px; float:right;"></p>