My version 3.0 had 180 separate system I had hand coded, for version 4.0 I chose 75 of the most important and began to develop a set of RESTful web services to drive these systems.Once I had the database and web services developed I began to create essentially a set of PHP SDK libraries and UI elements that consumed these web services. This became the version 4.0 of my content management system.I remember several technical folks with partners I had at the time telling me that was the dumbest thing they've heard. APIs aren't for your primary systems? They are for 3rd party integration. I stood by my decision and developed several successful web applications.Unfortunately I sold my business as part of my divorce with my wife, and when I was packaging up sites to deliver the code to clients I remember several other developers commenting on how strange my decision was. However I did get a couple folks say how interesting it was and were very happy with the architecture I delivered.Very smart move Twitter, I recommend other companies to do the same with their applications.