Waffle is a Django app that allows developers to include all new features in the master branch while hiding them from users until they are ready. Feature switches allow features to be developed alongside other work in master, with separate deploy and release steps. This prevents features from impacting users until ready and avoids the need for many branching which can be painful and confusing. Switches can be used in templates, JavaScript, views, models and more to selectively show or hide code for a given feature. Care must be taken to ensure all code paths are tested when using feature switches.