Hey guys! I'm interested in SAAS applications and thinking to build one.
So how do i get started? where do i begin? and what all must i know before starting to develop one?
Right now, I have experience with Python, Java, C++ and web application development technologies ( PHP Laravel, Bootstrap, Js, HTML & CSS and basics of React Js) and Databases, also basics of AWS.
So can you guys tell me how do i start ? I have googled already but all I found was, get an idea and start building.
I'm new to this so i want to understand how it works, where and all SAAS would work! it'll be great if you guys help me out here. I know it sounds like a noob. I myself felt that when I was typing the question, But still I'm interested to do it. I appreciate your help guys!
@matteomosca created something exactly for that!
Check out https://pain.land/
It's best to "scratch your own itch". If you have a problem with something, it's possible that others have the same problem. So by making solution you can gain potential customers.
Also, by making product solving your own problem you can better understand what your client really needs.
But if you want to see how it looks like to build SaaS application - try something already on the market, make your own version. For example, before we build https://seodity.com we made much simpler SaaS for generating PDF documents/invoices from HTML.
Hey @gregory90 thank you for your advice!
Yes, I'm trying to figure out what service should I provide. I'm still in the planning phase of the project. Let's see how it goes.π
Hey Abhijith, you're in a good place with that sort of technical experience.
In terms of finding an idea, start simple. Try to build something like a blogging tool or an invoicing app. Just difficult enough to make it interesting.
Next, you will want to think about what "using" the app looks like from a user's perspective. For example, if you're building an invoicing app, what's involved in creating an invoice? How about editing one? Can clients pay invoices directly?
Once you start to understand that, you should be able to mentally see a flow of pages/screens coming together. For example, if you have to create an invoice, there needs to be a url/route for that like myapp.com/invoices/new and one to update it like myapp.com/invoices/:id/edit.
With that in mind, the next thing you'd want to do is consider how you will implement your features technically. For example, build your UI with Laravel templates and a Bootstrap theme, use a REST API to communicate between the UI and backend, and then how you will store/retrieve data from the database. It's helpful to have a pattern here because it takes out the stress of juggling a bunch of different ways of doing the same thing.
There's A LOT to this. If you want more help, let me know and I can share my email so we can chat further.
This is the exact problem https://saasify.sh is looking to help solve π―
Hah, I literally just put up an article about this: https://www.indiehackers.com/post/the-huge-list-of-code-you-need-to-write-to-start-a-saas-522f557496
Though writing the code is just one part of it. You also need to market the heck out of yourself - "if you build it, they will come" this ain't. You also need to take care of customer service (once you have customers), ongoing development (once you have something developed), etc.
Definitely keep hanging around on IH and reading answers to other IHers' questions, then when you have some more-specific questions, fire away!
Hey @DanHulton thanks for your reply! Yes, I'll definitely go through your article. And also thanks for the advice! It means a lot. π
It seems you have all the tech knowledge needed, but you lack some of marketing / product development skills.
Maybe you could pair with someone that covers what you don't have already (someone who can do a market research, find pains and come up with ideas and know how to communicate and position your offering)
I hope it was helpful somehow, and good luck on your journey!
Hey @valdir thanks for your reply! π
I will definitely figure out about marketing stuff and if possible I'll partner up with someone. Thanks for the advice! π
It sounds like you have a lot of the foundations in place but just need to tie it all together. A SAAS website is just a place where you can buy things in return for goods or services. Stripe is a way that you can easily add payments onto a website. The idea is that the person would click the buy button, be directed to stripe's platform where they put in their cc details and then stripe would send your backend a message that it successfully got the payment and then you could add a new record to a payments database or even in an auth0 login token so that when the user tries to go to the product page, your website will see that the payment receipt is there (either by fetching from the database or decoding it from you JWT in auth0) and then you can show the service to the user.
I'm glossing over a bunch of the nitty gritty details since it depends on exactly which services that you piece together, but the core idea is to use Stripe + some other service you have control over (like auth0, a database, etc) to store the payment confirmation so that you can check using that the next time a person wants to use the service.
Hey Stephen, thank you for your reply!π I was actually curious about what type of services would people use, as I can see that, almost everything is out there, already implemented and being used by organisations. So to get started, for starters or beginners, what type of services could I try ? You know, just to see how it works. Currently I don't have any exact idea of what service or solution I want to build. I'll surely do research on those things. But meanwhile, if you can guide me where to start, it'll be very much helpful. π π
There is no one way to do this, but since you mention react, I did make a video of showing how to take a react framework next.js and add auth0 to the site. So by the end of the video you'd have a site with user login and a protected page.
Add Auth0 to Next.js
Then you'd need to do a few more things:
react-stripe-js.stripejs library.stripe.customers.list({email})to see if the user is new or not.stripe.customers.create({email})to create your new customerstripe.charges.create({ description, currency, amount, customer: id})to actually make the charge.Anyway, I know this is pseudocode but hopefully that gives you an idea of what you are trying to do. The nice thing with that approach is that you don't even need a database- you can have static pages that will only show the paid content if that boolean is true.
hey stephen, thanks a lot. this will get me started. atleast i'll have an small website. i'll think about what all services i can provide. thanks for your help!