Built with Adapter

I built a book recommendation app and ended up mapping my taste

Using Adapter, Bily connected her reading history, saved recommendations, and media activity into a private taste map that helps her find what to read next.

Bilyana Tzolova

Member of Technical Staff

Book Brew’s Discover page beside an interactive taste map, showing how saved recommendations and media history connect to Bily’s reading preferences.

Bilyana Tzolova

Member of Technical Staff

In this Article

No headings found on page

The problem

I’m always on the hunt for my next great read.

Book recommendations come from all over: scrolling through BookTok (or Instagram Reels), saved Reddit threads, reading apps and online bookstores, or a conversation with a friend over coffee.

But I usually don’t take the time to add every suggestion to my Goodreads profile. A single Reel might be a “top ten” list, so saving them properly means pausing the video, opening Goodreads, saving down each title, and repeatedly switching between apps. More often, I just save the video and keep scrolling.

When I’m ready to start a new book, those saved recommendations are scattered across different apps and easy to forget about. Opening any one of them only shows me a small slice of what I've collected.

I wanted a tool that could automatically bring together all of these scattered suggestions into one place. My initial goal was to keep good recommendations from slipping through the cracks and eliminate the tedious work of copying them from one platform to another. Then with all of my reading data in one place, I could use that as the basis for better recommendations.

Building the app

I set to work using Claude Code to build my app. It needed to do three things:

  1. Bring together books I had already read, beginning with my Goodreads library.

  2. Collect books that had already been recommended.

  3. Surface new titles I had not encountered yet, but might want to read.

Book Brew’s Discover page organizes recommendations from saved Instagram Reels and suggests books based on Netflix viewing history.

A traditional relational database could store all of this. It could give me one master library that I could search, filter by source or subject, and organize by whether I had read, saved, or wanted to read each book. That alone would solve the centralization problem, but the larger challenge was how to recommend net new books (#3) based on everything I had read and saved so far.

Claude Code helped me build the interface and recommendation workflow. The recommendations themselves require a persistent understanding of my taste: what books and authors matter, how they relate, and what those relationships reveal about me. An LLM connected to a database would have to reconstruct that understanding from scratch for every request; if it retrieved an incomplete or irrelevant slice of my reading history, it could miss an important connection or infer a preference that the underlying records didn’t support.

To give the AI a stronger foundation, I needed a taste map: a connected picture of how books, authors, genres, subjects, and themes related to one another, and to me. The map would also need to update and improve as I save and read more titles.

But the whole point of my app was to help me find better books so I could get back to reading! I didn’t want to spend my nights and weekends building and maintaining that cognition layer myself.

Thankfully, an Adapter Mind provides exactly that. It gives builders the turnkey infrastructure to create a connected map: an enterprise-grade Cognition Graph turning fragmented data into persistent understanding, all through a single managed API.

As an engineer at Adapter, I already had an Adapter Mind connected to my email, calendar, projects and more. That existing Mind became the foundation for my taste map. 

From there, I built custom connectors that brought in my Goodreads library and saved Instagram posts to capture my existing recommendations (data types #1 and #2). Then, I connected public data from OpenLibrary to enrich those titles with metadata like authors, subjects, cover art, and synopses. The New York Times Book API provided bestseller data. These two sources could now provide millions of additional books and signals to power the recommendation engine (data type #3).

Goodreads and Instagram data feed an Adapter Mind’s persistent taste map, enriched by OpenLibrary and New York Times data. Netflix, Spotify, and Pinterest add further signals that power recommendations in Book Brew.

Within just a few minutes of connecting data to my Adapter Mind, and then Adapter Mind to my app, my taste map was live. Now, my app could query the map (built on a knowledge graph) to surface new books from authors I love, return to me a series I started years ago, or explain why I need to check out a hot new release.

Beyond books

From here, an exciting question emerged: why should books be the only evidence informing what I might want to read next? A true taste map should capture more than one medium; it should encompass everything I love — music, film, art, and more — and how those interests connect.

I watch true-crime documentaries and psychological thrillers on Netflix, even though I rarely read books in those genres — but maybe I’ve been missing out! 

So I exported my Netflix watch history, connected my Pinterest Pins, and linked my Spotify playlists and podcasts. Suddenly my taste map extended far beyond books. From there, I built a simple feature in my app to give me reading recommendations based on my favorite TV shows and podcasts:

As I add new movies, podcasts, playlists, and images, they become additional signals in my taste map, and potential paths into books I might never have encountered otherwise.

I can also ask my app whether I’ll enjoy a book and get a thoughtful response grounded in the evidence about my preferences:

My taste still comes from my curiosity and discernment, but my map remembers the trail it leaves behind. What otherwise might disappear into different apps (or my own imperfect memory) can accumulate and become more useful over time. A taste map gives my human judgment machine memory.

And because that map lives in my Adapter Mind, it remains under my control. No single platform determines what belongs in it or confines it to their catalog. I choose which sources contribute to the map and which applications can use it. 

What’s next

This is still a v0, and I already see several avenues for exploration and new features:

  • Add more sources: Saved Reddit posts, Substack subscriptions, Audible listens, and newsletters from my favorite museums and cultural institutions could give the map more context.

  • Capture stronger feedback: Finishing a book and loving it means something very different from quitting halfway through and throwing it across the room. I need a lightweight way to record my feedback on books to help the recommendation engine and taste map understand what I like and don’t.

  • Reverse the recommendations: What TV shows, podcasts, music, and art exhibits might I love based on my reading history?

  • Create a “challenge zone”: Often the best recommendations push us outside of what’s comfortable, and in doing so, expand our world. This feature would search around the edges of my taste for recommendations with an unexpected connection to something I already loved. So if it’s clear I’m a fan of modern sci-fi, this mode might recommend the foundational texts in the genre like H.G. Wells’s The War of the Worlds.

Before I build more features, I'm excited to jump into my next read. Here are the three titles my app is suggesting is next up in the queue, and they're interesting for me:

About Bily

Bilyana Tzolova is an AI researcher and engineer at Adapter, where she works on applied research, including hyper graphs. She holds a Ph.D. in Computational and Applied Mathematics from Rice University, where her research combined deep learning and mathematical modeling.

Be among the first to build with Adapter.