15
74 Comments

Solo developer tech stack

Hey folks, wondering what tech stacks solo founders are using these days.I know that the best stack to use is the one you know. I have worked with multiple technologies . I would love to hear about initial tech choices made and the outcome.

posted to Icon for group Developers
Developers
on December 12, 2020
  1. 8

    I make backend apps for now so using Ruby+Rails. Like @DirectTable's answer, Stimulus seems like a good alternative to all of the front-end mess.

    1. -1

      This comment has been voted down. Click to show.

  2. 7

    Ruby on Rails
    StimulusJS
    StimulusReflex
    React (where needed)
    PostgreSQL
    DigitalOcean

    1. 1

      Is StimulusReflex and Cableready still good for Rails 7?

  3. 4

    I’ve had a bad experience with node (feathers framework), mongodb, and react. It got too complicated to maintain, too many dependencies, and lack of DB schemas and relationships.

    I’m working on Sipp, a typescript mvc framework to help address the complexity I see in the JS ecosystem. Think Rails or Laravel but for TypeScript. The goal is to be a good choice for teams of 1-3 devs, and highly productive for small teams

    1. 1

      Have you tried Adonisjs? Is a framework like laravel but for node with TypeScript

      1. 1

        @gperales, I have! I built a bit with v4 while the v5 re-write was happening in TypeScript. A couple things that I wasn't a fan of in v4:

        1. It feels like a port of Laravel to node, and so does a lot of things that aren't node-like (e.g., use rather than imports to do some under-the-hood IoC binding).
        2. The template engine had lots of quirks, bugs, and lacked documentation.
        3. It does everything it's own way, so you can't take advantage of the large JS ecosystem easily.

        v5 purports to be a major rewrite in TypeScript and do lots of things differently. I'd take another look at v5 because I think v4 was pretty promising.

        Do you use Adonis? Thoughts?

        1. 1

          I'm a JS full-stack developer, but in the last few years, I've been doing mostly frontend. When I started working with Adonisjs v4, I found it pretty productive, and I like its way to do the things (I think is good to have a way to follow when you are not used to doing that kind of projects, as I said I was more frontend than backend).

          I have tried other frameworks like feathers, and meanwhile, feathers was pretty good for building rest APIs, I felt like Adonis was more structured and scalable. I was missing TypeScript support so I'm willing to use the new v5 version :)

          Another thing I'm missing is the ability to use JSX as template engine and something like the Phoenix LiveView to dynamically update the view through WebSockets without having to make a SPA.

          1. 1

            @gperales, I'd really love if you took a look at Sipp and tell me what you think ... for a couple of reasons—

            it's written in TypeScript so you get that out of the box.

            It's more structured than feathers, and not just meant for a rest API. It's a full-stack framework, but you can do the Rest API thing if you want.

            JSX templating! I love it. Sipp relies on the TS compiler to compiler the JSX into JS functions... which means you get type-safety, it's just JS with small sugar so no new templating language, components are a breeze, etc. I love it :) Here's an example of a registration/login page in sipp.

            I don't have much written by way of docs yet, but the starter-kit gives you a pretty good idea. My email and twitter are in my IH profile—feel free to send a message!

            Also, for sake of comparison, you could check out this Nest boilerplate I put together a few months back. Nest is a lot more established, but not used much for MVC use cases. So, this boilerplate lets you write templates in JSX and solves some of the common stuff you need in a server-rendered web app.

            For Phoenix LiveView style stuff, you basically have a couple choices today:

    2. 1

      Serious question: why not just use Rails? StimulusReflex would seem to make this an easy choice in 2020.

      1. 1

        @leastbad, the key reasoning for me right now is that I don't have any experience with rails, it's ecosystem, or ruby. Sure, I could learn—but I also believe there's space for something like this in the JS/TS space.

        If someone was just starting out in IndieHacking, I'd recommend either Rails or Laravel (roll the dice, and pick one that appeals to you).

        1. 2

          Fair enough! I assumed from your comment that you knew Rails, which was a reaching assumption on my part.

          For what it's worth - and this won't come as any surprise to you - I suspect that if you did learn Rails, you would quickly realize that the answer most "Rails but" scenarios is "Rails". Bluntly, I'm not even remotely confident that it's possible to approach the productivity of Rails with a JS stack.

          For all of the "Is Rails dead?" posts, people sure are quick to ignore the fact that well over 50% of the value created by YC companies is running on Ruby-first stacks.

  4. 4

    .NET / C#
    SQL Server
    React
    Typescript
    Netlify
    Azure

  5. 2

    React, Express, PostgreSQL. I made the mistake of starting a new project AND learning some new tech stacks (like GraphQL). It slowed me down too much and I’ve started over. I think building side projects to learn is important but if you have a dedicated app you want to ship, stick to what you know and can move fastest with.

  6. 2

    I went from full serverless with Next.JS, FaunaDB and Algolia to full server-side with Go and Postgres hosted on Linode for https://midnight.pub. I'm happy with my current build, it's blazing fast, costs very little, and can scale greatly.

    1. 1

      Interesting transition. I would love to know why you decided to migrate from NextJS to Golang. Are you using any Go frameworks?

      1. 2

        Thanks for asking! I wanted to build something that should work as-is in 10 years even with no maintenance. Time will tell if I succeeded. :D I like that Go’s standard library powers all I need (no framework) and only 4 external dependencies. It makes a very little executable that’s portable.

  7. 2

    Frontend: Next.js + Material UI + React (I use TypeScript)
    Services: Kotlin (Exposed, Ktor) + Hasura for GraphQL
    Deployment: Istio on GKE, with Postgres CloudSQL + PubSub communication

    I wouldn't recommend the deployment/backend part of the stack unless you really need it. In my case, I need to elastically spin up custom longer-running operations that are compute-intensive.

  8. 2

    Ruby on Rails
    StimulusJS
    Tailwind UI/CSS
    Postgres
    Heroku

  9. 2

    Front: React/Gatsby/Bootstrap
    Back: Firebase (Firestore, Hosting, Auth, Storage)

    1. 1

      My stack is similar.
      FE: React + Material UI
      BE: Firebase (Auth + Realtime DB + Functions + Hosting)

      Getting started is super easy and pricing is free under generous thresholds.

  10. 1

    Hi 👋🏽
    good question! For me my go-to tech stack is:

    • Vercel: Deployments, API, Functions, and Hosting is super easy on Vercel. It is for free for one person. The only thing to keep in mind is that you maybe need to upgrade if your project gets successful or that you need to upgrade in case somebody else joins.

    • AWS: I use AWS a lot for all other Backend related things. DynamoDB for database, AppSync for more dedicated APIs, and Websockets.

    • Next.js: With Vercel I use Next.js, React, and Tailwind.

    • Auth0: For authentication

    • Stripe or paddle for payments

    • TypeScript everywhere :)

    I think that covers all 🙂

  11. 1

    I've been using this stack for my latest project:

    • PostgreSQL
    • Django + Django REST Framework on the back-end
    • Angular on the front-end (web app)
    • DigitalOcean
    • Firebase (auth)

    My goal was to develop an MVP and be nimble to add new features or pivot, if needed. So fast development and low maintenance were my primary motivations of choosing this stack.

    • The database was an easy choice as my data is relational, and PostgreSQL works quite well for my needs.
    • I was debating between a couple of things for the full stack - a full JS stack or a JS front end with Django/Spring Boot back-end. In the end, I went with what I was knew best. I wasn't very comfortable with a full JS stack as my expertise is more Python & Java than JS. So, I decided with Django+DRF. I could have easily gone with Spring Boot, it was mostly a coin toss decision between the two.
    • For the front-end, I wanted my experience to be as painless as possible. While I have worked with plain React, as well as with Gatsby, I did not enjoy the experience as much. I wanted to try out Vue (and Nuxt), but did not want to learn something completely new, in the interest of time. As I've also dabbled with Angular a bit in the past, I wanted to give it a try again, and I was not disappointed. So far it's been a great experience.

    It basically boiled down to the technologies I know best, the development experience I liked more, and my goals and time-constraints for the project.

  12. 1

    ASP.NET Core - I worked with it a lot.
    PostgreSQL - Free and open source alternative for MS SQL. I prefer to use open source technologies for my projects.
    Vue.js + Typescript - Vue.js is simple than Angular (I didn't work with React) and Typescript let me check types during compilation.

  13. 1

    Not just the tech stack, but I'm trying to build the entire startup stack at StartupToolchain.

  14. 1

    I use Laravel + AWS "serverless" + Stripe + WordPress + Matomo + MailerLite.

    Write-ups here:
    https://tech.chrishardie.com/2020/build-launch-saas-app-one-month/
    https://tech.chrishardie.com/2020/aws-hosting-costs-using-laravel-vapor/

    Also, if you launch a startup with AWS, I highly recommend looking at Activate: https://aws.amazon.com/activate/

  15. 1

    For the simplest and fastest way to get something up and running, I like:
    Wordpress or Strapi backend with custom API endpoints/responses. For something more complicated, Firebase as backend.
    Frontend made with Express, EJS, Web Components, and Turbolinks.

    For mobile, React Native.

  16. 1

    Rails or Laravel (or still using Sinatra for simple things)
    JQuery (never hopped on the SPA bandwagon)
    Bootstrap but would like to switch to Tailwind
    Postgres + Heroku
    Netlify for static sites (+Middleman)

    1. 1

      Have you looked at StimulusJS? I find that it is an excellent bridge from the jQuery world. You can use jQuery in a Stimulus controller until the day you realize you don't need to, anymore.

      1. 1

        Lost me at import/export.

        I understand the need for modules on very large codebases, but I think the "modern" javascript ecosystem is a dumpster fire. Oh, you want to add some functionality to your page? Import this module. Well, now you also need a build system. And your deployment solution needs to be a CI system instead of flat-file because you don't want to check in compiled files. And your deployment solution needs to...

        It's just an endless rabbit hole of making things complicated. Run your code locally. Put that code on your servers. Easy!

        1. 2

          Stimulus can be used without a build system, friend. You can use script tags to bring in everything you need in the same way you do for jQuery plugins.

          At any rate, Rails has fully moved to Webpacker and Stimulus (which is by the same folks as Rails) is the best future a jQuery developer could ask for in 2020. I completely agree with you about the larger JS ecosystem, but writing off Stimulus is a bad take - it's the solution, not the problem.

          You might find this compelling: https://leastbad.com/mutation-first-development

          1. 1

            I can't tell if you're being hostile or just really enthusiastic, but it's off-putting either way. You do you! I'm not writing anything off.

            Stimulus looks neat, but I don't sit up at night thinking about what javascript framework I'm going to use on my next project. If you enjoy it, that's wonderful.

            I have yet to work in a module-based codebase (build system or not) that I've enjoyed. I try to use the simplest tool that gets the job done, and I've had great success with jQuery. CSS has gotten really good in the last 10 years, and 90% of what I use javascript for is toggling CSS classes on or off. If I ever get to the point where I can't do that last 10% in jquery or vanilla js, I'll look around for the flavor of the month.

            It used to be Backbone. Then Angular. Then React. Then Vue. And now, apparently, Stimulus. Next year it'll be a new thing.

            1. 1

              I'm definitely not trying to be hostile. I'm someone who used Prototype until jQuery was released and then jQuery until Stimulus was released. The whole point of what I'm trying to get across to you is that Stimulus is not the next React. It is the evolution of jQuery. It lets you do things that you cannot currently do in jQuery, which sounds like hot air until you try it.

              Basically: I was you, just two years ago. I'm trying to let you know that the water is warm. I'm only telling you all of this because I care.

  17. 1

    .NET / C#
    SQL Server
    Vue.JS
    Netlify
    Azure
    ElasticSearch
    Cloudflare

  18. 1

    Cloud Provider: Firebase
    Language: Typescript
    Frontend Framework: Angular
    Backend Framework (If I need it ): Nestjs
    Database: Firestore/RealtimeDB (coming from Firebase)
    In general I like this stack because I can develop fast and is free at the beginning that's why is a good place to launch your MVP

  19. 1

    Django
    PostgreSQL
    Sass
    Vanilla JS/jQuery
    Docker
    DigitalOcean

  20. 1

    Rails + Postgres is my go to backend stack, at the moment i did go with nextjs or angular for frontend depending on the requirements.

  21. 1
    • Blazor
    • .NET / C#
    • Azure
    • SQL Server and/or Cosmos DB

    There are significant productivity gains in using the same language for the frontend and backend.

    1. 1

      Does productivity gain also apply if that language is JavaScript? Or is Blazor still faster to develop?

      1. 2

        Sure - if that's what your frontend and backend are written in and what you're most comfortable/familiar with.

        For me personally though, switching to JS would slow me down significantly.

  22. 1

    For me it's Vuejs, Laravel and Tailwind.

  23. 1

    Plain old Java on the backend
    AngularJS or JQuery in the front
    DynamoDB, Elasticsearch
    AWS

  24. 1

    Backend:

    • Node/Express
    • Postgres (MongoDB sometimes)
    • GraphQl

    Frontend:

    • Next JS (Typescript)
    • Tailwind CSS

    Deployment:

    • Vercel for front-end
    • I haven't deployed any servers yet, but I plan to use Dokku and Docker with Linode. Heroku for testing
  25. 1

    For me:

    • Node
    • MySQL DB
    • Prisma (GraphQL Server, generates a JS Graph API for your db)
    • Apollo Server + Client (automatically optimises API requests between client and server)
    • React, (with Material-UI as a starting point)
    • KeyCloak for identity access management (running as a Docker container)

    The best part of this stack is Prisma. Querying a Graph structured dB is just so nice.

    I would like to try Rails some time though. Can't ignore all the good things that have been said.

  26. 1
    • Laravel
    • Vue.js
    • Tailwind
    • MySQL
    • Git
    • Hosting, not decided yet
  27. 1

    I've been using Gatsby, Tailwind and Netlify for my static sites. It's so quick and easy using this stack. Everything just works.

    However, I've just started exploring React and Faunadb for more complex applications.

  28. 1
    • Frontend: React, MaterialUI (though I'm moving towards my custom design system), Chrome API (my platform includes a Chrome extension)
    • Backend: Java, Spring Boot
    • DB: MongoDB
      *Hosting: AWS
  29. 1

    For my video game project, a classical Unity / C# / Blender / Gimp.

    For my enterprise projects, I use Open Lowcode, the open-source platform I developed for internal enterprise applications. It is using java and javafx.

  30. 1

    Next.js
    Tailwind CSS
    Mysql / MongoDB / Firebase database
    AWS

  31. 1

    Well for a solo dev, there is only one choice available : Ruby-on-Rails, because of the depth of the ecosystem. Ruby is really good enough, both functional- and object- oriented. Rails is unbeaten when it comes to Get Things Done quickly. There are things I don't like with Rails. But not using Rails means spend more times on things already solved by the community. The nearest competitor in the "Get Things Done" area is probably Django, but Django is still very far from what you could achieve with Rails. For the other parts, stick with classic Bootstrap 4.5 and Heroku.

    1. 2

      Meh Laravel wouldn't agree with that.

      1. 1

        Agree here. Laravel is probably closer than Django.
        Forgiveness for forgetting.

    2. 1

      did you ever do asp.net core?

  32. 1

    I'm using
    Serverless for the backend
    Angular with Bootstrap for the frontend,
    all written in TypeScript
    and deployed on AWS
    for https://stackprint.io

  33. 1

    React in the frontend, .NET core / C# in the backend, AWS for infrastructure, Stripe for payments

    1. 1

      did you ever do Blazor? How is it compared to React?

  34. 1

    If you decide to go with a stack that leans towards self hosted components you might find this article I wrote worth a read:

    Robust NodeJS Deployment Architecture

    The stack described:
    NodeJS
    Ubuntu
    Express
    Pm2
    MongoDB
    Nginx
    Redis
    Digital Ocean
    AWS

    For frontend, use whichever framework you like. You could even host it on something like Netlify.

    It’s more effort initially because you are responsible for setting everything up, but you benefit from portability and much lower costs.

    It depends on your situation, you might find that you need infinite scale, in which case a serverless stack would be better. Of course you can combine the two as well.

    Another article I wrote that you might find interesting:

    Reasons to use NodeJS for developing your backend systems

    If you are new to web development this article might be of interest:

    Deciding when to build a custom solution in web development

  35. 1

    I built https://create-full-stack.com to solve this. It generates a full stack template for you. It's all in a single language, TypeScript. Includes iOS, Android, Web, Backend, Cloud Deployment on AWS. Let me know what you think!

  36. 1

    It's important to choose the one you are most comfortable with. I habe worked with Express, Codeigniter, Django, Flask but I find Flask easy to get going so I choose that. Similarly for database MySQL and Tailwind, VanillaJS on the front.

    These are the ones I am most comfortable working with and can build apps quickly.

  37. 1

    React / Express / Node / PostgreSQL, hosted on DigitalOcean. I did a big writeup here: https://jake.nyc/words/tools-and-services-i-use-to-run-my-saas/

    1. 1

      Interesting read. Thanks for sharing! I'm curious about authentication when it comes to node backends. Are you using custom authentication or using an external service? It seems like there aren't many robust open source solutions for authentication in NodeJS land.

      1. 1

        Thank you! I'm using custom authentication — basically just sessions backed by Postgres with express-session and stored in cookies. There are a couple small Express middlewares to ensure people are authenticated and to protect resources. The most annoying part was password resets (sending a JWT in an email) but that was mostly because building the UI was boring.

    2. 1

      Really great writeup, thanks for sharing. It seems like a lot of moving pieces, from experience I know these stacks can get complicated pretty quickly.

      I’m curious, do you run all these components yourself?

      1. 1

        Thanks! I think it sounds more complicated than it is. The actual architecture is fairly simple: it’s a single page app with a Node API and a Postgres database, with some Node workers backed by Redis.

        Not quite sure what you mean by “run”. The Node servers are the only critical path components I manage myself — basically everything else is either managed (Postgres, Netlify), a supporting service (Grafana) or both (Sentry, Fathom).

        1. 1

          Thanks for the added context. I was just wondering with so many pieces to a stack, if there was increased risk to the core product, and so I was curious if you had a team.

          Is identifying critical path components something you spend extra care doing?

          1. 1

            FWIW, I don't think my stack has "so many pieces" — for the most part, it's about the minimum complexity you'll find in any web app. You'll use frameworks for the frontend and backend. You'll interact with a database. You'll process payments.

            When I say "critical path", I mean things that are actually required for parts of the app to function. As far as services, that means Netlify (which hosts the frontend), DigitalOcean (which hosts the API), Postmark (which sends email), Stripe or PayPal (which handle payments) and I suppose Cloudflare (which manages the DNS). That's it. Everything else is useful but ultimately superfluous.

            For example, Sentry reports all the uncaught errors that happen in production. But I could live without that — I'd just have to test much more carefully, and hope users reported any bugs they found. If I got rid of it, the app would function exactly the same. Same for Papertrail, Telegraf/InfluxDB/Grafana, Statuscake, Crisp — they're all useful for making sure things don't go wrong, but not strictly necessary.

            Beyond that, you have the services that exist to help with marketing. Knowing how many people visit my website is cool, but I don't really need it — so I could ditch Fathom. Same with Indicative and Google search console.

            Ultimately, I think any kind of business has operational overhead, and if you do an exhaustive writeup of what it takes to run it you're going to get a long list like this. If you run a print shop, for example, you'll have inks, printers, paper cutters, paper suppliers, design software, printing software, software for sending proofs to clients, invoicing software, etc.

  38. 1

    Laravel with Tailwind and React or Vue, depending on what I'm building.

    • Laravel is a great choice to ship something quickly.
    • Tailwind feels like the only CSS framework you don't have to actively fight against to make something.
    • React for SPA, Vue for singular components for a richer experience on an otherwise server-rendered site.

    I'll also throw Next.js in there. It's quite good to slap some landing page together and provide a fairly rich experience with some light APIs if you want to.

  39. 1

    Python
    JS/React
    Bootstrap/AntDesign (depending on UI)
    Postgres/Mongo (depending on a project)
    AWS EB (may have a free hosting for 1 year)

  40. 1

    .NET / C#
    SQL Server
    Azure
    Flutter/Dart for Mobile
    Blazor as needed

  41. 1

    Reactjs
    Nodejs
    AWS
    Mongodb
    +Wordpress

  42. 1

    Heroku
    Postgres
    AWS S3
    Rails API
    Flutter Mobile
    Svelte JS

  43. 1

    This comment was deleted 2 years ago.

  44. 1

    This comment was deleted 7 months ago.

    1. 1

      Do you ever do only Laravel with server side templates? How's the development speed compared to separate React front end?

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 58 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 27 comments Codenhack Beta — Full Access + Referral User Avatar 21 comments I built eSIMKitStore — helping travelers stay online with instant QR-based eSIMs 🌍 User Avatar 20 comments 🚀 Get Your Brand Featured on FaceSeek User Avatar 18 comments Day 6 - Slow days as a solo founder User Avatar 16 comments