I use 'MyDataBase' for any particular project, you can store photos, notes etc and sort by Date or part description, group etc however you want to set it up. I have to manually load and its time consuming but it's worth it in the end.
For instance, on the cylinder head I can search for Group (engine), then 'Cylinder Head' and then Date 'Ascending' and the program will return all the photos & data I've entered for the head in the order it was done ie, photo of the head as I received it, the condition it went to the machine shop (along with the shop name & date), the condition how it came out of the shop, the valves, springs, retainer kit, part# and supplier, the photo of the assembled head and date, the head being installed on the engine etc. In short, a complete cradle to grave history of any and all parts in the project.
Its a very inexpensive program, they give you the tools to create the database and you do the actual formatting of the fields, it took me about 6-8 attempts to get it to where I like it. On the current shop project I have about 800 entries into the database and I'm just getting started.