We created this module on our first M2 frontend project.
The module can be used to load different themes base on the client device (desktop, tablet, mobile). It uses the template exception system to load a different theme based on the user device. It can also be used to redirect users based on the device they are coming from, for example, if the user comes from a mobile device they can be redirected to another domain.
The project can be found here: https://github.com/EaDesgin/magento2-mobiledetect https://www.eadesign.ro/magento2/magento2-mobile-detect-system.html https://marketplace.magento.com/eadesignro-module-mobiledetect.html