
Ask HN: Which tool stack do you use to build a web based SaaS app - zephro
I have read a lot about successful SaaS entrepreneurs here at HN and am sure you have experience with the problem I am facing.<p>Now I find it difficult to decide for a good technology stack to build a webbased SaaS, especially the frontend gives me headaches.<p>I am confident that I am fine with Python and Flask or maybe Django on the backend, but which frameworks, services, etc. do you use for your user interface and how does this integrate with your backend.<p>There is some great landing page template providers (e.g. leadpages.net) and I am sure it works as a good conversion channel, but how would I integrate this with a SaaS?<p>..because surely the SaaS web-app is build with a different highly customized frontend. Again, what web frameworks do you recommend (AngularJS, Bootstrap, ...)?<p>Thanks for reading, and thanks a million for answering!
======
mindcrime
Use what you know. If that happens to be PHP and a little bit of jQuery, then
use that. If it's Groovy and Grails with Bootstrap and jQuery, use that. If
it's Go on the backend, serving GraphQL APIs and a ReactJS front-end, use
that. If it's Java with JSP's and JSTL, use that. If it's Java and Jersey
serving up a REST API coupled with an Angular front-end, that's fine too. If
it's COBOL on an IBM iSeries box... well, then you have bigger problems. But
anyway, the point is, use what works for you. Don't do FDD (Fad Driven
Development) and worry about chasing the latest / greatest shiny object.

OTOH, if you don't "already know" something useful, and you're really picking
from the entire suite of possibilities (all the way down to COBOL on an
iSeries), then the prime points should probably be picking something that's
highly productive, well supported, with a large and active community providing
documentation, tutorials and bug-fixes, and plenty of people answering
questions on StackOverflow.

To that end, I'd say there are several good choices from a backend
perspective, depending on your tastes: Node/Express, Java/Jersey,
Groovy/Grails, Scala/Play, Ruby/Rails, Python/Flask, etc. For front-end,
React, Angular, or Vue are all popular, well supported, etc.

My personal choice happens to be Groovy/Grails with a front-end built using
"old fashioned" server-rendered HTML and a bit of jQuery for interactive bits,
with Bootstrap and a little bit of custom CSS for styling. YMMV.

~~~
zephro
Thanks for this super helpful comment ! Guess I go for python flask for the
backend and try one of the frameworks you mentioned. Angular React or Vue.
Never heard of Vue before but it looks interesting.

Regarding designs. To do so something fancy I guess I need a designer but I
was hoping to use some out of the box templates and tweak it a bit. So I don't
have to care to much about colour, fonts and basic elements. Any
recommendations? I am really clueless here and google throws back 'best 100
web templates', wix.com etc.

~~~
Blackstone4
I start with the default Bootstrap design and tweak it was I go by overiding
the defaults. Initially I will change the primary color. This will give you a
decent font and basic elements. No need to buy a theme. They come with tons of
extras which you won't use and will make it harder for you to make edits.

On the front-end side, React feels like the most popular JS right now and
appears to be widely used. It has an extensive eco-system. Vue.js is popular
but is mainly a one-man-band. If you are doing this to use in a work
environment, I would go with React. Else go with whatever you prefer.

------
a-saleh
I am of two minds.

First, if you want to earn money, choose the stack you know best already.
Figuring out how to do business will probably be tricky enough. Talk to your
prospects. Maybe start consulting first, and then convert recuring painpoint
of your customers to a product. I have seen an advice to write a book/guide
before you start with something that requires maintainance and few success
stories about that [1] :-)

On the other hand, I often like to create various pet-projects in weird
languages. I dabbled in clojure, kotlin, tried Vaadin, typescript, phoenix on
elixir, but I see on myself that while learning a new tool can be hard,
finishing a project is often harder :-)

Wish you luck!

[1] [https://www.nateberkopec.com/blog/2017/03/10/how-i-made-
self...](https://www.nateberkopec.com/blog/2017/03/10/how-i-made-self-
publishing-about-ruby-on-rails.html)

~~~
zephro
you have a good point that first as a technical guy I should probably not
focus on learning new technologies, but how to do business and get customers

------
Blackstone4
I would go with tech you know. This sounds like Python + Flask and a Multi-
page web app then throw in jQuery and Bootstrap.

If you're not into that, maybe try REST API on Python + Flask, React.js and
Boostrap. Unless you're a DBA, you can use AWS RDS to host your db and it's
super easy (one year free on your first year with AWS).

------
xstartup
Killbill.io for [http://killbill.io/](http://killbill.io/) for SaaS
subscription management. It's free and opensource.

~~~
zephro
thanks, this looks cool. What do you think about
[https://firebase.google.com/](https://firebase.google.com/) ?

