Ask HN: What's the fastest stack for making web side projects?
A lot of posts/advice on what stack to use revolves around making real websites that will need to scale.
But making a hacky prototype that probably won't have more than 10ish users (if it's even used) is completely different.
What setup allows you guys to go from idea to prototype the fastest? Bonus points for the least amount of packages, installation steps, deployment config etc.
(essentially looking for something at the intersection of these ideas: https://mcfunley.com/choose-boring-technology and speed for personal side projects)
49 comments
[ 83.7 ms ] story [ 1168 ms ] threadI actually had a little investigation within a team to choose a web stack for a similar situation recently. The team's skills set included Java, Golang, PHP, NodeJS, and TypeScript. And we were convinced that the quickest and cheapest would be building on top of Laravel framework with a few packages (Nova: Admin panels, Spark: SaaS app scaffolding, Jetstream: Auth scaffolding with 2FA and OAuth, Horizon: Queue monitoring, Forge & Envoyer: Server Management and Deployment). Building on Laravel is easy alone but for us the main reason to choose that stack was really those packages. They will save you lots of development time at almost no cost.
Yes, you're reading it right: even in 2021, PHP gets the job done in a fast way, prototyping is easy and the deployment is even easier. Just buy a hosting plan and you're done.
You can use zero package management or you can adopt Composer to get things modern.
The Frontend? Just drop some HTML/PHP files with Bootstrap or TailwindCSS and you're good to go
Flask
Vanilla JavaScript
jinja2 templates
SQLite
A cheap VPS or PaaS - Linode, DigitalOcean, Heroku
For other people it'd be more likely LAMP stack, others still .NET.
The fastest thing is what you are familiar with not what is trendy or new.
I'd also probably use managed services for DB etc versus running my own for a small prototype just because most of the time you can fit in the free tier and not worry about managing db's etc at first.
Firebase would also be worth a good look for quick prototypes but I wouldn't stay there long term most likely.
I would advise using something like Symfony to add a bit more structure like routing etc.
Need more magic ? Go with a tested framework like Laravel etc. If PHP is not your thing, you can use Python/Node whatever you are comfortable with but some of those languages have different server setup that is sometimes not as easy as LEMP/LAMP. And no, we don't want to introduce things like docker etc.
Right now I'm working on a microservice for SaaS, to isolate the core of the SaaS from the public website. The microservice renders the website and takes care of auth & payments.
Add a gateway in front of a lambda which hits a database.
V1 was a static site, landing pages to see if there was any traffic / interest. Jekyll. Deployed to S3, with route53.
V2 used two lambda functions (aws, python backed by an RDS instance. SES to send an email.) to add the most basic function to the static site, to test if people who wanted that content also wanted to take said action.
V3 I intend to build it into a full app. Probably in rails.
v2 has been running now for 2 years without maintenance, building a user base for v3.
I know C# and PHP, for me if speed matters then I go for C# just because I use it more on a daily basis.
Even though I know PHP would likely be quicker if I used both equally on a daily basis.
No stack, no packages, no installation, no deployment! Instant gratification! But also, no security, no scalability, no complexity, no fancy U/I. We're taking about a conceptual prototype, not something that could easily transition into a real product.
For me, react for the front end, communicate with a python FastAPI back end, use SqlAlchemy for an ORM to connect to a PostgreSQL db (which I already have setup for my side projects).