It is mostly a terminal based app, but it handles the crapy stuff like RSS and Atom parsing. Stores everything in an SQLite3 DB. You can still use it as a learning project, but not have to deal with the yuck part.
This sounds a lot like the Microsub spec which abstracts and separates the parsing and displaying of content. There are already several separate server and reader implementations if you’re interested in tinkering.