PlatformJS qualifies as "opinionated" software. The primary purpose of the platform is to allow tie together existing, high-quality libraries into a new site very quickly; it is quite difficult to serve this purpose effectively without making presumptions about which libraries to use.

All content, customization, and plug-ins are read in from the subdirectories of a special extensions subdirectory. Within that directory, there are conventions for content -- such as the public directory being used to directly server static content:

The protected/ sub-directory can be used similiarly to the public/ sub-directory, except for generated files. For example, a file named protected/user/dashboard.hb.html represents a Handlebars template that is automatically routed as a rendered template to /user/dashboard.