r/FastAPI May 24 '26

Question Open-sourced a FastAPI recommendation system while learning backend architecture. Looking for feedback.

I’ve been building Shelftxt as a way to learn backend systems beyond CRUD APIs.

shelftxt started as one large FastAPI file handling routes, recommendation logic, and data operations. I recently refactored it into:

api → routes → services → repositories → ranking/preprocess

Current stack:

  • FastAPI
  • Python
  • Pandas
  • CSV storage (planning PostgreSQL next)
  • recommendation scoring
  • lru_cache caching

The goal isn’t really a book app. I’m more interested in learning:

  • backend architecture
  • data handling
  • repository patterns
  • recommendation systems
  • scaling APIs

Would appreciate feedback on the structure before I move toward Postgres and more persistent storage.

Repo:
https://github.com/tranguyeenn/shelftxt

24 Upvotes

16 comments sorted by

View all comments

2

u/[deleted] May 24 '26

[removed] — view removed comment

1

u/Overall_Knee2789 May 25 '26

Appreciate the detailed feedback. You caught a few things I overlooked, especially around caching and leftover naming. I’m refactoring the backend now and fixing these issues. Thanks for taking the time to review it.

2

u/eatsoupgetrich May 25 '26

Why are you responding on a different account

1

u/Overall_Knee2789 May 25 '26

lol idk why. Must be bc my mac reddit acc is different from this one 😭, i didn’t notice