Along with ACF, a must-have wordpress plugin is Timber: https://github.com/jarednova/timber/wiki
Basically gives you views and controllers, you fetch posts in php files, manipulate them, then render out twig views.
You can even add custom routes: https://github.com/jarednova/timber/wiki/Routes. If I want to decouple WP and the frontend, I just add routes that return JSON, same as Express or any other modern framework.