At Nexersys, we developed a lot of our own circuit boards - a detailed and laborious process, particularly when you get to the point of estimating the cost of manufacturing, and developing a Bill Of Materials (BOM). Our electrical engineer would use specialized software to build a virtual prototype, down to the connections on the board, but it would only spit out an XML file containing a flat list of those parts. To solve this problem, I wrote the BOM Generator, an ASP.Net Web API which takes an upload of this particular kind of XML file, parses through it to extract the unique part numbers and quantities, then cross-references with the API at Octopart in order to find the lowest prices. It then uses the Office Open XML SDK to build an Excel .xlsx spreadsheet, and responds with that as a download item for the user - this allows our engineer to do a little sorting and formatting to fit whatever manufacturer we're working with.