Personal Library: How?!

As if there isn’t enough work to do, I decided to organize my personal library. Thanks to my OCD, I have zero tolerance for chaos in this world, and yet my (and my family’s) collection of books has been just that. After some rigorous research1 on how to organize books—with some of the options being “alphabetically”, “chronologically, “by color” (WHAT??)—I decided to go with Universal Decimal Classification which arranges materials by subject (each of whose contents I would sort alphabetically). However, I realized that if I ever change my mind on the system that should be used, I would have to start over from scratch. This made me focus on a more daunting task first—cataloging!

Before I even try to organize my books, I want to have a good understanding of what is in my possession. Essentially, I want to create a database for my books—each entry would contain the book’s title, author(s), current location (as I move between the UK and Lithuania) and any other useful details. Being the strong independent man that I am, I thought I should build it myself from the ground up. I know some SQL and PHP (both which I had to learn for my startup), so I figured that would be doable. But there came an instant realization that I might not be the only one using the database—my family might too. Given that user interface has never been my strong suit, I decided that this is a silly idea. Besides, I would be wasting a lot of time on this; someone must have figured it out already!

If anyone has had experience with cataloging their books using software and has any suggestions, I would really appreciate it. Here are my preferences:

  • Simple (functionality-wise). It’s at most a few hundred books we are talking about, not the Library of Congress.
  • Modifiable. I want to be able to add my own fields, etc.
  • Easy to use (high-level) interface, as well as a low-level alternative (e.g. a CLI).
  • Access by the Internet.
  • Privacy/independence. I want to run my personal instance of this database on my server, instead of letting some company handle it. By extension, I would want the solution to be open source.
  • Flexibility. The data should be stored in a popular format, so that I could easily convert them, if necessary.

There are solutions like Invenio which seem close to what I have in mind, but they have so many dependencies that I had trouble even trying to install them. Thus, before settling on a solution, I am really hoping to hear from someone who has had to deal with this kind of software before. Thank you.

  1. googling ↩︎