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

ReactJSTailwindCSSFastAPIFirebaseGithub ActionsPython

🔹 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

  1. Book data ingestion: Pulled from open sources → stored in Firestore

  2. Synthetic data generation: Python scripts invoked OpenAI API to generate fake but realistic user reviews/ratings

  3. Recommendation engine:

    • Trained locally using scikit-learn

    • Exposed as REST endpoints using FastAPI

  4. 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