Web frameworks are difficult to get right in my mind. You want them to be prescriptive, so you benefit from shared conventions when moving between projects, but flexible so you do not become restricted by the framework if your application moves in a direction counter to the framework itself. Ruby on Rails is a good example of a framework that has strong conventions, but can be a pain when you start to fight it.
I’ve been impressed with the care taken towards the Phoenix framework to keep things modular, as to avoid framework bloat, but also batteries (mostly) included for rapid iteration in the early stages of the project.