I have been making web apps for years. A few year ago I converted my base stack into a scaffold that lets me spin up a full working project with API, CLI and UI.
I use NodeJS with a highly structured ExpressJS app for the API. It uses an npm module, tools-library-dot-d to implement a carefully scooped plugin structure for endpoints, data model and data mapping. It has built-in authentication and database (sqlite).
Nuxt/Vue/Vuetify/Pinia for the UI. It has a few components that implement things (like navigation) the way I like. It supports login and user editing.
The stack includes a utility that looks at a directory for executable CLI tools (usually NodeJS or BASH) and adds them to the session PATH. The API stack has boilerplate to treat CLI apps as data-model services.
Does that help?