My usual book reading cycle involves doing a web search (not goodreads') after I become aware of a title and landing on goodreads to mark it as to-read . Then rating it and possibly writing something about it. I don't tend to maintain multiple shelves because maintaining that isn't a very smooth process on the web ui.

I am now using an org file for my reading-list with a little bit of Emacs scripting which lets me import books from amazon and goodreads urls. Thankfully, there is csv export feature in goodreads which lets you export all you books in a single csv, which is easy to pull in.

Figure 1: Yes, stars and everything. A little bit of effort and book covers can be here too.

Keeping an org file has some neat benefits. I can pull readings in my agenda view, create progress indicators separate from the shelves (which can go in org tags), attach arbitrary content to entries, create innumerable custom and dynamic views for the library, write richer reviews etc. I am still experimenting with it but I believe it would fit right in with my needs and would quickly become what I want it to be.