Architecture is a set of trade offs you use to try to minimize the costs of building, or maintaining software. The moment you decide on one, you've precluded certain approaches, it's hoped those were the poor choices.
We're 50+ years into null terminated strings
We're 40+ years into Operating System architectures that favor ambient authority.
We're 30+ years into the Web, and HTML that doesn't let you mark up (annotate) existing hypertext without copy/modifying it.
We're 20+ years into trying to make everything work through a thin unreliable network connection onto a machine with a small glass screen and no keyboard
There's a civilization ending amount of debt, while your project is important to you, know that in the big scheme of things, it really doesn't matter, and you'll be forgiven. 8)