Ask HN: What would be your stack if you are building an MVP today?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Civic Auth - Auth in Less Than 5 Minutes
Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.
www.civic.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. create-t3-app

    The best way to start a full-stack, typesafe Next.js app

    T3 Stack (Next.js, Typescript, Tailwind, tRPC, Prisma) with Postgresql (Supabase is a good free choice), deployed on Vercel w/ Github Actions. These give you the ability to iterate rapidly and the best choice in the market imho. https://create.t3.gg/

  2. Civic Auth

    Auth in Less Than 5 Minutes. Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.

    Civic Auth logo
  3. pocketbase

    Open Source realtime backend in 1 file

    I'd probably go with NextJS and Pocketbase[0]. I like to start with everything on a single instance/machine, cheaper and less overhead, allows me to focus more on building things rather than ops.

    [0] https://pocketbase.io/

  4. wasp

    The fastest way to develop full-stack web apps with React & Node.js.

    4. Wasp (https://wasp-lang.dev) because it's the fastest way to build a full-stack React + NodeJS web app. You can build a prod ready proof of concept in a couple hours. E.g. Google OAuth2 is configurable in ~ 10 lines of code --> here's proof: https://youtube.com/shorts/-daNTYiUC64?feature=share

    (disclaimer: I'm the guy in the Video :):):):):)

  5. graphql

    RedwoodGraphQL

    I'm surprised nobody has mentioned https://redwoodjs.com

    Here's why I'd pick it:

    1. One language for the whole stack. It's an MVP so the front and back are both changing fast, with changes made by the same person, and you don't want to context switch all the time.

    1a. Javascript as that language because it's the most flexible. And with TypeScript you can gradually opt into type constraints where they help you.

    2. An opinionated full stack like Ruby on Rails that integrates all the pieces I need to ship. When you assemble yourself, even small version bumps or outdated tutorials can send you down a rabbit hole, stealing time from testing PMF. You want someone to validate a combination in which all the pieces work together smoothly.

    2a. Redwood.js closest to be being the Ruby on Rails of JavaScript. I've toyed with it before and got up and running quickly. Its opinions took a lot of unimportant decisions out of my hands and let me focus on what I was trying to produce. I didn't get so far as to confirm this but it also seems to make it easy to gradually drop the scaffolding if the opinions and simplifications ever get in your way.

  6. django-ninja

    💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

    Nowadays, Django has an amazing library which is a lot like FastAPI but in the Django ecosystem.

    https://django-ninja.rest-framework.com/

    It's absolutely wonderful. I would use that in a MVP, and do the F/E in NextJS + Typescript.

  7. Directus

    The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.

    Directus connected to a Postgres database

    Comes with a built-in low-config UI/API for CRUD on the database, and easily extendable with Vue.js and Express endpoints.

    Additionally, should the need arise for something more custom later on, all your data is in Postgres rather than a backend as a service

    https://directus.io/

  8. shuttle

    Build & ship backends without writing any infrastructure files.

    I've had an unparalleled experience in getting an MVP live with shuttle[0] - nothing is as fast for deploying a web app with a database to the cloud. For the database I’ve used shuttle’s dedicated SQL DB instance[1] and for the front-end I’ve used shuttle’s static file server[2].

    If you are not scared of diving a bit into Rust, I'd a 100% recommend it.

    [0] https://github.com/shuttle-hq/shuttle

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. Encore

    Open Source Development Platform for building robust type-safe distributed systems with declarative infrastructure

    For something in the same vein but for Go, there is Encore: https://encore.dev / https://github.com/encoredev/encore

  11. pedestal

    The Pedestal Server-side Libraries

    I do! Clojure and Pedestal https://github.com/pedestal/pedestal work great for quick MVPs. Clojurescript with a nice HMR environment like Figwheel https://figwheel.org/ is also great if you need a front end.

  12. Hasura

    Blazing fast, instant realtime GraphQL APIs on all your data with fine grained access control, also trigger webhooks on database events.

    I've been pretty deep in backend engineering a while, but despite that I strongly try to use Hasura [0] whenever I can. IME backend engineering isn't a differentiator, and I've written enough REST/GraphQL endpoints/tests/blahblahblah. I think Django and Rails are amazing, but if I ever have to use them again I'll probably sigh deep and resign myself to sadness.

    On top it's probably Tailwind, and if it's just me I'd use Svelte, but if it's more than just me I'd use React.

    [0]: https://hasura.io

  13. PySdfScad

    Openscad interpretor written in python and using signed-distance-functions

  14. microfeed

    a lightweight cms self-hosted on cloudflare, for podcasts, blogs, photos, videos, documents, and curated urls.

    i’ve been using django/postgres for over a decade. if it were 5 years ago, i’d use django/postgres.

    but recently i would use cloudflare pages, r2, d1, zero trust… in many cases, we don’t want to put eggs in the same basket. but in some cases (eg, building mvp, toy projects…), it’s convenient to be on an all-in-one platform .

    for example, i recently launched a cms entirely on cloudflare: https://www.microfeed.org/

  15. hilla

    Build better business applications, faster. No more juggling REST endpoints or deciphering GraphQL queries. Hilla seamlessly connects Spring Boot and React to accelerate application development.

  16. Sharetribe

    Sharetribe Go is Sharetribe's old source-available marketplace software, which was also available as a hosted SaaS product. Sharetribe Go is no longer actively maintained.

    > For an MVP, I'd choose what I'm most familiar with and can be fastest with.

    That is absolutely the takeaway here. Use the technology you are familiar with and/or can be fastest with. MVPs are risky enough, don't add in "oh, gosh, I have to learn the tech (libraries, deployments, monitoring, database access, etc)" as well.

    The only case where I'd pick a new tech for an MVP is when there is an existing open source or free project that I could use that would obviously get the project shipped faster by providing extensive pre-built functionality.

    For example, I once used Sharetribe https://github.com/sharetribe/sharetribe even though I was only an intermediate ruby programmer because, after time spent evaluating it and other solutions, it had functionality that could get us shipped faster.

    From "git init" to our first beta customer was 1 month of time. Then to our first paying customer was 1 more month. One developer (me). To be fair, my co-founder had done a ton of market development before I started coding, so the initial market/feature discovery was done; that's a huge part of any MVP.

  17. supabase

    The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

    My first choice if the product is a good fit would be old school Django deployed to a single VPS (no docker). I am creating a public starter kit that does exactly that, including the deployment part: https://stribny.github.io/sidewinder/

    However, there are lots of use cases that would call for additional SPA (Vue/Nuxt), or other tech. So in that case I'd add it or replace the tech stack entirely. I'd probably avoid specialized cloud services, might consider something like https://supabase.com tho if the app doesn't need a complex backend.

  18. sidewinder

    Django starter kit that focuses on good defaults, developer experience, and deployment. Updated for Django 5.

    My first choice if the product is a good fit would be old school Django deployed to a single VPS (no docker). I am creating a public starter kit that does exactly that, including the deployment part: https://stribny.github.io/sidewinder/

    However, there are lots of use cases that would call for additional SPA (Vue/Nuxt), or other tech. So in that case I'd add it or replace the tech stack entirely. I'd probably avoid specialized cloud services, might consider something like https://supabase.com tho if the app doesn't need a complex backend.

  19. inertia

    Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

    one thing I'd like to see in Django is something similar to InertiaJS [1], just being able to use VueJS for the view layer is amazing and passing data from the backend to the frontend without having to build complex api systems is a godsend. Maybe I haven't done enough research but is there something similar in Django world ?

    [1] https://inertiajs.com/

  20. vite

    Next generation frontend tooling. It's fast!

    This is the correct answer. It's quite shocking how many Django and Laravel answers there are in this thread. Performance and type safety appear to be completely irrelevant to HN.

    You should take a look at Vite (https://vitejs.dev/) for a Vue development environment, if you haven't already.

  21. Avo

    The most powerful Ruby on Rails Admin Panel Framework! (by avo-hq)

    Nothing really beats Rails. Use something like Jumpstart (jumpstartrails.com) and Avo (https://avohq.io) and you scaffold a full consumer-ready app in literally a few hours.

    The thing that bugs me the most with Next.JS and the whole JAMStack movement is that, yeah, you get from "git clone" to deployed on Vercel in two minutes, but if you need to create real app features like a sturdy admin, accounts, authorization, proper asset management, CI/CD, it takes a whole lotta time. I'm not even touching the most common app features.

  22. jetstream

    Tailwind scaffolding for the Laravel framework.

    While I prefer python for everything else, I'd go with Laravel Jetstream[1] for an MVP, just like I did with the last one I had to build. It's laravel, you can use Vue (React or Svelte) for your views instead of the blade templating language that comes with the framework. Jetstream also comes with Auth, user login and subscription and other useful stuff.

    And for the flavor, I'd just go with DaisyUI[2] again, since it's based on tailwindcss and it's what I've been using lately.

    In my experience, I can build MVPs real fast with the stack described above.

    [1] https://jetstream.laravel.com

  23. daisyui

    🌼 🌼 🌼 🌼 🌼  The most popular, free and open-source Tailwind CSS component library

  24. fresh-strapi.deno.dev

    https://fresh-strapi.deno.dev

    Fresh, with Strapi to help bootstrap a backend, but eventually migrating all to Deno when the budgets permit.

    https://github.com/Hyprtxt/fresh-strapi.deno.dev

    This site uses the framework, but not Strapi: https://videopoker.academy

  25. django-idom

    Discontinued Django compatibility layer for ReactPy. [Moved to: https://github.com/reactive-python/reactpy-django]

  26. joystick

    A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.

    Joystick [1] using MongoDB as the primary database. Run a few instances on VPS and then a load balancer in front. This is how I run my site [2] following a massive amount of headaches and random downtime fighting w/ a k8s cluster. Zero downtime since I moved it over in October.

    [1] https://github.com/cheatcode/joystick

    [2] https://cheatcode.co

  27. backend-GPT

  28. mvp

    📲 simplest version of the @dwyl app (by dwyl)

    Totally agree! For almost all web-based MVPs the PETAL Stack (Phoenix with LiveView & TailwindCSS) deployed to FREE Fly.io is an epic choice for both response times, realtime features, dev speed (time to market). We're currently building our MVP with it and it's fully Open Source so anyone can learn from our journey: https://github.com/dwyl/mvp

  29. Angular-Full-Stack

    Angular Full Stack project built using Angular, Express, Mongoose and Node. Whole stack in TypeScript.

    It depends on the MVP, but I'd (still?) use the MEAN stack with the latest Angular and Node. Expecially because I made a boilerplate [1] that allows me to start any project faster.

    [1] https://github.com/DavideViolante/Angular-Full-Stack

  30. CUA

    (deprecateed) create-universal-app(CUA) is an opinionated template for creating fullstack universal apps (Expo, Next, tRPC, Prisma, Clerk, Solito, Tamagui) (by chen-rn)

    I'd likely go for a mobile first approach and start with:

    create-universal-app : https://github.com/chen-rn/CUA

    Which would give me:

  31. pothos

    Pothos GraphQL is library for creating GraphQL schemas in typescript using a strongly typed code first approach

  32. solito

    🧍‍♂️ React Native + Next.js, unified.

  33. deno

    A modern runtime for JavaScript and TypeScript.

    I'd run an API using Deno (https://deno.land), and consume that API with an SSR/SSG site built using Astro (https://astro.build). SCSS for styling, and probably just Vanilla JS (written in Typescript and compiled via Deno) — I increasingly find that unless my site is massively interactive, plain old Vanilla JS is totally sufficient.

  34. astro

    The web framework for content-driven websites. ⭐️ Star to support our work!

    I'd run an API using Deno (https://deno.land), and consume that API with an SSR/SSG site built using Astro (https://astro.build). SCSS for styling, and probably just Vanilla JS (written in Typescript and compiled via Deno) — I increasingly find that unless my site is massively interactive, plain old Vanilla JS is totally sufficient.

  35. Water.css

    A drop-in collection of CSS styles to make simple websites just a little nicer

    Assuming web app.

    1. Python.

    2. Flask. Pure server-rendered HTML, no fancy frontend. Avoid JS as long as I can, just use jinja templates. If my app is not going to work with good old HTML and CSS chances are it's not going to work at all.

    3. Classless CSS framework. I like this: https://watercss.kognise.dev/.

    4. Sqlite3 or Postgres. Prefer postgres because with docker it's 5 minutes to set up. I use SQLAlchemy from the start because it makes life easier. If you ever deploy and worry about real data you add alembic for migrations.

    5. One docker compose for everything.

    6. Cheap VPS for like $3 per month.

    That's it. I would like to upgrade my MVP stack, but it's battle-tested and it works well. After the 9 to 5 I only have like 3 brain cells alive so I need to get stuff done as fast as possible, which means using what I know.

    One thing I often reinvent and reimplement is OAuth. Definitely "Sign in with google" is the best way to add auth to your app, but it's such a pain to set up.

  36. MudBlazor

    Blazor Component Library based on Material Design principles with an emphasis on ease of use and extensibility

    Try navigating to the site for the Blazor material design library, MudBlazor, on a mobile browser:

    https://mudblazor.com

    As much as I want Blazor to work out well, those load times are too abysmal for me to seriously consider Blazor outside of internal apps.

  37. middy

    🛵 The stylish Node.js middleware engine for AWS Lambda 🛵

    I mean I'm literally building an AWS lambda function that outputs HTML when it's called via API Gateway. So someone hits https://mydomain.com/mycoolpage, then the MyCoolPage AWS Lambda function is executed and outputs whatever.

    If you're interested, I use https://middy.js.org/ as a middleware engine for my AWS lambda functions which I find helpful.

    I use the open sourced serverless framework for doing deploys https://www.serverless.com/

  38. technology-stack

    🚀 Detailed description + diagram of the Open Source Technology Stack we use for dwyl projects.

    Totally agree that the learning curve can feel steep learning Functional Programming style, Elixir Syntax and Phoenix framework in one go. But if it’s any consolation, our company has taken people who only JS or Python and got them fully up-to-speed in less than a week using the open/free tutorials we’ve written: https://github.com/dwyl/technology-stack HN feedback very much welcome.

  39. cookiecutter-django

    Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

    djangox definitely looks a bit less opinionated and lighter weight than what I normally use for a starter project, which is cookiecutter-django: https://github.com/cookiecutter/cookiecutter-django

    It seems to include most everything that djangox does, and a little bit more, and with cookiecutter's setup process, you can strip out much of what you don't want/need.

  40. learn-elixir

    :droplet: Learn the Elixir programming language to build functional, fast, scalable and maintainable web applications!

    That looks like a fantastic resource, especially appreciate the update you've provided here https://github.com/dwyl/learn-elixir/issues/102

    I'll definitely have to keep at it and play around more, thanks!

  41. Nest

    A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

    I really like NestJS for backend. It has great tooling and generators. It's super fast to create a REST or GraphQL API. Adding WebSockets is a breeze if you need them. It uses TypeORM which is rock solid. Also, it includes unit and e2e tests and linting out of the box. Also, if you're doing your frontend in TypeScript it's trivial to share interfaces for "type safety" across the wire.

    https://nestjs.com/

  42. sveltekit-example

    Example showing SvelteKit used with Firebase

    The DB connection to Supabase can be made where ever you want it to be. It’s just JavaScript.

    In Node, a “module” is generally scoped to a file. So you make a db.ts file and export the instance you create and it functions basically as a singleton. One DB connection per user per session. SvelteKit let’s you choose where to put that. The first place you import it is when it instantiates.

    Auth in SvelteKit is trickier than it should be, but there’s a really good technique that I recommend you follow: https://www.captaincodeman.com/re-creating-the-sveltekit-ses...

    I believe he uses firebase in his example. But don’t just copy paste, try to understand what is actually happening and why he had to do this workaround. Once you understand how SSR actually works, things get a lot easier.

    Stores are a way of storing state on the client side, but to do SSR Svelte has to use stores on its “backend”. The key thing to understand is that stores that are used for SSR are server wide and persistent so you can’t store user specific data in them. There’s a special spot for that kind of state called events.locals.

    It’s probably the trickiest area of SvelteKit IMO. I hope they make it better.

  43. Refine

    A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility.

    If I were building an MVP today, my stack would likely include a web framework such as Django or Ruby on Rails for the backend, a React framework such as refine for the frontend, and a database such as PostgreSQL for data storage.

    refine is React based for building CRUD app rapidly. Repo: https://github.com/refinedev/refine With refine You can build admin panel, dashboard, internal tolls, and any CRUD app rapidly

    It eliminates the repetitive tasks demanded by CRUD operations and provides solutions for critical parts like authentication, access control, routing, networking, state management, and i18n.

    It also has connectors for 15+ backend services including REST API, GraphQL, NestJs CRUD, Airtable, Strapi, Strapi v4, Strapi GraphQL, Supabase, Hasura, Nhost, Appwrite, Firebase.. So you can save a lot of time from development time.

  44. turbo

    The speed of a single-page web application without having to write any JavaScript (by hotwired)

    Hotwire is pretty new but there are some guides out there. it's a progressive enhancement thing generally so you build it normally and then sprinkle in the extra stuff.

    1000 foot overview: https://boringrails.com/articles/thinking-in-hotwire-progres...

    a tutorial: https://www.hotrails.dev/turbo-rails

    a video tutorial: https://www.driftingruby.com/episodes/hotwire-introduction

    probably a good paid option: https://pragmaticstudio.com/hotwire-rails

    and then there is the main site: https://turbo.hotwired.dev/

    cheers!

  45. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • PublishWise: The one place to write and publish your blogs

    4 projects | dev.to | 18 Jul 2023
  • ⚡refine.new - Introducing the Fastest Way to Create refine Apps

    13 projects | dev.to | 11 May 2023
  • How to Build a React Admin Panel with Mantine and Strapi

    3 projects | dev.to | 24 Feb 2023
  • GraphQL code generator, how to make query without existing document?

    1 project | /r/graphql | 1 Sep 2021
  • GQless: A GraphQL client built for rapid iteration

    1 project | /r/patient_hackernews | 2 Jun 2021

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?