My Teck Stack
First off, I love my tech stack. I'm comfortable knowing that whatever I'm asked to do, I can do it, or I'm in a community that can help me learn it.
Primarily, I use Ruby on Rails as my monolith builder with sprinkles of Alpine, Stimulus and Tailwind CSS on the frontend. However, Ruby on Rails doesn't have the hype around it that it once had, so I've been making a gradual shift to Laravel.
When it comes to personal projects I'll typically use Vue, often with some extra power coming from Nuxt or Gridsome. This website as an example recently was rewritten in Nuxt after being in Gridsome for over a year. Why leave Gridsome? It doesn't seem to be in active development as much as Nuxt.
There's the rare occassion that I will use Angular and Typescript. I have a few open source NPM packages that I have written in Typescript for it's more declarative approach.
I've mentioned Tailwind CSS a few times now and I even own two profitable projects that are for Tailwind CSS developers; HyperUI and Hypercolor. I love Tailwind CSS, it gives you superpower CSS abilities without having to write CSS. That being said, I have love for Bootstrap and Foundation as that's what I started with.
For deployment I'm split between a few. For Ruby on Rails projects I mainly use Heroku, but there's a recent push to move to Hatchbox (which is a Digital Ocean wrapper) for it's lower price. As for Vue projects, I use Vercel for everything. In the past I've been between Netlify and Vercel, but Vercel is cheaper and their domain management is incredibly simple.
It's worth mentioning the three horsemen of modern development; Webpack, PostCSS and Babel. I love these three and I am fairly comfortable making changes to them as their documentation is excellent, especially Webpack.
For eCommerce projects I reach for Shopify. It's the easiest solution for developers and clients. In the past I have used Solidus, an open source eCommerce project built in Ruby on Rails but I do not rate that very highly. I'd like to enter the world of Next JS but I'd need to brush up my React before doing that.