5
35 Comments

What is the best tech stack to build an MVP for a Self Taught Developer?

Hey,
I'm a Self Taught Developer and I want to build a SaaS and I'm wondering which tech Stack to build an MVP to validate my idea

Planned Tech Stack
Backend: Express
API: Graphql
Frontend: React

Ps: I'm just starting to learn React and Graphql

Which are the best tech stack for building an MVP?

on June 4, 2019
  1. 6

    Great advice I've gotten on this is simple: the best tech stack to use is the one you already know.

    You should focus on getting something done rather than get lost in all the new frameworks to choose from.

    1. 2

      Thank you so much for your advice. I'm a new Developer and most of the stack I need for my MVP I don't know it. I need to learn some stack or just fundamentals of it before starting building my MVP

      1. 2

        Can you go with a low-code, or no-code solution to get your MVP out the door to avoid slowing yourself down learning the fundamentals of a new Tech Stack?

        1. 2

          No-code Solutions is very limited and I think I can't build my idea with these solutions

          1. 2

            What about low-code, Boilerplate Templates to help get you past the fundamentals so you may start building the business logic of your MVP immediately and skip the learning curve?

    2. 1

      I agree if and only if what you know is reasonably close to the stack best suited to the task. If it's not, then this advice just encourages you to avoid learning and costs you a lot in the long term.

  2. 5

    GraphQL is really nice but still fairly new and mostly geared towards larger companies as it's really an additional layer over traditional backend(s). So there's less documentation and you're more likely to run into edge cases that haven't been fully fleshed out yet. The current product I'm building is the exact same stack you are suggesting (using Prisma) -- it's great in theory but I've run into a number of situations that have been more painful than just using a REST API due to its infancy.

    When I was getting into web development ~5 years ago the ruby/rails stack for your backend was great as a new developer, and I've yet to encounter anything that tops it. Amazing documentation, super friendly language, and rails is heavily opinionated about virtually everything you do in your application so you don't have to make unnecessary design decisions.

    1. 1

      GraphQL is definitely legit.

    2. 1

      Thank you so much for your feedback and suggestion. I already know JS and it's can do the backend and frontend and for API because I love JS and for API I can replace GraphQl with REST API and I think will be a good decision

      1. 1

        Makes sense -- unless you are explicitly trying to learn a new technology then go the path of least resistance.

        1. 1

          I want to build an MVP and while I do that I want to learn new technology and the best way to learn it by building an app (MVP). When I'll finish my MVP I learned new technology which can I add to my skills and also build my MVP

  3. 3

    Firebase... it does 90% of the heavy lifting for you.

    I have 20 years of dev experience, built a petabyte search engine, launched two companies.

    Firebase definitely accelerates my dev time. Not perfect but I love not having to worry about a ton of crap that Firebase provides

    1. 1

      I use Firebase too. I think I'll switch to GCP though. From what I understand after a recent quick review is that I get more tooling and yet I still have the Cloud Functions environment that I'm familiar with from Firebase. Is that right? Thoughts on making that move for future flexibility?

    2. 1

      I definitely agree with you. Firebase is easy and will save a lot of time like authentication

  4. 3

    Hey Elias - I created a thread on this topic just last week, it might be useful to you.

    1. 1

      Hey Rosie. Thank you so much for sharing your post and it's very useful

  5. 2

    Use what you know! I personally build REST API layers in PHP/Laravel, front-end interfaces in VueJS, and mobile apps in Flutter.

    GraphQL is nice but I think it is a little unnecessary and complex for an MVP. I would go with a REST API for MVP, then if the product is successful you can add on a GraphQL layer later.

    1. 1

      Thank you so much for your suggestion. I think REST API will be a good choice for an MVP and when the idea is validated I can switch to GraphQl

      1. 2

        If it's necessary and if it's the right tool, but going with REST api at least you know it's not the wrong choice.

  6. 2

    I'd keep it super simple initially and stick with the popular MVP stack - Grails + Mongo DB

    1. 1

      What's Grails? Do you mean RoR?

      1. 2

        Sorry typo, I meant rails - RoR yep

  7. 2

    Definitely not Express on the back-end. Use an MVC framework like Rails, Laravel or Phoenix so you can move faster..

    1. 1

      Thank you so much for your suggestion but I think we can use MVC pattern with Express

      https://github.com/expressjs/express/tree/master/examples/mvc

      1. 2

        Using a pattern isn't equivalent to a full framework that gives you database migrations, a routing DSL, a static asset pipeline, a templating system, generators, etc, etc, etc.

        Of course you can use something lower-level, like Express, but you'll have to do a lot more work yourself and it's going to be much slower than using a rapid application development framework.

        Also there are some serious drawbacks to the JS language itself. It's not the worst thing in the world by any means, but there are issues when it comes to debugging, maintainability, lack of true concurrency, etc. I've encountered a lot of them having done a large portion of my professional career on that stack.

    2. 1

      This comment was deleted 7 years ago

  8. 2

    Hi @Iliashad! I would suggest bubble.io- It's a visual programming platform that doesn't require code. If you want to get a product up and running quickly while learning a lot about the fundamentals of programming - this could be a great starting point. It has a bit of a learning curve, but the forum is very helpful and there are a lot of videos on youtube.

  9. 1

    Agree with the advice on the one you know. If you don't know a tech stack well, or can't pick one out, if you're going for a web app just use Rails. It's so easy to get running and literally every use case has been done before.

    If you try to build everything using a cutting edge framework or something modular where you can pick and choose components, you'll spend ages picking and choosing components or running up against difficult but already solved problems, instead of building features / shipping.

  10. 1

    There are two tech stacks that matter to get an MVP up:
    1/ The one you know so it is easy to get started.
    2/ The one other people use to build products like yours, example for SaaS: Rails because of https://bullettrain.co/ and Django because of http://github.com/djaodjin/djaoapp/ (disclaimer: I work at DjaoDjin).

    Later, there are two more:
    3/ The one you can find the most engineering talents to recruit as you grow.
    4/ The one you should have started with if you had known what you painfully learned after on-boarding dozens of customers :).

    1. 1

      Djaodjin live demo doesnt work

  11. 1

    I would just do a REST API. If you are still new to programming REST would be easier imo. Or Firebase as someone else mentioned

    1. 1

      Thank you so much for your suggestion. I chose Gaphql because it's very fast and scalable than REST API and I already start learning it and it's a little bit hard and I love firebase it's very easy

  12. 1

    Hi @Iliashad welcome! I'm a new dev too. So what course or courses are you taking? What's your JS skills like?

    Firstly I'd pick a stack and stick with it. That's probably more important than anything. Why? Because your inability to complete the project will likely have a greater impact on your success or failure than your stack choice at this point. Ultimately you nor I know enough to make good decisions and unless you want to tell in excruciating detail your idea then odds are - so so good - that any stack advice will be useless too.

    So my suggestion. Get coding. Do your best and then fingers crossed you'll find success.

    Good luck dude and crush that $hit ;)

    1. 2

      Hi @misterhtmlcss . Thank you so much for your suggestion :)

      Courses:

      The Complete JavaScript Course 2019: Build Real Projects!
      https://www.udemy.com/the-complete-javascript-course/

      Express Js, Node Js, and MongoDB Crash Courses from Traversy Media
      https://www.youtube.com/user/TechGuyWeb

      Build a Project with GraphQL, Node, MongoDB and React.js
      https://www.youtube.com/playlist?list=PL55RiY5tL51rG1x02Yyj93iypUuHYXcB_

      Js Skills: Node Js , Express Js and MongoDB(Beginner Level)

      1. 2

        Academimd is good, so is Traversy, but I think as others have mentioned that GraphQL is an unnecessary complexity at this point. Plus there is more support our there for REST API, so it'll be easier to get support from others when you have questions. That'll save your bacon big time. Also I started with that JS stack. Personally I think it's the ultimate beginner stack minus the GraphQL part of course.

        Lastly there are monster 40 hour courses on udemy, so pick one that works for you. Try two or three of the highest rated ones, see which instructor teaches the way you like and stick with that one until you are done.

        You'll always need to learn more and do more, but at least you can start building your app at that point.

        Still my advice is keep it simple, don't change stacks and finish whichever course you start including all the exercises.

        1. 2

          Thank you so much for your advice and feedback. I decided to begin with REST API and when the idea is validated I'll have an option to switch to GraphQl.

          I really appreciate your help and advice