Hi.
I'm curious how did evolve your main tech stack over the years. I'd like to hear your stories, why did you change to a specific tech stack and are you happy with it now?
I can start:
Previous projects I was building with a tech stack I knew well.
It was Symfony & REST API as the backend and VueJS with Bootstrap / Bulma.
Then I had an opportunity to learn the basics of GQL, NestJS, and ReactJS in my job.
It was the moment I found out something...
If I wanted to build and iterate quickly, I had to change my tech stack.
Building a REST API, coding frontend, then struggling with deploying and managing infrastructure myself was a pain in the ass.
And here we are.
I managed to learn & build the last project in NextJS with some serverless.
There I ran into a few problems: NextJS 12 vs 13, cold-start for serverless, managing connection pool for database, and slow responses due to Prisma use.
I tried to resolve that.
Finally, I go right now with a stack of: NextJS hosted on Vercel, and self-hosted Hasura with Postgres for the GQL API.
I use NextJS with MUI to add good-looking components. I use Codegen to quickly generate type hints.
I feel okay currently with this stack, we'll see what the future will bring.
A long time ago I started as C/C++ developer writing complex multiuser Windows software. I then moved to a mix of C++ and Javascript (embedded WebView) and then to JS backend with Node, MongoDB and JS frontend.
These days it is Node + SQLite + nGinx on the server, Lit (web components), IndexedDB, YJS etc. on the frontend for my Clibu Notes app. And Vite and Yarn.
There are always shiny new libs and frameworks coming along and I do keep an eye out, but the benefits of changing need to be really high. If I was starting a new project that would be different. At then end of the day productivity is pretty important.
Nice story switching from C/C++ to a JS stack. We'll see what's next, but knowing JS stack these times will pay off well, so yeah for sure worth it!
I went from monolith django + react (vanilla, no UI libraries) to next.js + chakra ui + supabase for superfast projects.
Overall, I'd say trying different things definitely helped me out in my speed and quality. Nowadays, I alternate between django and supabase. Using supabase for personal projects that I want done in a timespan of 1-2 weeks and django most projects managed by my agency and freelance business!
Do you use the Free Supabase plan for your projects? I saw their pricing $25/project, which feels a lot if you want to serve a few side projects., unless you fit into the free plan with those.
And the free plan has a note: "Free projects are paused after 1 week of inactivity." :(
I went from Python/Flask backend and bubble.io front-end to going NextJS/Supabase/Python (API).
I try new things constantly but honestly Laravel for backend is such a comfort zone for me that I always come back to it. I've done some node and Django recently and even ventured in Golang but when I just want to build something I always come back to Laravel backend and react frontend
Yup, Laravel / Symfony + ReactJS is a really good combo to quickly build a web app.
One minus was when I started using GQL, I felt PHP doesn't fit, and decided to use NestJS for that, which gives much better developer experience.
Maybe instead of evolving it , leaning it is better
I'm still using Flask and PostgreSQL with Server Side Rendering
But now I'm planning to Use Deno Fresh for frontend and Flask or FastAPI for backend
My prefered DBM will still be PostgreSQL
For hosting, at the moment I prefer it simple with no k8s and other devops tools
Just keep it simple until the needs to add other tools comes
Hi @przybytniewski!
My stack used to be Node.js / PostgresSQL, and Vue.js on the client-side.
Nowadays I am rather happy with Go(lang), and React.js (Next.js).
Cheers.
Interesting. I was thinking about trying something like Rust, Go as they feel modern, different from php / js, but I'm not sure I'd use that for my new side-projects, as they're more of simple web apps.
What are your use cases for the Go lang?
Ultimately what made me stick with Go was its simplicity. In spite of my years invested in Javascript and its ecosystem I've reached a point where I want to get things done rather than wrestle with tools. (I still write a lot of JS on a daily-basis).
Currently I am not working on anything that cannot be built with Node.js, however Go it's so simple and predictable that I feel more comfortable working on a complex problem on it than in Node.js. (That's just me, not Node itself).