This was an experiment to both 1) learn how market making works and 2) figure out what is so hard about it. My main insight from this process is that order management--making sure only the orders you want are placed, and fast, is a pretty complex software problem. The algorithm itself seems to be one of the easier things to implement.