This is absolutely awesome.
The only improvement I would suggest is to use the PCB "rev" data if non-blank for the name. I've been renaming ibom.html to e.g. RevA.html. Like, take the rev string and remove blanks, or turn blanks into _. (So, "1.0" could be normalized to ibom_rev_1_0.html, but the exact scheme isn't important as long as they can coexist without risking clobbering one another.) It also gives a nice way to quickly pull up different revs side by side without having to git checkout tags in different folders, which is rather tedious.
I upload the html file to google drive and access it from my 12" Samsung Android tablet on my bench (which I normally use to access datasheets), works fantastically! I love that it can show me the parts and pick a board side. The tablet standing vertically has a MUCH smaller footprint on my bench than a printed page or laptop!
Actually one additional feature would be the ability to mark individual components as having been placed... not sure how that would be done in the UI (like maybe change color on click/tap), but I find if I have say 35x 100Ω resistors it's easy to lose track of which one I'm at. Or I counted 35 before, and now I have one left over... did I miss one or count 36? If so which one is missing? When using paper I'd cross each one out as it's populated. (Or every few.) Edit: HTML strikeout!