Magento 2 introduced the concept of frontend/backend separation - figuring frontend as an application exchanging data with the core through webservices. However the choice of the MVVM model of KnockoutJS is not sufficient to completely abstract the frontend as a self-contained, autonomous application. Thanks to the easiness of implementation of Magento 2 webservices - using those already present or extending them - it is possible to move to a reactive programming model based on ReactJS or Angular 2; thus creating a performing, easily customizable, stable frontend layer with independent test units. This modular frontend might be made of separate components - each of which capable of replacing a specific pre-existing function. We will show examples and case studies based on both platforms and discuss best practices.