7
26 Comments

Whats your favorite goto tech stack?

I'm starting a new project and I'm thinking of changing my tech stack.
I used node.js in the last project and I'm in two minds on weather to use for the next one.

I know this question is very subject, but whats your favorite goto stack to kick off a new project?

  1. 7

    Ruby on Rails, a $10 Digital Ocean Droplet, and Hatchbox.

    1. 1

      Is Hatchbox worth de 29$ ?

      1. 2

        It's worth every penny considering it's Heroku, but for indie startups.

    2. 1

      Also Rails, only push to heroku

  2. 4

    My personal stack evolves a little each time I start a new project. It's currently as follows:

    Frontend

    • Vue SPA written in TypeScript
    • Vee Validate for validation
    • Vuex for state management
    • Buefy and Bulma for styles / components
    • SASS for custom styles

    Backend

    • ASP.NET Core Web API
    • Dapper for basic ORM
    • JWTs for authentication
    • FluentValidation for validation
    • FluentMigrator for database migrations
    • Custom clean architecture framework to reduce boilerplate. Multi layer (Persistance, Infrastructure, Domain, Application, Api) with CQRS in the app layer

    Database

    • PostgreSQL

    Deployment

    • Frontend, backend, and database are deployed to three docker containers via docker-compose
    • Nginx as reverse proxy
    • Let's Encrypt for SSL support
    • Ran via a DigitalOcean Ubuntu droplet
    • Jenkins for continuous deployment via a Github webhook
  3. 2

    Front-end: Tailwind + VueJS for SPAs and vanilla JavaScript for small projects.
    Back-end: PHP (Laravel) or node.js (cloud functions)
    Mobile: Flutter

    For hosting: Hetzner and EC2.

    For https://wisenotifications.com we used Firebase services (Firestore, Functions etc.)

    1. 1

      i swear..you must be my spirit animal

  4. 2

    Mostly rails and linode $5 vps. Sometimes replaced ruby on rails with go.

  5. 2

    Easiest thing to get the job done. My most recent project, dotnetfunfacts.com (a selection of fun facts and useful bits of information about .Net and microsoft in general) is a bash script which calls a markdown to html converter that generates the site.

    This is all done every time I push, through travis ci. Travis then automatically uploads to github pages, which hosts it.

    The site is really for my personal reference and so that I can share my knowledge with others, it's not directly a money thing, so it doesn't really need any features. I could build a massive Node JS web app that let me edit stuff through the site, loads of bells and whistles, but then I'd have to pay for hosting, worry about security, spend ages writing code rather than content, etc. The point is you should use what you need to get the job done. I'd never even written a bash script before and I got the project to where it satisfied nearly all my needs in about two hours.

  6. 1

    Node.js + React, TypeScript all around.

    What's the motivation towards changing? Did Node.js fall short in some way, or just looking for something new to noodle on?

  7. 1

    Django, Rails, Laravel, or just vanilla PHP or Python. Still using vanilla JS and jQuery for frontend. MySQL, Mongo, Redis for data. Hosting mostly on DigitalOcean. Netlify for static.

  8. 1
    • React or plain HTML for frontend, PHP backend.
      or
    • Node.js API

    The PHP apps are hosted on a single shared server, the Node.js APIs on DigitalOcean.

  9. 1

    For me: Rails + PSQL + Redis + Docker + Ember.js

    ...but don't let others' answers dissuade you from not using node.js. It's a fully capable tech stack that thousands of successful products have been built on. It's also got a vibrant community with lots of maintained packages. What's important is you are productive with it and can iterate on a solution.

  10. 1

    Web: React + Redux + Typescript
    Mobile: React Native + Redux + Typescript + Expo
    Backend: Go
    Storage: Postgres, Redis for ephemeral.
    Development: Docker Compose
    Deployment: GCloud (App Engine for quick projects, GKE for involved ones)

  11. 1

    I used node in my previous project and ended up using Rust in my current one.

    I'm currently using Rocket (web server) and Postgres (database) to power my backend and React for the frontend. I've found Rust to be a double-edged sword:

    Pros:

    • It's extremely fast and efficient, in terms of server resources
    • I'm very confident about the code, as it forces you to handle errors, nulls, etc.
    • The community is extremely helpful and welcoming. I've never had a question go unanswered.

    Cons:

    • The ecosystem is still unstable, with libraries waxing and waning in popularity and development effort over time. Async await was recently merged, so many of the server and database libraries are still converging to this new design.
    • The syntax can sometimes be a bit verbose at times, with lifetime and borrowing errors causing trouble.

    All in all, I was able to use it to deploy kardius.com without too much trouble, and the server hasn't crashed on me once, and only uses five megabytes of RAM or so.

  12. 1

    Serverless, Typescript, ElasticSearch for the backend and React & React Relay on the frontend but it really depends on the problem

  13. 1

    I'm using Next.js with Material-UI deployed to AWS using Elastic Beanstalk, Route 53, CloudFront, and an RDS PostgreSQL database. I used CloudFormation to automate the creation of the VPC, subnets, RDS instance, route table, bastion hosts, etc but not the Elastic Beanstalk app/environments.

    You can see it in action at https://solotravelbunch.com .

    I was interested in getting some experience with AWS, which is why I chose that. If that wasn't a goal of mine I would probably have used Zeit's Now.

  14. 1

    Next.js everything, now comes with /api functions and deploying with zeit’s now is a breeze. All perfect for building quickly and releasing for free. Mongo Atlas for the db also on free tier.

  15. 1

    At least for now, the tooling for Ruby on Rails makes web development the easiest for me to push something small out. The library (gem) to get React running was even surprisingly easy to set up, too.

  16. 1

    I use to be a big Python person for my backends, primarily using Django. But I've come to realize these frameworks are pretty overkill for most things, especially considering my front ends are generally done entirely in React. These days I use:

    • Go
    • Postgres
    • React
    • Heroku or AWS

    Go is a fantastic language, has tons of micro frameworks, and you can get a ton out of a single process so hosting costs are minimal.

    1. 1

      What’s the easiest and the most cost effective way to deploy something written in Go?

      1. 1

        Since it compiles to static binary, you just copy the binary to the server and start. That is probably the simplest way. If you want to be a bit more sophisticated, you can create a little docker image (mine usually around 30Mb) and deploy that wherever you can.

  17. 1

    It's changed over time with experience. It used to be WordPress. Then it was Node + Backbone, followed by Ruby on Rails + React, followed by Rails + turbo links and minimal JS, and finally Elixir with Phoenix Framework, using either LiveView (or Vue for more complex things) on the front-end.

    The reason I moved from Node to Rails was two-fold. First I was more productive with Rails after 2 weeks than Node, which I'd been using professionally full-time for 3.5 years. Second, I realized that the fears about scaling didn't really apply to me.

    The reason I moved to Elixir+Phoenix Framework was maybe performance but mostly that it was much easier to build complex real-time systems. Instead of Nginx, Redis, Sidekiq, and half a dozen other complimentary tools, as I'd use with most programming languages, I could just do everything inside of a single Phoenix app and lose nothing in terms of performance, maintainability or stability.

    One area I've been dabbling with recently is Rust. I don't need it at all for webapps, but it's interesting and I suspect it will become increasingly important for both systems programming and web assembly as time goes on.

    1. 1

      Is Phoenix coming with a built-in job system, with no external dependency?

      1. 1

        It's not part of Phoenix. It's part of the language. Building a job system with Elixir is trivial, less work even than integrating with an external one from other stacks.

  18. 1

    This comment was deleted 4 years ago.

  19. 1

    This comment was deleted a year ago.

Trending on Indie Hackers
After 10M+ Views, 13k+ Upvotes: The Reddit Strategy That Worked for Me! 42 comments Getting first 908 Paid Signups by Spending $353 ONLY. 23 comments 🔥Roast my one-man design agency website 21 comments I talked to 8 SaaS founders, these are the most common SaaS tools they use 19 comments What are your cold outreach conversion rates? Top 3 Metrics And Benchmarks To Track 19 comments Hero Section Copywriting Framework that Converts 3x 12 comments