HACKER Q&A
📣 coreyp_1

If starting from scratch, what web stack would you use?


I'm asking for the wisdom of the masses here, in either suggestions of what to use, or warnings of what to avoid.

Context: I'm a former (old-school) Drupal developer, full stack, but I've experimented with a lot of technologies over the last 15 years, so I'm happy to hear any suggestions. Furthermore, this advice is actually for a friend, but I thought that I would ask here since the audience is so knowledgeable and I have not actively developed a website in probably 5 years.

If you were to build a new website, what front end and back end stacks would you personally choose? The constraints that I worry about are:

1. Low initial cost versus scalability. Spreading a website across the cloud is cheap at first, but costs can add up quickly. Then again, building a single monolithic web app will break down at a certain point if it can't scale. Thoughts?

2. DevSecOps. Supply chain security is a big concern. NodeJS and Python both seem to have issues with this lately.

3. Stability. I'm always wary of chasing the latest fad, or the newest thing. Lately, several open source projects have decided to go to a paid structure only after getting people hooked on earlier free versions, and then they declare that they will not supply security updates to older versions, forcing either paying them for something that used to be free, or rewrite a significant portion of your software or infrastructure. Using the newest technology also carries a risk, in that it will change quickly, requiring massive updates and rewrites. I'm just looking for stability.

The website will be a community-based hub, so to speak, so dynamic and non-trivial with user access control requirements. Sorry for the lack of details, but I don't know a lot of them yet myself, and they would probably muddy the waters anyway.

Thank you for any insights that you can offer!


  👤 PaulHoule Accepted Answer ✓
Java back end, all SSRed, maybe some HTMX, D3.js and other JS libraries for fancy features. I would consider a heavy front end for video game like UI, animation, or if I really want to make something that behaves like a desktop app. Would learn towards React for that because I use it for work and have accommodated for it. I want to like Svelte though.

For my side projects I used a lot of Python (easy access to ML tools) and find it is fun to write interesting apps (websockets!) with aiohttp. I don’t know how reliable and scalable the Python back end is but I know Java can handle the load because I have been seeing it do so for years.

I do a lot of side projects with arangodb which you don’t hear much about because I think most arangodb users see it as a secret weapon. I have had the server get corrupted and need a reboot from time to time, I’d say today “you can’t get fired for choosing PostgreSQL” and that is a very solid SQL database that Engineering managers I know swear by and it always seems to come through.