Inspiration

As someone who loves reading, I always have some trouble deciding what will be my next read. Most book recommendation systems available only take in account other books you read, or that people who read it also enjoyed. What I think is missing is something that can take your overall wants for a book, without necessarily mentioning other books. So for that reason, I create a system where the user can write what he wants in a book and the AI will recommend books based on his description.

What it does

AI-Powered Recommendations: Enter a query (e.g., a book title, genre, plot description, or desired mood) and the system find relevant book recommendations. If the initial recommendations aren't enough, click the "Recommend More Books" button to get additional suggestions based on your original query. User Search History: Each user can view their search history, stored locally in their browser. Users can quickly access past searches and their results without needing to search again. Profile Me: Based on your search history, the AI will create a lighthearted profile of your reading style.

How we built it

  • Backend: FastAPI (Python), SQLAlchemy, Google Generative AI API
  • Frontend: Vue.js, Axios
  • Database: SQLite
  • External API: Open Library API
  • Storage: Browser localStorage for user-specific search history
  • The code was written with assistance of Github Copilot and Gemini in VSCode IDE. The main functionality pipeline is: user query is sent as context for an pre-prompted LLM API call (from Gemini API), which will generate a structured response containing a list of recommended books. This list of books will be used as parameter to make API calls to the Open Library API to fetch data about the books, like cover image. The information retrieved is shown as interactive cards, containing informations about the book and why the system chose to recommend each book. The profile function takes the user query history and feed as context to the AI to generate a funny "profile" of you.

Challenges we ran into

I think the biggest challenge in this project was prompt engineering the query to ensure properly formated and relevant responses.

Accomplishments that we're proud of

I'm proud that I was able to make this project in a single afternoon/night all by myself, the system has a few basic quality of life features and is overall a good UX experience.

What we learned

I think the most important thing a learned during this hackaton is how easy building projects and initial demos has become. People of little coding experience can start to turn their ideas into life rather quickly, and I think this one of the most beneficial things that AI provides.

What's next for Book Recommender System

The system relies on Open library search query, which only finds book by name, so sometimes it returns wrong books, so building a more reliable system for that is needed if this project was to go further. Add more functionalities, such as integration with existing books "social medias', like goodreads, skoob etc.

Built With

Share this project:

Updates