What tech stack should learn to create this SaaS website?

9 points by ScandinavianGuy ↗ HN
I want to build a website where users can do the following

Buy a lifetime subscription. Create a user. Log into their dashboard. Create a list of life goals where they can follow their progress by choosing whether they are working towards the goal or not

Get email notifications reminding them to review their own progress.

I know this is pretty simple stuff to most of you hackers, but what tech stack do you think I should learn to create this website?

I also know this is a pretty vague question, but i would just like to get an very vague/surface level idea of which frameworks/languages/services i should dive into.

Any feedback is appreciated!

Thanks in advance!

20 comments

[ 3.1 ms ] story [ 56.3 ms ] thread
Django and Ruby on Rails sound ideal to me for web apps like that. Both batteries-included frameworks, with very rich ecosystems, and based on dynamically typed languages so that one can write super fast.
I have worked some time with Django but i never quite "got it". I will try to research Ruby on Rails.
Laravel is probably the easiest, and it runs on shared hosting if that's a requirement. It also has a great community.
You could build what you describe with literally any tech stack. You don't specify how much, if any, coding experience you have but this is the kind of thing you want to keep really simple. If you know a stack like Ruby on Rails or Laravel, you could use one of them to spit out a bunch of server rendered pages very quickly. Then just deploy the resulting app on Digital Ocean or a single AWS EC2 instance. Keep it simple.
I know HTML, CSS, Javascript, Python. I have worked with Django but i find that it often gets to complex, feature rich and abstract for very simple products.

I will definetly look into Ruby on Rails, i get the impression that it's a pretty lightweight but capable framework compared to others

Thanks:)

Ruby on Rails is definitely not lightweight. Maybe Flask would suit you better.
Rails is basically just super Django. Its aims to be a similar proposition. If you find it too complex you should look at Flask like the other poster suggested.

I'm working from the perspective that you want to get this over the finish line as soon as possible and its about delivering the product. With that assumption, I'd say stick with Django because you'll have everything you need and the built in admin site should let you take big shortcuts.

If you want to learn more and make more decisions yourself Flask would be a good option, you just might have to set things up that you'd get for free with Django. If you're OK with that, then that's cool.

Good response, just a side note: there are much simpler and cheaper hosting options than EC2. Consider Heroku, AWS Elsastic Beanstalk, probably others.
What are you using right now to document your life goals and follow your own progress? What are you trying to solve?

Have you talked with people who have a similar problem? What are they doing to solve it? Are they using any applications or websites? Why, or why not?

Why do people not write down their goals, or why do they use pen and paper, or why do they use other apps if any?

If you're doing this only for fun and you don't care about the outcome, then it doesn't matter the stack. Choose one you like.

If you're doing this as an actual endeavor, which is likely given you've mentioned users buying subscriptions, then I suggest you start by digging a bit deeper into the problem and figure out the reasons for nonconsumption.

I'd say depends on the program language you are most familiar with. For example, if you know Python the best, you should definitely Django. If you are a Javascript person, go for Node.js, if Ruby then Ruby on Rails. You get the point :) Use your current experience to your advantage.

If you don't know programming, I'd recommend learning Python and then Django.

Go is a fantastic programming language...

You'll be productive in less than one week...

If you want to learn how to build a SaaS/web application in Golang...

> Read... https://amzn.to/377L2Sa

I am old school, so I will give my tech stack: Bootstrap, jQuery, C++ and PostgreSQL. That is all. Not much moving parts.

But if you want something that will get you up and running quickly then go with Bootstrap, jQuery, Django and PostgreSQL.

I am only starting with it myself, so I mostly see the benefits without actually being aware of the drawbacks, but you might consider Elixir and its most used web framework Phoenix.

It has some inspirations of Ruby/Ruby on Rails. José Valim (Elixir creator) had background in it and started creating it when Ruby was trying to solve multi-core/concurrency and somehow found about Erlang and its VM (BEAM).

Language and framework is probably one of the less important decisions, unless you want to learn that specifically. Easy mode is one of the monolith frameworks, Rails/Django/Phoenix/Laravel are popular here. For the BYO style, Flask/Express/Sinatra - I also have recently come to really enjoy FastAPI and recommend it. Basically you want to avoid anything too exotic and ideally stick to something boring and productive that you know.
Its worthy to note that I've never felt Java has had something as nice as Rails/Django/Phoenix/Laravel. SpringBoot seems to be a cluster of libs instead of a full package like the above listed with a nice community and awesome CLI tools around it. e.g `rails routes`, `rails generate` etc
I think you should use the HHJC stack:

HTML, HTTP, JavaScript, and CSS.

I want to piggyback on this question and ask the community in general. How does asp.net core compare to Django / Ruby on Rails for creating this type of SaaS. Asking specifically for speed of development.