The problem

Researchers and students read dozens of papers but lack a single place to track what they've read, rate papers, and discover similar work. Goodreads solves this for books; papers need the same—with recommendations grounded in abstracts, keywords, and reading history.

The solution

PaperReads is a full-stack app: manage your paper library, track reading status (want to read / reading / completed), rate and favorite papers, and get personalized recommendations using TF-IDF and sentence embeddings plus user-profile weighting.

Without PaperReads

Scattered PDFs and bookmarks, no unified reading history or discovery based on your interests.

With PaperReads

One place to browse, search, track, and get recommendations—Docker-ready for self-hosting.

What it does

  • Paper management – Add, search, and organize papers by title, authors, keywords, abstract.
  • Smart recommendations – TF-IDF + cosine similarity and sentence-transformers; user profile from ratings and history.
  • Reading tracking – Want to read, currently reading, completed.
  • Ratings & favorites – Rate papers and mark favorites to improve recommendations.
  • Modern UI – React, Vite, Tailwind CSS, Framer Motion; Docker Compose for backend + frontend + PostgreSQL.

Tech stack

Backend: FastAPI, SQLAlchemy, PostgreSQL (SQLite for local dev), scikit-learn, sentence-transformers. Frontend: React, Vite, Tailwind CSS, Framer Motion, React Router.

Next steps

Roadmap & ideas

  • Public or self-hosted demo; optional auth and multi-user.
  • Import from BibTeX, Zotero, or arXiv lists.
  • Export reading list and recommendations to PDF or Notion.
  • Richer embeddings (e.g. paper-specific models) and reranking.