The app is built entirely with browsers native Web Components (Custom Elements, Shadow DOM, HTML Imports and HTML Template)
The app works in older browsers thank to the web component polyfill loader that dynamically loads the necessary polyfills using features detection.
webpack.config.js builds the app using a custom template (app.template.html) where the root component is set, the components templates are imported (components-templates.html) and the Polyfills detector is loaded.
index.js is the app entry script, it waits until the necessary polyfills are loaded then instantiates the dependencies and bootstrap the app.
style encapsulation, component tree creation and modern frameworks-like component code organization is made possible by the awesomeness of the native Web Components elements, that are already available in your browser!!