When developing multiple apps, code-reuse becomes more and more important. Developing an app from scratch is time consuming and prone to error. Instead we went a step further and created a system that supports hundreds of apps from one codebase. Of course this comes with its own unique set of challenges. We want to share our approach and the lessons learned along the way.