Could be anything, seems like Firebase and Strapi are quick solutions for backend, front end is like the wild west, and SQLite seems like the quickest and easiest database solution. What are your thoughts and what would you say is the quickest and easiest way to learn and develop an MVP?
At the end, you can spend your time to make research about the tech stack. But, it doesn't help to your business or your MVP. Choosing a tech stack isn't an easy thing, you need to make sure the library is popular and the community can help in case you need it. Same for resources, is it easy to find resources on Internet? Does it have a good documentation? Does it have a YouTube tutorial where you can learn easily.
Ok, let's see you have found all the perfect libraries but you need to integrate together. Is it easy to use these libraries together? Then, you need to maintain these libraries to the latest version when you launched your product.
I see in your response you have mention Strapi as a solution. But, it only solves the backend side and it's only a headless CMS. If I'm wrong, Strapi isn't the perfect solution to build an MVP. You still needs to develop the frontend part using React for example.
Should you really lose your time to build a landing page and dashboard in React from scratch? Build all the UI is time-consuming and lose your focus on your MVP.
Same the database, which database to choose?
You also mentioning Firebase, ok it's solve your backend side and your database, but how about Frontend.
You can also do the opposite, you are already a React developer, which backend or database do I need to choose?
There is too many choice on the market and it seems all solutions seems to be independent and there is not a complete solution.
So, I built Nextless.js Boilerplate to solve this issue. It's a full-stack solution from backend, fronted, infrastructure and database.
Nextless.js includes landing page components and user dashboard components written in React. No need to be a designer.
Not only for development, it also provides solution for deployment and production environment using Serverless.
So no need to manage server: no SSH, no installation & no configuration for Nginx, firewall, database, no docker, no kubernetes, rent server etc. No need to be a DevOps or hire one.
That's definitely a useful product, unfortunately, a little out of my price range.
Strapi recommends SQLite for the database so that would be covered, for frontend I'm thinking of simply using Eleventy + jQuery since it's what I already know or maybe picking up Svelte since it seems like the simplest front-end framework at the moment (it just doesn't have as developed of a community).
Supabase and Nextjs or Remix.
I am a huge fan of Python but for web devs looking to ship MVPs the stack above is unbeatable short and long term.
do you like more next or remix?
If you use Supabase seems like they have a good integration with Nextjs around auth etc.
if we use supabase is it unnecessary to use framework like blitzjs?
I still have a REST API for things, so blitzjs might be useful for that.
I've seen it and it looks like a very attractive option. Noob question, without the functions service, how would you host a backend/api?
Supabase handles most of it.
If you need more complex functions folks seem to like Render.
@volkandkaya
Thanks for mentioning supabase. I had seen the name a few times but did not pay much attention.
I just looked a bit more into it and it seems like an awesome platform.
If I'm not super good with any modern js framework (I looked into angular a bit, but not much), and usually I'm more of an html kind of guy, do you feel like supabase would still be a good fit?
Then it would depend on your backend. But they have plugins for many languages like Python.
But I would look into React it is amazing for web dev of semi complex web apps.
Okay, I'm biased, but for fastest to MVP, you should be using an app starter kit or bootstrap. There's no point in coding user authentication, subscription processing, team management, permissioning, admin pages, all that by yourself. It all takes a long time to do right, so you can either do it quickly and take on technical/product debt, or delay your launch while you code table-stakes features.
I am, in fact, so biased, that I wrote Nodewood, an app starter kit for SaaSes, specifically so that founders wouldn't have to write that stuff for themselves. It runs on Node.js and Vue 3, but other people in other comments are very correct, in that you'll go fastest in what you're most familiar with, so if JavaScript isn't your strong suit, there are plenty of other starter kits for Ruby, Python, PHP, and others as well.
But in general, while core features are critical to even having an app in the first place, you're mis-using your precious time as a subject matter expert working on them instead of writing business logic.
That's an awesome product, congrats on creating it. Totally agree about not reinventing the wheel, I've been looking into Headless CMSs (specifically Strapi) to handle user auth and CRUD operations. Seems like a decent starting point.
I've just been using flat-file CMSs and SSGs for so long I've foregone learning backend + database development and deployment.
Agree with the last sentence as well, I should be just starting this project instead of pondering what to use.
Node.js + front-end framework of choice = one language to learn. If you have no coding experience, then it would be more beneficial to go with a no-code tool to build an MVP.
The challenge is not so much in learning the stack, but building complicated features like authentication, which takes weeks to write properly for an experienced dev. You're better either using third-party services for this, or purchasing a commercial boilerplate like https://usegravity.app. The advantage a boilerplate will give you over something like Auth0 or Incognito if you're new to building SaaS, is you'll be able to see the code and learn from it.
Choosing tools like Firebase or Strapi can be good for prototyping but you may box yourself into a corner with these tools down the line. Some people do use them for building beyond an MVP, but I'm a not a fan of this in most cases and prefer everything to be on a custom stack that I control. There is also Supabase, if you want an open-source version to Firebase :)
I would say Laravel and Forge for hosting.
You won't need to worry about setting up multiple services
Anything you use currently. I assume you are developer so whatever you use currently use for your MVP. KISS principles, and choose boring technologies you already know. Though me myself always end up using weekend long MVP build up which never sees the day of light to test new libraries and frameworks :)
It all depends on what you already know and what you're building.
Firebase, Airtable and Google Sheets are definitely favorites for backend around here. Many also like the Laravel PHP framework.
Personally, I like Django because that's what I know and use at my day job. It has a relatively steep learning curve. However, once you have learned it, it allows for pretty fast development. In terms of database, for a prototype/mvp I would use SQLite because it works well for low traffic/light write database. Django supports switching DB without much efforts so if I need to scale, that's easy.
Another thing to look into is whether you're looking to acquire marketable skills, either for freelancing or your day job.
I see a few downsides with these approaches, but they may be because I am uninformed.
For Sheets and Airtable, it is tough to integrate authentication.
With Firebase, I would be worried that something would be coded incorrectly and any surge in traffic would cause your monthly bill to go through the roof. Are any of these critiques correct or am I simply uninformed?
If you need authentication, you're right that Sheets and Airtable might not be the best solution, which is why I said that it depends on what you're building.
Personally, for Django I use the following starter project/template: https://github.com/wsvincent/djangox which has most of what I need for a quick prototype.
It gives me social authentication with little effort, normal authentication, bootstrap 4 (which is good enough for most projects) and development tools setup correctly.
I would then proceed to create either the mockups/ui/html templates or models, depending on how I'm feeling and what I'm trying to achieve.
And if I need js/one-page app look and feel, I would just add htmx to replace the main content section when user navigates. No need for complex js framework. Keep cognitive load and project as simple as possible, especially in the validation/mvp phase.
This comment was deleted 2 years ago.
I've been a developer for around 5 years now, but the main stack I've used is jQuery + a bit of PHP + Eleventy w/ Nunjucks for static sites (the company I work for is kinda old school), but I'm looking for a new stack to pick up to work on side projects. Just looking for one that is simple to understand and easy to pick up.
This comment was deleted 2 years ago.
The main goal is to get an MVP out there, but ideally, it would be more than just a landing page. Thanks for the recommendations, I looked into Laravel as well as React briefly, but to me, it kind of seemed like you were reinventing the wheel for a lot of functionality.
Strapi seems quite promising as it ships with auth, CRUD operations, basically anything you need to set up a SaaS or web app.
Strapi is a headless CMS, is it the perfect tools for SaaS or web app?
With Strapi you still needs a frontend using React for example?