8
33 Comments

How long does it take to build a Saas application?

I am interested to hear what framework do you use and how long does it take for you to build a saas application from an idea?

I use Spring Boot, ReactJS, SQL database, Heroku/AWS to build applications. It takes me 2-3 weeks to build an application in initial version.

posted to Icon for group Developers
Developers
on June 16, 2020
  1. 5

    Well, a SaaS usually has its main business functionality which depends on the actual product you want to build.
    Then there's all the "boilerplate", like user authentication, CRUD API operations, dashboards, notification systems, & more.

    And that is where the real difference is. There are a number of boilerplates which sell you all the basic parts, and all you have to do is implement the core functionality.
    I reckon it would take you at least 1 week to get the authentication with proper design and error handling done, so that's why I always recommend using boilerplates for big projects.

    I have a list of full-stack boilerplates but unfortunately I know only one for Java, it's called Turbovar.

    I hope this helps :)

    1. 4

      Have you ever considered using 8base (www.8base.com)? 8base rapidly accelerates development by reverse engineering a GraphQL API, and leverages AWS. It includes all the "boilerplate" functions that you mention our of box, and our model allows your products to scale without hitting a chokepoint that users of other comparable platforms have complained about.

      Happy to help anybody get set up on our platform.

      1. 1

        I will take a look at this. This looks interesting

        1. 1

          Glad to have attracted your interest! Feel free to email me at [email protected] if you'd like to get in touch. We love helping developers adopt our platform

      2. 1

        I didn't know it before.
        I like the idea a lot, but it looks very complex and now I don't have too much time to experiment.
        I'm saving the link for the future, will check it out later for sure ✌️

        1. 1

          Shoot me a DM with your email address so that I can keep you in the loop!

          1. 1

            There’s no DM here on IH but u can add me at [email protected]
            😉

            1. 2

              Ha, clearly I'm new to this community...thanks for the tip!

    2. 3

      Another interesting project for full-stack boilerplate is jhipster. It's not a plain boilerplate but a powerful generator based on Yeoman, so you can configure many things, e.g. which SQL or no SQL database you want to use, which front-end framework (Angular, React or, with a plugin, Vue), which type of authentication etc.

      You can also add boiler plate for a number of technologies like message queue, websockets, and much, much more.

      You can also generate full-stack CRUD for entities, from DB tables to Java classes to front-end CRUD code.

      It's based on Spring Boot for the backend.

      It's really a huge gain of time to bootstrap an app, but on the other it has so many bells and whistles that it will leave you with a lot of things that you might not understand or even know they are here, and that might get broken when you evolve the code.

      I would definitely recommend it for prototyping or MVP.

      https://www.jhipster.tech/

      Edit: oh, and did I mention that it's free and open source?

    3. 3

      As the author of one of said boilerplates, I definitely agree (though I am, obviously, biased).

      A common theme I hear from bootstrapper podcasts is that when they eventually hit a certain level of success, they end up having to go back and clean up all the shortcuts they took to get off the ground quickly - things like password reset emails, user-initiated subscription changes/cancellation, etc. These are solid wins for their customers, but they take time away from working on the core business just to hit parity with user expectations.

      Plus, for you, building these features is a distraction at best. For the boilerplate authors, it's our entire focus. So places where you would have to weigh the decision to take a short cut in the interest of focusing on your core business vs. fleshing out non-core features aren't even a choice for boilerplate authors - it is the core business.

      1. 2

        Wow Nodewood first off is an awesome name! Second NodeJS + Vue is awesome. Great work. I already bought @kylegawley Gravity which is amazing as well. React + NodeJS for Gravity stack.

        1. 2

          Thanks! And I'm happy to see Gravity's success, since it proves the interest and value in a full-JavaScript stack (and, well, I love cheering on other bootstrappers).

          Good luck building your app!

          1. 2

            By the way, is there a demo for Nodewood?

            1. 2

              No demo, no, but I've tried to make the docs pretty extensive, and they're available without purchase, so you should be able to see what it's like to use Nodewood. I'm also planning on building an app with Nodewood and blogging about it for a better example/reference for potential buyers.

              Right now I'm focusing on finishing the final features for initial launch, though. It's hard to sell what's not done!

              1. 2

                Yeah it's hard to go through with a $300 purchase without a demo haha. I really like how Gravity showed a full demo app build with it. I fully understand what I'm getting.

                1. 2

                  Yeah, absolutely fair. There will be a lot better demo material once I'm done actually developing the framework.

                  1. 2

                    When will you release Nodewood?

                    1. 1

                      I'm hoping it won't be much more than a few weeks! I'm working on the final touches now.

          2. 2

            Thanks! Perhaps for my next project I'd go with a NodeJS + Vue. I've used Vue before and really enjoyed it.

    4. 1

      Does turbovar still exist? The site seems dead.

    5. 1

      1 week for authentication alone?!?!

      1. 1

        Nah, but you get the idea right?

    6. 1

      Great page on Github!
      Can you please update the information on SaaS Forge boilerplate - it's now $239 USD. Thanks!

      1. 1

        Sure thing, thanks for letting me know!

  2. 2

    I think it really depends on what the product does and who the audience is. They say that you should have an MPV ready in few months and if you're not ashamed of your MVP than you've waiting too long. Well, I'm not sure I agree with that completely. While I do agree with the notion that you should FAIL fast and ITERATE based on the user feedback, I think there's a good balance you have to strike in creating that prototype/MVP that will satisfy the audience you're targeting.

    We are in the B2B market. So we can't just get an MVP out in few months that works to some level but looks ugly. Our audience DOES have some expectations in terms of the UI and UX experience. So in our case, we actually took more than 6 months to develop our MVP. We of course didn't add all the bells and whistles of course but added enough features that would provide VALUE to our end clients on DAY ONE.

    Also, coming from a development perspective, always add few months on top of your original estimate. We know that things will break and you'll run into something that you didn't expect, etc. We've all been there. As long as you're keeping your beta customers informed about what's happening, you should be ok. They know that this things happen. We set a realistic expectation in terms of when we would launch and they appreciated that and waited patiently. I have to say, based on the initial feedback we've received, it was well worth the wait :)

  3. 2

    It depends on the complexity. "Initial version" may have many meanings.
    For example, I was able to develop a multitenant, multidomain SaaS app in under 100 hours, see the journey here: https://www.indiehackers.com/post/im-building-saas-and-documenting-the-process-day-31-35-testing-bug-fixing-deployment-and-finally-mvp-is-alive-6810e1aedf

  4. 2

    I have a B2B SaaS I started developing last year. I've run a pilot with a client in the beginning of this year, it worked very well, very good results and now we have a 1-year contract. I did the basic first: React + Firebase + Node in a monolith. I iterated A LOT! I made huge changes. One of the best decisions I've made was to use a NoSQL database because I can change stuff VERY FAST! Another great decision was to use Google Cloud's App Engine so I could deploy my node.js backend code very fast without worrying about handling virtual machines or any infrastructure. Just code as it is. Right now, I don't worry about scaling, coding best practices, CI/CD. I need to ITERATE. And fast. It took me two months to finish the first version of my MVP, another month to make enough changes to be able to run the pilot with my client, two months running the pilot and making some changes. In total 5 months IN MY CASE. And I'm still using the React + Firebase + Node in a monolith and probably will continue to use it for another year until I feel I got enough traction and is time to grow.

  5. 2

    It totally depends. I can just recommend starting with the core value of your SaaS.
    No user system etc from the beginning. Build it if the core mvp works! But of course keep it in the back of your head that you don't need to refactor a lot to add user/permissions etc

  6. 1

    Just use any framework which makes sense to use, you're customers won't care if it's a monkey sitting behind a laptop and doing things manually.

    The best way to go, is to validate the idea without code or making landing pages and showing to people. When making https://www.featuremonkey.com/ we validated the idea by making a coda doc which won product hunt no code makers festival. There are other exmaples like buffer using landing page to validate idea.

    Now when you code, you shouldn't care much about what framework you use, it's a trap and we often under estimate the time we take to build the product. And we go learn and new framework and then you realise this framework takes too long to do this particular thing which was much easier on the framework you used to know very well. And then end up putting you're hand over you're head and crying.

    Just make using whatever that is easiest and then when you have a few customers then you should probably get new problems that the current framework can't handle. Then you change it and move to somehting much better. If you are building a product people really want it's very common you do anyway a couple of rewrites.

    1. 1

      I understand your point. It's not about framework, but the time. I enjoy building, but also enjoy marketing aspect, talking to customers. When you talk to customers, you really understand the pain points and what you need to work on. Building an app should take the least time in the beginning.

  7. 1

    This comment was deleted 5 years ago.

  8. 3

    This comment was deleted 5 years ago.

    1. 3

      Exactly this is what I feel. The first SaaS you will make will take time after that you know the drill, will be much faster

      1. 1

        Yup, that has been my experience. Once you get the nitty-gritty details, next saas will be fast. As a developer, I will prefer to save that time and use it to work with end-users.

Trending on Indie Hackers
Your SaaS Isn’t Failing — Your Copy Is. User Avatar 61 comments Solo SaaS Founders Don’t Need More Hours....They Need This User Avatar 49 comments Planning to raise User Avatar 22 comments No Install, No Cost, Just Code User Avatar 20 comments The Future of Automation: Why Agents + Frontend Matter More Than Workflow Automation User Avatar 14 comments AI Turned My $0 Idea into $10K/Month in 45 Days – No Code, Just This One Trick User Avatar 13 comments