Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is your go-to stack for the web?
38 points by federalbob on Feb 9, 2024 | hide | past | favorite | 70 comments
Going back to the web after 10 years, I'm summoning the HN wisdom.

What is your go-to stack for a classic business web site ? for a Saas ? for a landing page ? for [whatever you do here] ?




I ran a web dev business for 20 years. It includes two sites you probably have visited and bought things from. We used HTML for HTML. CSS for CSS and Javascript for Javascript.

Then we used a common and popular programming language to make them all work together.

It was compatible with everything. Worked everywhere. Interfaced with everything. And was as fast as hell.

No additional thinking or learning required.


Yes, exactly. And because all of this is bundled in laravel (and at some point I learned working with the framework), I'm using this since years for almost everything.


Django: function based views.

UI: Django templates, htmx, tailwind, vanilla js or hypersceript, no build, no node, no npm. Avoiding writing js as much as possible.

Background workers: RQ with 3 priority queues

Deployment: Kamal one command deployment with underlying docker

Hosting: Linode server with backups

Storage: Mounted volume on the machine (maybe s3 eventually).

Benefits:

* High speed of iteration

* No boilerplate mess

* No build therefore no dealing with dependencies and npm rabbithole

* Fast deployment with Kamal (a bit of learning curve but once up just works)

* Much cheaper compared to PaaS. At least 50%.

* Multiple websites on the same instance

Of course I know django quite well so the goal is to remove as much friction as possible.


For web PHP.

PHP has many stable frameworks if you are in to that and if you don't want to use a framework you can run vanilla PHP without a problem.

Dependency management is done these days with composer and it is easy add a dependency, like framework or library, from composer.

PHP has has lot of good tooling like IDEs, linters, testing etc.

Here is a short intro to PHP I wrote a few years ago.

https://news.ycombinator.com/item?id=25222509


I pick what I know best and "just works" because of my experience and the framework's maturity. YMMV

Backend: Spring Boot (Java or Kotlin depending on solo vs cooperation)

Frontend: React ("https://hilla.dev/" looks interesting, might try that next)

Database: Postgres


Hilla looks great! Thanks.


These days I am doing HPC software development, so not much web development. Over the last few years I used to work as a senior lecturer and then a junior professor at a university, where my group worked with web tech quite a bit.

We used PHP/Laravel for developing a scientific SaaS prototype [1] and Python/Django for teaching web application development [2]. For documentation (including teaching materials, blogging), we had a preference for static site generator (Jamstack) solutions: we used Sphinx and later switched to MkDocs [3, 4].

[1] https://group.miletic.net/en/publications/#2021

[2] https://group.miletic.net/hr/nastava/kolegiji/PW/#vjezbe

[3] https://group.miletic.net/en/blog/2017-07-29-why-we-use-rest...

[4] https://group.miletic.net/en/blog/2021-08-16-markdown-vs-res...


I've been using Go, HTMX, Alpine.js, and Turso.

So far I've been loving it. Simple and easy to get started with. Everything works so well togther and is really easy to deploy as a single executable which can include any asset files with the `//go:embed` directive.


PHP and Symfony for the backend, Bootstrap for the frontend. Very classic. DB is MariaDB and Cassandra.

We also have many internal tools in R/Shiny.


I use .Net & C# for backend development and Vue or Blazor for Frontend. .Net has great tooling that won't get in your way as you work on the project. C# has added lots of great features and is blazing fast nowadays with every .Net release being accompanied by a massive blog post describing all the performance improvements to the runtime[1].

[1] https://devblogs.microsoft.com/dotnet/performance-improvemen...


Next.js + PostgreSQL.

I also use Nim for when I need high-performance code, which can be utilized as a Node.js add-on using Denim.


Mine is the CHAMP-stack. Consisting of CSS, HTML, Apache, MySQL and PHP.


What is Apache in this context? Tomcat?


I don't know. Is Tomcat some version of Apache server? It says 'apache2' at my localhost while installing the server, and at the webhost I don't know (might be some other server that can run PHP). I usually don't dive deep into server territory, so I'm a lucky guy that I can focus on the design and the webdev.


