Can’t have a modern web app without overengineering the presentational layer
Initially, the professional projects I worked on were classic PHP-driven websites. The frontend consisted of embracing whatever templating language the CMS tool provided and bolting a stylesheet and a bundled JS file on top.
Fortunately, times have changed and frontend development got appropriate tooling. First as single page applications that fetched any data using APIs exclusively on the client-side, and now we even get to build entire full-stack applications in JavaScript.
My first encounter in the vast field of frontend frameworks was Angular. While not my favourite framework, I still owe it all the transactional knowledge about state management and reactive programming that proved itself useful later on in my career.
I later got the opportunity to work professionally on projects using Gatsby, Next.js, React.js+Vite, nuxt, Svelte, Sveltekit and with this very website finally with Astro❤️.