ReadMendations – AI-Powered Book Recommendation Platform
ReadMendations is a personal AI-powered book recommendation app that combines content-based and collaborative filtering, featuring synthetic reviews via GPT-3.5 and real-time REST APIs using FastAPI.
Technologies Used
🔹 Overview
Readmendations is a personal AI-powered book recommendation platform that leverages a hybrid recommendation algorithm combining both collaborative filtering and content-based filtering techniques. The goal of the project was to explore and apply AI recommendation models in a real-time, user-facing application environment.
🔹 Tech Stack
Frontend: ReactJS with Tailwind CSS
Backend Services:
Firebase Firestore (document-based NoSQL DB)
Firebase Authentication for user sign-in (Google, Facebook, etc.)
FastAPI (Python) for building the recommendation logic and serving REST APIs
External APIs: Google Books API, Open Library API (for book data ingestion)
AI & Scripting:
Python for implementing recommendation algorithms
Used OpenAI GPT-3.5 API to generate synthetic ratings and reviews for books
Libraries:
scikit-learn
,pandas
,numpy
🔹 Recommendation System
Implemented a hybrid engine:
Content-Based Filtering: based on genre, author, book metadata
Collaborative Filtering: based on user-book interactions and preferences
Synthetic user reviews and ratings were auto-generated using OpenAI, simulating user behavior in a controlled test environment.
Users could favorite books and get dynamic recommendations based on their profile and synthetic peer data.
🔹 System Architecture & Flow
Book data ingestion: Pulled from open sources → stored in Firestore
Synthetic data generation: Python scripts invoked OpenAI API to generate fake but realistic user reviews/ratings
Recommendation engine:
Trained locally using
scikit-learn
Exposed as REST endpoints using FastAPI
Frontend Integration:
Users log in via Firebase Auth
Recommendations are fetched using the FastAPI endpoint
Recommended books are retrieved from Firestore using document IDs
🔹 Implementation Highlights
Created a REST API to serve personalized recommendations
Hosted and tested model and app locally during development
Frontend dynamically displays recommendations and corresponding metadata like title, author, cover image, and synthetic review
Designed the system to modularly plug in real user data in future iterations
🔹 Key Technical Challenges
Had limited prior knowledge of recommender systems; learned from scratch the theory and practical implementation of content-based and collaborative filtering
Faced integration hurdles when connecting Python-based AI logic with the React frontend via FastAPI
Worked around the lack of real user data by designing and executing a synthetic data generation pipeline using OpenAI’s API
Gained hands-on exposure to managing a document-based database (Firestore) and integrating it efficiently with frontend logic