My approach to avoid bloat with Vvveb CMS was to avoid general purpose frameworks and libraries that do 1 thing I want and 100 more that I don't.
Even if it's harder to get started in the end it's less time spent because you know the code better and the code is not adapted around the library and it can better follow the application design.
This approach made everything lean and easy to develop and as a bonus everything is rocket fast.