4 ms·
Ask HN: Which tool stack do you use to build a web based SaaS app
I have read a lot about successful SaaS entrepreneurs here at HN and am sure you have experience with the problem I am facing.
Now I find it difficult to decide for a good technology stack to build a webbased SaaS, especially the frontend gives me headaches.
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.
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?
..because surely the SaaS web-app is build with a different highly customized frontend. Again, what web frameworks do you recommend (AngularJS, Bootstrap, ...)?
Thanks for reading, and thanks a million for answering!
- mindcrime 8y agoUse 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 8y agoThanks 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.
- a-saleh 8y agoIf I were you, I would try to go through the vue tutorials first and then probably try something like https://bootstrap-vue.js.org/ https://bootstrap-vue.js.org/. The bootsrap itself [2] is kinda industry standard among saas applications (and reason why they look kinda similar ;) [2] https://getbootstrap.com/ https://getbootstrap.com/
- Blackstone4 8y agoI 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 8y agoI 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-publishing-about-ruby-on-rails.html https://www.nateberkopec.com/blog/2017/03/10/how-i-made-self...
- zephro 8y agoyou 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
- xstartup 8y agoKillbill.io for http://killbill.io/ http://killbill.io/ for SaaS subscription management. It's free and opensource.
- zephro 8y agothanks, this looks cool. What do you think about https://firebase.google.com/ https://firebase.google.com/ ?
- Blackstone4 8y agoI 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).