Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What's the best tech stack for indie hacking?
13 points by forte124 on Jan 27, 2023 | hide | past | favorite | 21 comments
I've built full-stack applications using django and vanillajs/html/css ever since grad and hosted on DO

Never really bothered to change stacks, but I'd want to know what's something that's faster/cheaper/more scalable/modern

What's your guys' go-to stack?



If you really want the best stack that will impress all your engineer friends then use the following:

1. Rust backend that communicates with another Go based API. Use Rust for the performance critical parts and Go for the rest.

2. Use Python to build a machine learning model of some sort for your app.

3. Build your marketing website using JAMSTACK. Use a NextJS frontend, an Express API for rendering server state. Deploy the whole thing on Kubernetes. Make sure to automate everything using CI/CD so that deployment can be done using a single command or click.

4. Build your app frontend using a mixture of SvelteKIT and server side templates. Use Svelte to provide fluid user experience and server pages for simplicity. You can also mix in React and Vue if you like. Depends on how impressed you want your friends to be.

5. Also make sure to use multiple different databases. Use PostgreSQL for relational data, MongoDB for tree like structures, and also try some SQLite for simple stuff. If your friends read HN then they're gonna be really impressed by your use of SQLite.

That should set your up, don't try to over-complicate things. With a bit of luck, you'll be able to ship real software in less than 5 years.


The one that get's you there fastest. If you hack on something and you need to finish it, then probably a lot better just to use what you are using.

Personally, my stack is Bottlepy (Python) and VueJs for frontend. Bottlepy is so simple and never changes, you just learn it once (and in a day) and you get stuff done. VueJS is a lot easier to learn than react and it just gets stuff done. React have other advantages such as bigger community, more tools, a bit more structure - but if you're small team I think VueJS shines more.

I used to use Django/Vanilla JS like you by the way :)


The speed at which I can develop prototypes in clojure is unmatched by anything else. REPL driven development, frontend with reagent, and sharing domain logic code across frontend and backend is invaluable. Adding spec, datascript, and core.async makes previously complex tasks extremely fast and boilerplate free.

I usually prototype this way and then move things to a different stack piece by piece when others get involved, as the interop with Java and JavaScript is great.


Wow Reagent looks really nice. I don’t know clojure, but this is quite readable and appears to let you skip a lot of the normal effort involved in a react app.


If the dev experience is so great, why move at all?


Because there are not as many clojure developers and growing a team and finding particular experts in certain fields is harder.

Less amazing design/html/css people know reagent than react, for example.


Related thread: https://news.ycombinator.com/item?id=34530052

Recently went through this discussion with two friends. For now we are doing PocketBase for a simple, extendable BaaS, Flutter for front-ends.

We are starting to drool looking at Elixir, Phoenix, and LiveView from afar. But the learning curve would slow us down for the next MVP that we need to put out on a schedule.


This thread is really good and just what I was looking for - thanks!

What makes you want to use Elixir, Phoenix, and LiveView? I've never even heard of these before

Back when I dabbled in web dev in college, people only talked about the MERN stack lol


My go-to stack is Node and React.

The fastest is the one you already know. The cheapest is the one you don't use. More scalable requires more complexity. More modern is probably completely useless until it's not modern anymore.

This reminds me of a technical discussion I was involved with regarding picking a language to develop a microservice. We chose Java because the vendor recommended it for easier integration with their service. It turned out they didn't have a Java library, it was just an HTTP API and nothing about the integration was made easier by using Java. The vendor just only worked with Java so that's what they recommend. I was an advocate of C# primarily because that's what we use in our other services.

Anyway, my point is "faster/cheaper/scalable/modern" are marketing terms and you should be wary of anyone selling you a solution based on these.


On that line, I've been using next.js for quick prototypes and it works great.


It's been some years since I do fullstack apps in Scala/Scala.js, with no plans to go back touching js/ts for anything serious (I know, I had to touch a js project a few hours ago).

Usually, I just fork my team's template [0] which has most pieces required by a common web app. There are many types of errors that can't occur in this setup. And, if I ever need to Scale, the setup Scales pretty well with a single server (I used to run a mini block explorer that indexed the whole Bitcoin blockhain into a 2TB+ postgres database).

- [0]: https://github.com/wiringbits/scala-webapp-template


If you don't already know a tech stack, I'd recommend Elixir & Phoenix (incl. LiveView).

If you DO already know a tech stack then use that one!


I've been using .NET. Cross platform, cross language (though I prefer C#), multiple technologies (cloud, desktop, mobile, web, ...) and open source. https://learn.microsoft.com/en-us/


As the guy that builds the engine/infra rather than build products... my own: https://www.adama-platform.com/


Build with what you know, that way you'll be focusing on just building what your customers are asking for, and not also having to learn the technology as you build.


Your stack sounds perfectly fast and cheap and scalable and modern. Stick with it. If you want to run multiple apps in one DO droplet to save money, use dokku


My advice is nextjs for all frontend stuffs and something simple like Flask/Sinatra/ExpressJS for API.


Check Flutter.

You can quickly build something usable on different devices and use firebase as backend.


Django/htmx


Rails Nextjs Django


I use dotNeT




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

Search: