Razzle is extensible and Volto is built upon that extensible framework. It allows to extend the Webpack configuration both from the core (vanilla Volto), a project and even a Volto addon. It also allows to tap into the most important development artifacts and extend them (ESLint config, etc). It defines the Babel configuration baseline, and allows you to extend it as well. It has all the modern development tools (HMR, etc) and a plugin system that you can use from your projects.