Apache Tomcat is a web server for Java web applications, different from the Apache HTTP server (your 'apache2').


Is it all running on Linux by chance?


I have a hard time finding out if this is also some wordplay, like my own. But yes, it's running Linux at home and probably also at the webhost.


Probably not, because it will be LAMP otherwise.


Rails for SaaS/CRUD, haven’t done anything semi-static in a while, but would probably go with Webflow.


Roda: Routing Tree Web Toolkit fur Ruby [0].

Sequel: The Database Toolkit for Ruby [1]

Front end could be anything including no javascript. Roda makes it very easy to either write APIs or server rendered partials.

I love the simplicity, clarity and performance of this stack.

[0]: https://github.com/jeremyevans/roda

[1]: https://github.com/jeremyevans/sequel


I'm playing with Sveltekit + Trpc Backend + DrizzleOrm + Postgres. I am using plain Javascript + JSDoc and Typescript checking.


I have been really impressed with SvelteKit in my production SaaS for about a year now! You can make any type of static/dynamic/combination site, the dev experience is really good, and it feels like it elegantly bridges the front-and-backend (getting data from the back-end, form submission) which is something I've wanted since I started in 2011.

My SaaS uses SvelteKit, SQLite and Sequelize, but I would probably try Drizzle if I was starting today.


Clojure using for the server side https://github.com/kit-clj/kit

htmx for frontend, using the built-in kit htmx module.

Previously I used Clojure, re-frame and websockets using sente. It is very productive, but now I prefer the lightweight feeling of htmx.


Full stack ClojureScript on Sitefox with either Sqlite or Postgres, deployed to a VPS with Piku.


Django because in a word of constantly changing frameworks and approaches it’s nice to have something solid. New versions add improvements but Django is basically still the same as it has been for almost 20 years. It’s really fast to build things with as well and the Admin is amazing (just don’t try to overuse it).

Recently HTMX has been a really nice addition, adding some fanciness without writing more JS.

Some bits are just easier to do as full on JavaScript components and for those I use React because I know it and it does the job. Just for bits though (often as small as one component in a otherwise vanilla Django form), SPAs are a pain to write and maintain.

I have a SaaS so that’s mostly what I’m doing.


For pure APIs: pyapi-server [0]. For classic Web sites: Starlette [1], with SQLAlchemy Core [2] for database integration. Or, if you prefer something with more batteries included, FastAPI [3].

[0] https://pyapi-server.readthedocs.io

[1] https://www.starlette.io/

[2] https://docs.sqlalchemy.org/en/20/

[3] https://fastapi.tiangolo.com/


My personal website uses SvelteKit to glue together HTML, css, and a small bit of JavaScript. Most of the website could easily be extracted and deployed on its own or in another framework. I use Svelte primarily to provide a common nav bar across routes and to execute JavaScript that bundles my blog posts to display by date. I enjoy designing my pages by hand, so I prefer this setup to a static site generator. I vastly prefer it to using something like React. I do want to simplify the setup, but it works well for now.

If I were working on a website that needed a backend, I would use htmx and either flask or Django.


I've tried so many and still love Scala.js + React / Scala.

One language, one tooling, one set of models etc across the entire stack is just so much nicer.

And you never have to worry about performance, scalability or lack of libraries.


Landing page and a business website can most likely be static, so AWS S3, Cloudfront, ACM, maybe a little lambda if necessary.

Services I tend to start with Flask, Celery, redis and build from there.


Pick what you know if you're going to build for a business. Me? Rails, Django and Postgres on AWS. Nowdays, Django on Lambda.

If you're building for fun, whatever you want!


There are a ton of past threads on this, many valuable, and some huge. You can find them by searching [Ask HN web] (or stack or framework, etc.) in the search box at the bottom. Here are some decent-sized ones going back to 2016, but there are many more. I figure if something is recommended a few years ago and also recently, it's probably good, stable, and well-documented.

Ask HN: If you were to build a web app today what tech stack would you choose? https://news.ycombinator.com/item?id=38059036 (92 points by russianbandit 3 months ago | 208 comments)

