Data Pipeline
Bookwise
Bookwise is a Flask web application that serves personalised book recommendations computed offline by an Apache Airflow pipeline. The key design decision is that no ML ever runs on the web request path. A daily Airflow DAG (extract, compute, load, cleanup) runs the Apriori market-basket algorithm across user ratings and writes the resulting association rules into a MongoDB collection. Flask only reads from that collection, so page loads stay fast regardless of how expensive the model gets. Airflow runs on a Celery executor with a Redis broker and PostgreSQL for metadata, while application data (users, books, ratings, and recommendations) lives in MongoDB. The whole stack comes up through Docker Compose.
Technologies Used