First of all, sorry for the tautology in the title, a library can be either opinionated or un-opinionated (such as Vert.x is), but an application can only be opinionated. However, I decided to include "opinionated" to help getting my point across even though is redundant. The Motivation I am a big fan of Vert.x and the official documentation is quite good, yet it is not straight-forward to understand how it works and how to use it. There are a lot of blogs and articles describing Vert.x terminology and its concurrency model. There are also tons of "Hello World" Vert.x applications on Github, and the rest seem to be just variations of the already typical " Web chat application using Vert.x ". On top of that, many of them are outdated (using AngularJS instead of Angular2+, for example). The only two exceptions which I found are: vertx-microservices-workshop : a demo application by the Vert.x development team. ngrx-realtime-app : proof of conce