Ask HN: What does your self hosted stack look like? https://news.ycombinator.com/item?id=37164315 (52 points by LorenDB 5 months ago | 41 comments)

Ask HN: Which stack is as boring (good boring) and cheap in 2023 as PHP? https://news.ycombinator.com/item?id=35112481 (38 points by alentred 11 months ago | 46 comments)

Ask HN: What would be your stack if you are building an MVP today? https://news.ycombinator.com/item?id=34530052 (459 points by nvln on Jan 26, 2023 | 727 comments)

Ask HN: Solo Dev Stack of 2022? https://news.ycombinator.com/item?id=33046696 (40 points by jstummbillig on Oct 1, 2022 | 81 comments)

Ask HN: Help me pick a front-end framework https://news.ycombinator.com/item?id=32799003 (141 points by bjackman on Sept 11, 2022 | 177 comments)

Ask HN: Web frameworks – which less popular frameworks are you using and why? https://news.ycombinator.com/item?id=31607256 (84 points by vanilla-almond on June 3, 2022 | 147 comments)

Ask HN: What tech stack would you use to build a new web app today? https://news.ycombinator.com/item?id=29626371 (48 points by gt565k on Dec 20, 2021 | 73 comments)

Ask HN: Which tech stack is the most fun? https://news.ycombinator.com/item?id=29625165 (100 points by chickenWing on Dec 20, 2021 | 184 comments)

Ask HN: Simplest stack to build web apps in 2021? https://news.ycombinator.com/item?id=29311761 (99 points by yblu on Nov 22, 2021 | 188 comments)

Ask HN: Which stack for prototyping? https://news.ycombinator.com/item?id=26851533 (57 points by tbronchain on April 18, 2021 | 99 comments)

Ask HN: Fastest/easiest framework to build a web application in 2020? https://news.ycombinator.com/item?id=22161880 (77 points by ryanSrich on Jan 27, 2020 | 89 comments)

Ask HN: What tech stack would you choose for building your next app? https://news.ycombinator.com/item?id=21807469 (39 points by _fwu1 on Dec 16, 2019 | 52 comments)

Ask HN: Go-to web stack today? https://news.ycombinator.com/item?id=18829557 (542 points by capkutay on Jan 5, 2019 | 443 comments)

Ask HN: What stack would you use to build a CRUD web app in 2018? https://news.ycombinator.com/item?id=16508965 (189 points by xstartup on March 3, 2018 | 178 comments)

Ask HN: What tech stack would you choose for a serious, long-term business app https://news.ycombinator.com/item?id=16763981 (44 points by bballer on April 5, 2018 | 78 comments)

Ask HN: Which stack do you use at your startup? https://news.ycombinator.com/item?id=16390851 (88 points by xstartup on Feb 16, 2018 | 126 comments)

Ask HN: What language/framework do you plan to use in your next project? https://news.ycombinator.com/item?id=14864389 (119 points by _pfxa on July 27, 2017 | 258 comments)

Ask HN: Starting a project today, which web framework would you use? https://news.ycombinator.com/item?id=14391951 (94 points by betimd on May 22, 2017 | 155 comments)

Ask HN: What web framework do you use? Why did you choose it? https://news.ycombinator.com/item?id=13254051 (71 points by moraya-re on Dec 25, 2016 | 118 comments)

Ask HN: What is a “boring” web stack? https://news.ycombinator.com/item?id=12866695 (51 points by stevetodd on Nov 3, 2016 | 48 comments)

Ask HN: What are the best web tools to build basic web apps as of October 2016? https://news.ycombinator.com/item?id=12774616 (114 points by arikr on Oct 23, 2016 | 82 comments)


Frontend:

- "vanilla" React (no Next.js or any other framework-y bloat)

- MUI

- React Router (v5 because v6 is a pain)

Backend:

- Node

- Typescript

- Express

- Prisma or Sequelize

- Sometimes Django/DRF in lieu of the above

- MySQL or Postgres

Deployment:

- KISS principle: one Digital Ocean droplet, no serverless or any of that


