Gall’s Law:
A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.
John Gall, as cited in Grady Booch’s 1991 Object oriented design with applications.
I’ve always been suspicious of Blockstack’s “whole widget” approach, where they expected people to use the entire stack: data store, application approach, identity, tokens, the whole bit.
If you expect people to use your entire stack, and mostly your stack, not only every layer needs to be the best at their particular job, but they need to work the best together as well - and remain so over time. That’s doesn’t seem like a very resilient long-term bet.
I’ve found consistently that interoperable thin layers, where if one of them starts being wonky you can just replace it while the rest of the system keeps working, tend to be more resilient and outlast the monoliths.