How to promote a side project when you have no audience
Almost every answer to this question assumes you have something you do not have: a mailing list, a following, a budget, or a network that will amplify you. This is the version for someone with none of those, who has shipped one or two things and watched the launch-day graph go back to zero by Thursday.
By Utkarsh Kushwaha · Updated
Launch platforms give you a day, not an audience
Product Hunt, Hacker News, the relevant subreddit and the relevant X thread are worth doing. They are also worth understanding correctly: they are a spike, not a channel. A good Product Hunt day sends somewhere between a few hundred and a few thousand visitors, most of whom are other makers looking at what launched today rather than people with your problem. Two days later the graph is flat again.
That is not a reason to skip them. It is a reason to have somewhere for that spike to go. The single most common mistake at this stage is spending three weeks preparing a launch and zero minutes on what happens to the 800 people who show up. They look, they leave, and there is no mechanism by which any of them ever encounters anything else you make.
Treat launch day as a one-time deposit into an account you have not opened yet. The account is the question below.
Paid ads do not work at indie budgets, and the reason is structural
A developer-tool click on Google Ads costs somewhere between two and eight dollars in most niches. If your product is $20 one-time and one visitor in fifty buys, you are paying somewhere north of $100 to earn $20. That is not a tuning problem you can fix with better targeting or a better landing page; it is arithmetic. Paid acquisition starts making sense at recurring revenue with a lifetime value in the hundreds, which is not where a side project starts.
The exception people cite is retargeting, which is cheaper. Retargeting requires an audience to retarget, which is the thing you do not have. It is a lever for later.
The audience you already have is the traffic to the thing you already shipped
Here is the asset almost nobody counts. Your first project, however modest, gets some traffic: a trickle from search, the remains of its own launch, a link somebody left in a comment thread two years ago, a colleague who bookmarked it. Call it thirty visitors a month. It feels like nothing.
It is not nothing, because those thirty people are pre-qualified in a way no ad audience is. They found something you built, and they liked it enough to open it. They are the single most likely people on the internet to be interested in the next thing you build, and, at the moment, there is no path from the thing they are looking at to anything else you have made.
Thirty a month is 360 a year, from one project. Ship a second and the two of them feed each other. Ship a fourth and every launch you do lands in front of an audience assembled from all the previous ones, without a mailing list, without a following, and without asking anyone for permission.
This is the compounding that makes a portfolio of small projects worth more than the sum of the projects, and it does not happen by itself. It happens only if the projects point at each other.
What 'pointing at each other' actually means
Concretely: every page of every thing you have shipped carries a small, permanent link to everything else you have shipped. Not a nav item that only your homepage has. Not a link in your GitHub bio. On the product itself, where the person who is already using it will see it.
The naive version of this is to hand-edit a 'my other projects' list into the footer of each site. It works, briefly. The problem is n²: with four projects that is four footers to update every time you ship a fifth, in four codebases, three of which you have not opened in eight months and one of which is in a framework you no longer like. In practice the list goes stale after the second launch and stays stale.
The version that survives is one where the list lives in one place and every site reads it. Then shipping a fifth thing is one edit, and all four existing sites start advertising it the same afternoon.
The order to do this in
First, make the cross-links exist, before your next launch rather than after it. Every launch you do without them wastes its spike. This is the cheapest thing on the list and the only one that compounds.
Second, write the one piece of content your product implies. Not a blog. One page that answers the specific question your users searched before they found you. It will take an afternoon and outlive every social post you have ever made.
Third, go where the question is already being asked. Answer it properly in the subreddit, the Discord, the Stack Overflow thread, the X reply. Mention your thing only when it is genuinely the answer. This is slow, unglamorous, and the only reliable free channel there is.
Fourth, launch: on Product Hunt, on Hacker News, in the newsletter that covers your niche. By this point the spike has somewhere to land.
The order matters. Most people do the fourth thing first, get their one day, and start again from zero on the next project.
What to expect
This is not a growth hack and it does not produce a graph that goes vertical. What it produces is a floor that rises: each project adds traffic to every other project, so the baseline you launch from next time is higher than the one you launched from last time.
If you have shipped exactly one thing, none of this applies to you yet. There is nothing to cross-link, and your time is better spent shipping the second thing. It starts working from your second launch and it compounds from the third.
Questions people ask about this
How do I get the first 100 users for a side project?
Mostly by hand, one conversation at a time. Find where people with the problem already ask about it, such as a subreddit, a Discord or a Stack Overflow tag, and answer properly, mentioning your project only where it is genuinely the answer. Launch on Product Hunt and Hacker News once the product is ready for strangers, and make sure every visitor that brings has a path to everything else you have built. A hundred users usually arrive from several small sources, not one big one.
Should I build an email list instead?
If you can, yes. An email list is the strongest asset here. It is also the slowest to build and needs something to offer before anyone subscribes. Cross-linking your projects works from your second launch with no list, no subscribers and no ongoing effort, and it feeds the list once you start one.
Does a footer link to my other projects hurt SEO?
No. Small, honest, on-topic links between sites you own are ordinary internal linking: the same thing a 'more from this author' list does. It becomes a problem only at the scale of a link network built to manipulate rankings, which is not what four side projects pointing at each other is.
How much traffic do I need before this is worth doing?
Enough that at least one of your projects gets visitors at all. The mechanism does not need volume to work. It needs more than one shipped thing and a path between them.
Where Make Taksh fits
Make Taksh is one line of code you paste into each site you own. It renders a small badge in the corner that lists everything you have shipped, reading from one hosted list, so adding your next project is one edit and every site you have already installed it on picks it up within minutes. It is under 8 KB, renders in a shadow root so it cannot touch your CSS, sets no cookies, and draws nothing at all if it fails to load.