While working on a client book project related to advertising, I was reminded how many commercial messages I'm exposed to daily. Several hundred at least. Maybe more than 1,000. And that's after turning off phone notifications, leaving my phone off till noon, and moving over to hey.com for email. My wife and I also watched the Social Dilemma, yet another reminder how, to one way of thinking, we each are the products being sold to advertisers when using various social platforms.

This includes advertising and marketing message about books.

Books matter deeply to me. This confluence of events--thinking about advertising with my client, watching the Social Dilemma, and wanting to invest even more in reading--reminded me to put myself back to into the decision-making process. A part of me cares what others are reading and what book marketers declare I should read, but that shouldn't 100% dictate my reading choices.

A Database for your Reading

Derek Sivers famously uses a database to help him stay in touch with people and his over 200k conversations (mostly through email) he's had in the past few years while hiding out in places like Singapore and New Zealand. That's a lot of conversations.

But what if you don't have the chops to make your own?

Of course, you could use Goodreads, an Excel spreadsheet, a Notion table, wishlists. I've done all that. And of course your e-reader has the actual books on them and your bookshelf in your office or bedroom is a physical database. That will work well enough for most people and should complement the approach I'm about to describe. My eyes scanning my bookshelf creates numerous connections with those already-read and partially-read and yet-to-be-read books, collections, and comics.

But if you want to see how far the rabbit hole goes, follow me.

First, let's see where we're going

Let me start by showing you one benefit you might get so that you might better visualize where you're going.

database, filtered for books I rated 10/10

In the above image, I've filtered the books cluster within my database for those titles I rated a 10/10. But I could have queried my database to find books corresponding to other attributes, like author, type, genre, reading level, and so on. One beauty of your own database is you get to decide what attributes, elements, and dimensions matter to you.

Prerequisites to your Reading Database

A few things you'll want on hand:
- visual studio code
- basic understanding of Mac OSX terminal, or your operating systems command line tools
- willingness to read and follow mongodb directions and documentation
- desire to have more control over what you read
- desire to expand your reading time
- a hope to maybe someday build a personal and perennial reading recommendation engine
- the ability to more easily look up books (on the tip of your tongue) that arise in consciousness during conversations
- save good gift ideas for the right time

Okay, the last 5 aren't technical prerequisites, but they helped me not only get started but keep marching forward when I encountered impatience and other difficulties.

A Database!

Time to build your database. Your base for data storage. Where information is kept in formation, not unlike how a story preserves key elements for better recall.

My chosen database is MongoDB's Atlas, which is hosted on Amazon's AWS cloud.

Getting Started (in Broad Strokes)

To begin, you'll want to download mongoDB and get your accounts setup. Next, if you're using Atlas and want to use the command line tools, you'll need to ensure you have those installed as well. Shoot me an email at writer@hey.com if you'd like more instructions on those steps.

Next, I used Alfred to create a snippet template.

Then, whenever I want to save a book 'document' to my database, I fire up a text document in FoldingText and type "!text", which expands to:

Next, I fill in the book details, including the addition of any attributes, elements, or dimensions I'd like to include for this book--you can customize these to your heart's content!

Now, I open a terminal window and connect to my server. (Again, I've used some shortcuts here, so email me if you need help!)

paste and send new 'document' to Atlas

Then, copy-paste from your text document and press Enter.

send acknowledged!

When I check the database in my browser, I see the document is created by searching for {"genre":"sales"}.

Next time I want to find this title, I might only remember that it was in the sales genre and I'll be able to fetch it.

Why go through all this trouble?

Mainly, because I will be able to tailor it for my own use. And you can too.

Of course, you could use Goodreads, an Excel spreadsheet, a Notion table, wishlists. I've done all that. And of course your e-reader has the actual books on them.

Here's example of goodreads email I received today.

goodreads email on Sept 29, 2020

Nice, but it isn't helping me learn about new books in my preferred way. The email leads with a needless advertisement. Then it shows me covers of books without any information. Presumably these are either promoted or trending books. Fine, if I care about promoted or trending books. But most of the time I don't. And my guess is neither do you. (Unless you're the kind of person that watched Netflix's Game of Thrones because you were missing out on watercooler conversations at the office--I love reading fantasy but I still haven't watched Game of Thrones.)

Mischief Managed

But all this work (and trouble) helps me maintain some control and influence over what I am going to read. Sure, it may help that others are also reading that book--book clubs are great!--and the feeling that I MIGHT get to discuss this book with someone at some point is nice for motivation, BUT I've noticed I've lost a lot of control over what I read. The internet is deciding for me. I don't mind if it influences, but I'd rather be a joint partner in that decision.

And I'm also fine with book ads, marketing, etc. For example, I want to see an ad for the next China Miéville novel. Based on previous work, I imagine I'd like to see what he tries next.

Finally, I should like to make improvements to the database and how I interact with it over time. We'll see what happens.