That's the path I've been on with my Dropbox alternative [1]. The 80% is the fast core that focus on file management, the remaining 20% is coming via plugins which implement one of core interfaces so you can handle your own storage, authorisation, authentication, custom apps to handle file types, ... Fun fact, there is 10x more code in the various plugins [2] catering to everything than the core code that was supposed to be the 80%, unsurprisingly everyone needed a different 20%. Plus I find it cool that the guy who needed a gobd compliant log system that have ton of properties to keep auditors happy enforcing hash chained signed with rfc3161 does not contribute to making the system shittier for everyone else
[1] https://github.com/mickael-kerjean/filestash https://github.com/mickael-kerjean/fdrive