Overview
A dynamic book discovery platform powered by AI that lets users swipe through book summaries to uncover their next great read. The platform learns from user preferences, using likes and dislikes to curate a personalized explore feed with book recommendations. Books can be saved to a wishlist and marked as complete once finished reading. Users can review, rate, and share with friends. The app has integrated social features to allow users to connect, view other user profiles, and comment on their activities.
Why Binged?
As a book enjoyer since childhood, I've fallen into periods of having zero motivation or interest in any books and struggling to get back into it. I wanted to create a platform like "Tinder" or "Hinge" where people can reignite their passion for reading using this recommendation-based website. Other websites such as Goodreads are well done, but they may feel outdated and not as interactive as this website.
Features
- ●Registration & Login: Session-based authentication using email as user ID
- ●Initial Quiz: Users select 5 books they have read or are interested in to seed recommendations
- ●Home: Displays wishlist books and completed books
- ●Explore: AI-powered book recommendation feed where users can like or dislike books
- ●Wishlist: Initial 5 books from quiz plus liked books stored on a shelf with preview, remove, and complete options
- ●Completed Books: Rate and review finished books with the ability to edit later
- ●Profile: Avatar, username, friends, favorite book, currently reading, and completed books with ratings and comments
- ●Friends System: Send, receive, and accept friend requests. Friends can comment on each other's ratings
- ●Profile Visibility: Public profiles viewable by anyone, but non-friends cannot comment on completed books
- ●MongoDB Atlas AWS: All user data, shelves, and interactions stored and synced through the database
AI/ML Models
Content-Based Filtering
Uses pandas and numpy for data handling including one-hot encoding book genres. Sklearn handles scaling and text-vectorization (TF-IDF). The model calculates similarities between books using cosine similarity based on genres, summaries, and the user's first 5 liked books. This model runs once when a user first creates their account.
Collaborative Filtering
Pandas pulls data from MongoDB, then sklearn preprocesses using LabelEncoder to convert categorical user data and book IDs into numerical values for a user-item matrix. Matrix Factorization via Singular Value Decomposition (SVD) from scipy decomposes the matrix to predict potential ratings for unseen books. This model curates the explore feed after each user interaction.