Cool. Feel free to ask if you have any questions about the db structure.
How are you dealing with calibre and your app accessing the db at the same time? calibre locks the db so I assume you just error out at that point. Are you planning to open source it, so others can learn from your learn metro efforts