BE: .Net minimal API, Entity Framework (SQLite or PG as database) FE: React + Tailwind and few other libraries


JavaScript (react/nextjs/eleventh) if it's a small project and I want to get it up and running quickly.

CSS or SCSS depending on complexity

If it's something that needs logins or more common features I'll usually switch to rails it just gets all the tedious stuff out of the way!


I love vanilla Rails (that includes Hotwire) + Postgres + Heroku + Tailwind. I do often use Rubocop and some other rolling, and want to package that as a project starter kit.

I’m looking forward to seeing Rails 8 in action, as is going to make building PWAs easier.


Mithril and xstate if it’s needed. Backend plain Go or Bun.

I don’t know why more people don’t use mithril


Front-end: A few static sites (i.e. landing page) + Angular. Back-End: A few C# APIs with Redis for caching. Database: MongoDB + SQL Server. Deployment: Docker Containers on Azure via DevOps Pipelines (one-click deployment).


Backend: Node with sqlite, Postgres or MySQL. Front: Vue with Bootstrap


I've moved everything to ASP.Net Core Blazor. I've been developing web apps on Microsoft's stack since Wrox's ASP 3.0 book. It's always been a pleasure.


Notepad/TextEdit are my go-to HTML/CSS/Javascript/PHP editors.

When I got more serious at one point in my life I used BBEdit.

I found Firefox's development tools very useful as well.


Astro SSR, deployed with Caprover on Hetzner Ubuntu machines. Tried Django, Next.js, React+Go/Gin, Blazor. Never been more productive in my life.


Python/Flask, HTMX, SQLite or Postgres, Bulma CSS.


HTMX, Tailwindcss + TailwindUI blocks + Flask + Sqlite & Litestream to s3 on baremetal. Celery & Redis for background tasks.


Sst.dev and remix.run are a pleasure to work with


Another vote for SST!


Go, postgres, redis, vue, tailwind css. Been wanting to experiment with htmx, but haven’t gotten around to it yet.


sveltekit + supabase/pocketbase


these days I’m often using Supabase on backend, Nextjs+Vercel frontend

it has increased my speed to market massively. I mostly work on enterprise CRUD apps so getting things like SSO and API for free on Supabase is a great time saver

and then some apps require more specialized functionality and for that I’ll leverage the AWS stack


ExpressJS back-end + NextJS front-end is the most productive one for me.


Node, TypeScript, ESLint, Tauri, and a bunch of custom ESLint rules and a bunch of custom unit tests.


Saas with a bit of data engineering mixed in: Mongo elastic react (nextjs) gql python spark LLM


For SaaS, React in the frontend, Django + DRF in the backend. Postgres as DB. That's it.


For a website? Wordpress honestly works pretty well if you don't install 20+ plugins.


Backend: FastAPI + Pydantic + SQLModel (Python) Forntend: Vue/Nuxt Database: Postgres


For SaaS, React frontend and Laravel/Lumen on the backend. DB is usually Postgres.


SvelteKit, with Zenstack handling access control on top of Prisma. Postgres as DB.


Vue 3 + Nuxt + Tailwind + Supabase + Google Cloud Run = Luddite Friendly


Hey, you dropped this: /s

But more seriously, given this is HN, I honestly can't tell anymore.


Postgrest + Petite-vue + One of the many classless css frameworks.


On a second though... Openresty would be my go-to choice for performance-critical parts of the backend.


Elixir, Phoenix LiveView, Postgres, TailwindCSS


Laravel backend

React frontend


solid and tauri for apps, astro for content sites (with a headless cms if it’s big)


Which headless CMS do you recommend?


Honestly? I dislike every single one and I avoid it when possible. It’s a matter of aligning the UX with the client’s preferences and expertise. Last project I used contentful, it has a lot of features, so it’s a good choice for a project which will scale.


very small and indie, but i’ve really enjoyed SpinalCMS.


HTML & CSS


Rust and vuejs


express, pm2, postgres, jquery


For personal use or at work?

Personal use:

- OpenWrt

- Hiawatha webserver

- PHP

- SQLite if really necessary

Work:

- not my decision




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: