I am working on a cool side project (full stack web app) which can genuinely be used and is quite helpful based on feedback I've gotten from friends who have used a prototype version. I want to actually get it out to a user base, and had a few questions:
1. How and where do I host it to keep the costs down?
I've built the backend REST API in Golang and Gin, and it uses a postgres DB to store the data. The frontend I have not started but, it will be built with React with Vite. I'm not sure what the best cost effective way of hosting it is, especially since I am planning on making this app free to use (or perhaps it is time to find a way to monetise it to cover costs). It was originally on AWS but the monthly fees were too much and I had to take it down.
(also note that I am only an intern / grad level engineer, with most of my experience in frontend, so my infrastructure knowledge is very limited)
2. How do I promote it and let people know about it?
How do I market it for free, and let people know about it and try to use it? I have some knowledge in SEO, but that is about it. Social media, Reddit and things like that come to mind, but I don't have a following on anything.
The goal is to build something genuinely helpful for people while having something cool to show off to potential employers, while not costing much money as I have no income right now.
Thank you!!
Congrats on your side project.
Since you emphasize maximizing the number of free users while keeping costs low, here is the tech stack I recommend.
Building your app
Landing page - Typedream or Framer. Their starter plans are less than $10/month and let you create a high-quality landing page with little effort.
Unless you're already familiar with or intend to get acquainted with large cloud providers, I would not recommend hosting this on AWS/GCP or Azure - to minimize setup time. Microsoft does offer a very generous starter plan for founders. +1 to what Casey and Rahul mentioned about using frameworks that have already been battle tested and have plenty of documentation available.
Distribution
I would primarily use the following to broaden your reach.
Happy to talk and answer more on this topic.
This is what we spend most of our time talking about in the Taro mastermind groups! The groups are set now, but we'll probably do them again in a few months.
Since this is a side project, you should use tools that are cheap or entirely free. The working model for most dev tool companies is to have a free tier for hobby projects. You only start paying if your project takes off, e.g. 10K+ users. This works out since, if your project did indeed blow up, you're probably ok paying for it.
BTW, not related to your question, but I'd encourage you to have the most simple possible tech when you're starting out. If you're a frontend dev, I imagine building the REST API with Golang and Gin (+ Postgres) took some time. Why not just use something like Firebase -- it's a bit constraining, but much easier to get up and running.
For #2, distribution often becomes as important, or even more important, than the product. If you're willing to dedicate years in a single domain, the best thing you can do is create valuable content in area, whether through blog posts, videos, or tweets. If you're on a shorter time horizon, you can either (1) try to go viral or (2) reach out individually to users and explain the value of your product.
I've worked on a consumer mobile app so not everything will be directly applicable to you, but these two things helped me promote my app in the very early phase:
Building on Rahul's points, boring tech that's been around for a long time should be the default path. Several reasons why:
When you hosted on cloud, go through a FinOps checklist to make sure that you're making the most out of your infrastructure funding. Start with barebone and the default answer to turning on a new service that AWS offers should be no.
For marketing and distribution, I recommend revisiting some concepts from the book "The Lean Startup".
Learning how to effectively write on social platforms such as LinkedIn, Twitter, etc. are great ways to get some feedback on what sticks vs. not. This skill is well worth investing in since it's useful in many different situations outside of this one.