9

How do I host and promote my side project?

Profile picture
Unemployed at No Companya year ago

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

357
4

Discussion

(4 comments)
  • 8
    Profile picture
    Mid-Level Software Engineer at Faire
    a year ago

    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

    1. Frontend - Vercel. Vercel is free if it's a hobby project and easy to start and manage.
    2. DB - Neon/CockroachDB. Neon would be an excellent choice for your use case since you're already on Postgres. Both are serverless and offer very generous free tiers.
    3. Server. There are several options I would recommend - Fly.io, Railway and Render. I've used Fly in the past - it's easy to use, and you can initially start with machines that cost < $5/month and scale up as you see fit. Render offers a free plan for hobby projects.
    4. Auth. I would strongly recommend not building your own auth system and instead using Clerk or Auth0 or Firebase or Supabase. I've used Clerk, and I can't recommend it enough. I've also heard great things about Supabase.

    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.

    1. Social media - Twitter/Facebook/LinkedIn. This works great, especially if you have an audience already. Alternatively, you could ask your friends to promote it.
    2. Content marketing. Another way is to create content relevant to what your tool and popularize your tool through it. YouTube is an excellent choice to plug your tool into your video. Another way is to write blog posts relevant to the problem you're solving. You could also post this article on relevant subreddits.
    3. Do a Producthunt launch.
    4. Showcase your tool on Hackernews.
    5. There are several tool aggregator sites. Here's one example of an AI tools aggregator. You could find a similar site relevant to your tool and post it there.
    6. SEO - It's free and could be a great traffic source. The downside of SEO is it's a slow process and takes between 6-12 months to become fully effective.

    Happy to talk and answer more on this topic.

  • 7
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    a year ago

    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.

  • 7
    Profile picture
    Senior Software Engineer at Lookscope
    a year ago

    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:

    1. Sending DMs to hypothetical target users: I did this primarily on IG. I checked out popular accounts in the space my app was in (e.g., fashion), checked who liked their popular feed posts, and then DMed those people directly. I heard back from a significant number of people and got useful data about the market. This didn't confirm my product added real value, but helped me realize some of the target demographics I had in mind weren't a good fit for my product. One caveat is that I did this many years ago when IG didn't "hide" DMs from unrelated accounts under a tab.
    2. At least for my product, almost all my best users/customers came through their organic searches in the App Store. So, ASO (App Store Optimization) worked well for me. I guess SEO is analogous to it, which has been discussed above. One additional thing maybe is that I'd recommend setting up analytics and start measuring retention early. Eventually, I think you will be interested in identifying long-term users and learn more about them.
  • 6
    Profile picture
    Head of Engineering at Capgemini
    a year ago

    Building on Rahul's points, boring tech that's been around for a long time should be the default path. Several reasons why:

    • Always have a battle tested stable version that's been GA for along time
    • Documentation and user communities are well established, making it easier to troubleshoot issues and get general support
    • You don't know what tradeoffs you need to optimize for yet. Most modern tech's actual value proposition is optimizing for some particular use cases / scenarios. Until you get enough user traffic on the app, you won't know what to optimize for.

    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".

    • Set learning objectives with a clear, measurable hypothesis before entering the build-measure-learn feedback loop
    • Maximize the number of iterations through that build-measure-learn feedback loop
    • Figure out what type of MVP you want to run: 1) video MVP 2) concierge MVP 3) wizard of oz MVP. Overall point being, avoid building in isolation and maximize interaction with users from what you think is your target market segment.

    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.