Web · Machine Learning

Personalized Reading System

Personalized Reading System concept art

Overview

A personalized web-based reading platform built with Flask and Python that helps users discover suitable reading material, track their reading activity, and receive tailored recommendations powered by a lightweight machine-learning model.

The problem

Most reading platforms treat every user the same way: identical recommendations and generic time estimates regardless of how someone actually reads. The goal was to make both of those personal, using data the platform already collects rather than requiring extra input from the user.

Key decision

Reading-time prediction could have been a flat words-per-minute formula. Instead, it's treated as a small regression problem: content length is combined with a user's own historical pace and engagement signals (time spent per page, completion rate) so the estimate adapts per user. Recommendations draw on that same behavioral history rather than only content tags, so two users reading the same book can still get different suggestions next.

Main features

  • User registration and login
  • Book selection and reading interface
  • Reading history and progress tracking
  • Personalized book recommendations
  • Reading-time prediction using machine learning
  • User dashboard
  • Comprehension quiz / assessment
  • Admin management of books and resources
  • Database integration
  • Responsive interface

Tech stack

Python Flask Machine Learning HTML CSS JavaScript Database

Demonstrates: full-stack development, applied machine learning, database design, UX for learning tools.