Inspiration
Often, people are overwhelmed by endless book recommendations and struggle to find something that genuinely resonates with their interests. We wanted to create an engaging experience that allows readers to quickly filter through books by either "liking" or "disliking" them.
What it does
Book or Trash allows users to go through a list of books with generated summaries and decide whether to throw the book onto a shelf (like) or throw it into the trash (dislike). After they've gone through several books, the platform recommends a singular book that best aligns with their preferences based on all the books they liked and disliked.
How we built it
We built Book or Trash using a combination of frontend and backend technologies. Every time the user throws the book, another book is randomly selected from a database with 10,000 books. We leveraged Django on the backend to be able to run Python scripts on a web server and utilized the OpenAI API to generate unique summaries for each book. When recommending the final book, the list of liked and disliked books is fed into ChatGPT, which generates a unique book based on the preferences of the user. The interface of the website is made entirely from scratch, including the throwing physics of the book.
Challenges we ran into
We were originally using a more complex recommendation algorithm in Python called collaborative filtering, but because it took too long, the server request would time out before the script had a chance to finish running.
Accomplishments that we're proud of
Integrating Python with web development, creating a fun and intuitive interface, and utilizing APIs.
What's next for Book or Trash
We have working code to generate summaries for each book, but we encountered problems with the function running multiple times in a split second, so we plan to incorporate this feature in the future.
Log in or sign up for Devpost to join the conversation.