Since I am a software engineer, a friend of mine who is into IP was asking me about doing the same sort of thing.
A database is a good idea but perhaps overkill for the situation (and I am keen to hear other people's reactions about this - if it gets a good response I might consider creating...