I scrapped the vanilla HTML, CSS, JS idea because of a few reasons
Development was slowing to a crawl
Using vanilla JS to manually create/modify HTML elements was incredibly slow and added too many lines of code
Using the vanilla CSS flexbox/grid in an ad-hoc basis began to bloat the project with selectors and rules that were not semantically meaningful
I was losing sight of the end goal which was an MVP budget app
I wanted to learn more technologies (Express, Mongoose, Pug). I had already learned enough from the tutorials/documentation on vanilla webdev features, where continually practicing them didn't build more understanding.
Reworking the application helped breathe some new life into my personal learning and also taught me that developing an MVP didn't have to be such a meticulous process. There were already technologies built to address alot of the pain points I ran into while developing, such as:
Bootstrap which abstracted alot of the manual CSS by providing semantically meaningful abstractions in the form of prebuilt classes. This is especially useful considering that the end goal was to develop a MVP with acceptable front-end functionality.
A template engine also took away alot of the pain of using JS to create/modify HTML and kept the semantically meaningful HTML within a single file.
Node.JS, npm, and Express, which took away the pain of dealing with packages while also providing a useful directory structure and routing technology.
I scrapped the vanilla HTML, CSS, JS idea because of a few reasons
Reworking the application helped breathe some new life into my personal learning and also taught me that developing an MVP didn't have to be such a meticulous process. There were already technologies built to address alot of the pain points I ran into while developing, such as: