5
34 Comments

What are the best tech stack alternatives to build a simple web application?

Hi everyone!

This is my first experience trying to build an online presence. I am not a software developer although I have some self-learned coding experience.

I would like to use this first project as a way to experiment and make practice in order to gain some experience for the next ventures.

For this project I want to build a famous quotes website with these core features:

  • users can search / filter quotes for different attributes like: authors, topics, profession, ...
  • users can upvote favorite quotes and share on socials media
  • google adsense will be used in order understand the way it works

Now, I have to decide how to develop the web application in terms of the technology stack I should use based on the different alternatives I found over the internet, like:

  • MERN (MongoDB, ExpressJS, ReactJS, NodeJS)
  • LAMP (Linux, Apache, MySQL, PHP)
  • MEAN (MongoDB, ExpressJS, AngularJS, NodeJS)
  • ... and others like FastAPI, Vue, ....

In order to develop and deploy the website I would hire a freelancer but I would like to have some advice / guide /resource; consider that I have some experience with Python, FastAPI, MySQL, Javascript.

Coming back to the question, what do you think are the best tech stack alternatives to build a simple web application like this one?

Thank you :-)

on October 27, 2022
  1. 4

    Ruby on Rails.

    • Authentication is as easy as rails g devise:install
    • Creating an entity (with CRUD controller, views, forms, etc.) is as easy as rails g scaffold tasks title done:boolean

    But honestly, if you want to go fast - go with what you already know! Django is similar to Rails in the Python world, so maybe you could start with that?

    1. 2

      Yes, I would probably prefer to start with something I already know in order to improve my knowledge and going faster. Thanks for the advice

  2. 3

    This is what I use...

    Web App: Vue3 Single Page Application
    API: ASP.Net Core 6
    Website: Static Website with Jekyll

    Serverless Hosting on AWS
    Web App and Website: AWS S3 Static Website Hosting
    API: AWS API Gateway
    Backend: AWS Lambda Functions
    Database: AWS DynamoDB
    User management / Security: AWS Cognito

    The AWS Serverless approach means I only pay when resources are being used, and even then, the cost is negligible. Current app and website cost around $1.50 per month

    A static Website for landing and info pages is key as you cannot beat the performance, which counts hugely towards your SEO results.

    It may sound complicated or overkill, but once it is set up with AWS CI/CD it is seamless and most importantly can scale out as much as needed when needed.

    1. 1

      much appreciate all the details you mentioned. I will evaluate this solution too!

      1. 1

        You are most welcome. Happy to help with more info if needed.

  3. 3

    My suggestion is, not to focus on the perfect tech stack. Many usually prefer single page applications (like react, ember,..) for UI development. They are fine for large codebases and if the application needs it. If the application does not require single page application, we could using java JSP, RoR where both UI and backend will be on the same server.

    1. 1

      You are right, I often find myself in “analysis paralysis” looking on blogs, youtube, books, …. for days till getting a decision. I think I will go for a tech stack not too complex for my project, where I already know some of the components, and that can help me building fast

  4. 3

    I would look into Nextjs and Supabase.

    No servers etc to manage and can start for free.

    The costs are a bit higher once you start paying (but the time saved is worth it, unless it is a complete hobby project)

    1. 1

      I didn’t know about Supabase, I will definitely look into it, thanks

  5. 3

    I have used flask and django both. Use flask. But if you are comfortable with fastAPI, go with it.

  6. 2

    Deciding on the right tech stack for your web application can be a daunting task. There are so many options out there, and it can be hard to know which one is right for you. If you're looking for alternatives to the traditional LAMP stack, there are a few options worth considering. The first is the MEAN stack, which uses MongoDB, Express.js, AngularJS, and Node.js. This stack is great for applications that require a lot of data processing and manipulation. Another option is the Meteor stack, which uses MongoDB, Meteor, Node.js, and React. This stack is well suited for real-time applications that need to be highly responsive. Finally, the Ruby on Rails stack is a good choice for applications that place a premium on simplicity and ease of development. Whichever stack you choose, make sure that it's well suited to the specific needs of your application.

  7. 2

    Hello, I think that the tech stack is just a useless detail.

    You have to focus on your product and choose a technology that you (or your IT staff) are more familiar with.

  8. 2

    Hey, I think a lot of people here are overcomplicating this. Think of the MVP first, validate your PMF then consider the stack, etc. Remember, Groupon was once started with a WordPress theme.

    The reason I mention Groupon is because you have to think of your end user. Do they care what your stack is? Will it matter to them if it's WordPress or MERN/MEAN? No, they care about the value of the product, the UX, the content, the solution. CoinMarketCap, the biggest and most well-known crypto market tracking site initially used cookies for users tracking their favorite crypto. You can do that too - use cookies for the favoriting.

    You can start with WordPress or Airtable - you don't need a complex stack for this. You don't even need a database, put all the quotes into a JSON file and use map/filter functions to filter through them. The whole site can be simple HTML, CSS, JS.

    The most important thing is speed. The world moves fast, launch fast, get feedback and don't invest too much time on stack details until you've proved the value of your project. Also, with the guidance I've given you may be able to do all of this yourself (without the need to hire anyone) or hire someone much cheaper (you don't need a rocket science dev that has a ton of sophisticated skills).

    Good luck!

    1. 1

      Thank you man! Another way of looking at it, focus on speed and what the user will see, great advice

  9. 2

    Whatever you're comfortable with or interested in.

    Personally prefer server rendered templates with minimal client side js just for fetch requests as needed. Only because I personally dislike dealing with the endlessly growing tower of complexity from the javascript ecosystem.

  10. 2

    You are inexperienced AND your use case is really simple (really really simple!!).

    You should take a solution that does as much as possible for you. All your problems were already solved by people more technical than you.
    The classic suggestion is Ruby on Rails. But since you know some Python, you could checkout Django.

    Ruby on Rails: https://guides.rubyonrails.org/getting_started.html#guide-assumptions
    Django: https://docs.djangoproject.com/en/4.1/intro/tutorial01/

    1. 1

      Thanks I will take a look at both ✌️

  11. 2

    Probably very unpopular, but I just use Node.js for backend and Jquery for front end

    Stupid simple, no dependencies, fast to learn.

  12. 2

    Hey! 👋

    What you describe is a simple content website. It does not have any difficult hidden logic (e.g. smart news feed, search through large massive of data, hosting large videos).
    If you do not have a goal of learning programming, using RoR, ReactJS, NodeJS is an overkill.

    Web development made a huge step so you do not have to write thousands of lines of code to solve common tasks 🙂

    There are so-called no-code tools that allow building a content-based website like the one you described.

    Tools I can recommend for your project:

    1. Webflow - https://webflow.com
      (how to add upvotes: https://webflow.com/blog/upvote-system)

    2. Bubble - https://bubble.io/
      (how to add upvotes: https://bubble.io/video/building-an-upvote-system)

    3. Mars - https://www.marsx.dev/
      Mars has the upvote microapp and the collection management microapp. It is still in closed beta so if you are in a rush I would not recommend it.

    Disclaimer: I belong to the Mars core team.

    1. 1

      I will value the opportunity-cost of using a no-code solution vs a code one. Thanks for the suggestion!

  13. 2

    Supabase is honestly a good recommendation here - essentially you can focus on just the front-end - and have supabase manage the DB, API, (and auth if you need it) for you. It has a very generous free plan to get started too.

    1. 1

      Supabase is awesome but far too complex for this use case. There was no mention of requiring roles, authentication, etc.

    2. 1

      👍 good to know, it seems like it manages a lot of the work for you, I will look into it

  14. 2

    If you hire a freelancer to build it, you might not learn that much... Maybe better to just go for what ever tech you are most comfortable with. And then build it yourself.

    1. 1

      yes, probably learning by doing is the best way to understand how things work

  15. 1

    For example for me, I find it very inconvenient to develop a large web application with pure CSS. And the process of developing a large web application will be very slow because of the very large CSS files.
    You can use a preprocessor such as Less or Sass to simplify the development process. They are as easy as possible to implement in web applications that use Webpack.

  16. 1

    Looking at your requirements, you can give a try to Ruby on Rails, all your features can be easily done by that framework.
    For my startup I also use Ruby on Rails and I can strongly recommend it. It has many advantages.

  17. 1

    I've tried a lot of stacks over the years. Laravel + MySQL is still my favorite. Easy to learn. Tons of out of the box goodies like auth and user management. Plus Laravel Forge is amazing. You can launch a Laravel app on a $5 digital ocean droplet in about 5 minutes.

  18. 1

    I find that one of the hardest things to do starting a project is setting up the development environment, infrastructure, and all the dependencies. You might be able to find a boilerplate repository for the stack you are interested in on github. Since you have some experience with JavaScript and MySql, if you (or anyone else) are interested, I can create a template from one of my projects and post it on github (I will probably do this anyway)?

    I have all the code to setup and deploy a whole AWS stack via the command line (AWS CDK). AWS Cognito for user management, AWS CloudFront for the site, AWS Route53 for DNS, MariaDB (similar to MySQL), and a base React app. All the code is in TypeScript. This gets you to the point of working on the UI and writing SQL statements with a one click deployment. The database engine is easy to change and the whole stack is configurable by writing code. The database is the only real cost on AWS at about $30/month.

  19. 1
    1. Laravel + Vue.js or React.js
    2. Next.js + MongoDB
  20. 1

    Try stadium.software for your front end webapp
    Linx.software to build an API to import your data

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 29 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