Indie Hacking

How to Launch a Product When You Have Zero Audience

Jan 5, 2026
8 min read
E.A
Emmanuel Asika

Launching to crickets? Stop tweeting to nobody. Here is the engineer’s guide to leveraging code, programmatic SEO, and community hacking to build traction from zero.

Let’s be real for a second. The “build in public” movement is fantastic if you already have 5,000 followers on X (Twitter) hang on your every commit. But if you are starting from zero, tweeting “Just set up Supabase auth!” is shouting into the void.

Nobody cares.

I learned this the hard way. Coming from the WordPress world, I was used to clients handing me requirements. The traffic was their problem, not mine. Now that I’m pivoting to building my own SaaS products using Next.js and cloud infrastructure, the game has changed. I don't have a marketing department. I don't have an email list. I just have an IDE and a Vercel account.

So how do you actually launch something when your follower count is lower than your daily caffeine intake? You have to stop acting like an influencer and start acting like an engineer.

Here is the deep dive on how to hack traction without an audience.

1. Engineering as Marketing (The unfair advantage)

This is where we win. We are developers. We can build things that marketers can’t.

Most people try to build a content engine first. They write blog posts. That takes months to rank. Instead, build a free, standalone tool that solves a tiny fragment of the problem your main SaaS solves.

If you are building an image optimization SaaS, don't write a blog post called "Top 10 Image Compressors." Build a free, client-side tool that converts PNG to WebP using the browser. Host it on a sub-path or a separate domain.

Why? Because tools get bookmarked. Blog posts get skimmed.

I use Next.js for this because it’s fast to spin up. You can use a single route to capture traffic. Here is the strategy:

  1. Identify a high-volume search query (e.g., "JSON to TypeScript interface").
  2. Build a simple UI using Shadcn.
  3. Do the processing client-side or via a simple server action.
  4. Put a massive "Built by [Your SaaS]" banner at the top.

Here is a quick example of how simple the logic can be in a Next.js server action context. You don't need a complex backend for a lead magnet tool.

// app/actions/convert.ts 'use server' export async function convertJsonToTs(jsonString: string) { try { const json = JSON.parse(jsonString) // logic to parse object keys to interface // ... (implementation details) return { success: true, interface: generatedInterface } } catch (error) { return { success: false, error: 'Invalid JSON' } } }

Ship this mini-tool to directories like ‘DevTo’, ‘Product Hunt’ (as a side project), and relevant subreddits. It provides immediate value. People click tools. They ignore ads.

2. Programmatic SEO: The Cloud Engineer’s Weapon

I am currently diving deep into AWS and Azure for my Masters, but for quick SaaS shipping, Vercel is king because of how it handles dynamic routes. This is key for Programmatic SEO (pSEO).

If you have zero audience, you cannot rely on viral hits. You need search leverage. But writing 500 articles is impossible for a solo founder. So we generate them.

pSEO involves creating thousands of landing pages based on a dataset. If you are building a job board for cloud engineers, you don't create one home page. You create pages for:

  • /jobs/remote-aws-engineer
  • /jobs/junior-azure-architect
  • /jobs/python-cloud-developer

Next.js App Router makes this absurdly easy with generateStaticParams. You fetch your data once, and Next.js builds the static HTML for every variation. It is fast, and Google loves it.

Here is the structure I use to capture long-tail keywords without writing manual copy for every page:

// app/jobs/[role]/[technology]/page.tsx import { createClient } from '@/utils/supabase/server' export async function generateStaticParams() { // Fetch all combinations of roles and techs from your DB const roles = ['architect', 'engineer', 'developer'] const techs = ['aws', 'azure', 'supabase'] // Return array of params to build return roles.flatMap(role => techs.map(tech => ({ role: role, technology: tech })) ) } export default function Page({ params }) { return ( <div> <h1>Remote {params.technology} {params.role} Jobs</h1> <p>Find the best high-paying {params.technology} roles...</p> {/* Dynamic job list component */} </div> ) }

This isn't spamming. You are programmatically creating highly specific pages that match exactly what users search for. When you have zero audience, you need to catch people at the moment of intent. Search is intent.

3. The Reddit Strategy (Do not get banned)

Reddit is the best place to launch, and it is also the easiest place to destroy your reputation. Redditors hate self-promotion. They can smell a marketer from a mile away.

I learned to treat Reddit differently. Do not post links. Post content.

If I launch a product that helps people deploy WordPress on AWS Lightsail, I don't go to r/WordPress and post "Check out my tool." That gets deleted in 5 minutes.

Instead, I write a full tutorial: "How I cut my hosting costs by 60% moving from Shared Hosting to AWS Lightsail."

I write the entire value in the post. No cliffhangers. I explain the EC2 setup, the Bitnami stack, the DNS issues. I give it all away.

Then, at the very bottom, or in the first comment, I say: "I got tired of doing this manually, so I wrote a script to automate it here: [Link]."

This works because of the Reciprocity Principle. You gave them value first. They are willing to check out your tool as a 'thank you'.

Also, engage in "Parasitic Marketing". Find the top posts in your niche from the last month. Look for unsolved problems in the comments. Reply to those comments with help, and mention your solution casually. It’s manual work. It’s a grind. But when you have 0 users, doing things that don't scale is the only way to get the flywheel moving.

4. Cold Outreach is Not Dead (If you automate it)

Cold emailing sounds like 2010 corporate sales tactics. But for B2B SaaS, it works if you are targeted.

Since I'm moving into the indie hacker space, I value efficiency. I don't want to manually send emails. I script it.

You can scrape leads from places where your customers hang out. If you are building a tool for Shopify owners, scrape the "BuiltWith" data or public directories.

But here is the nuance: Do not sell in the first email. Ask for feedback.

  • Subject: Quick question about your [Tech Stack]
  • Body: Hey, I noticed you're using [Competitor/Tool]. I'm an engineer building a faster alternative. I'm not trying to sell you anything, but I'd love to know what you hate about your current setup? If you reply, I'll give you lifetime access to my tool for free.

This frames you as a builder seeking advice, not a salesman seeking cash. People like helping builders.

5. Leverage Directories (The long tail)

Product Hunt is the big flashy launch. Do it. But don't expect it to make you rich. The traffic spikes for 24 hours and then dies.

The real gold is in the boring directories. There are hundreds of "AI Tool Directories" or "SaaS Directories".

Most people skip this because it's tedious. Submitting your startup to 50 directories takes all day. Do it anyway. Or write a Puppeteer script to do it for you (we are engineers, remember?).

These directories have high Domain Authority. Getting a backlink from them helps your own SEO. It helps your programmatic pages rank higher. It is a compound effect.

I keep a JSON file of my product details-name, description, tags, screenshots-and I copy-paste heavily. Consistency across these platforms signals to Google that you are a real entity.

6. Trust Signals and the "Empty Restaurant" Problem

When a user lands on your site and sees zero reviews, zero testimonials, and a copyright date of 2024, they panic. It's the empty restaurant syndrome. Nobody wants to be the first to eat there.

You need to manufacture trust.

  1. Use specific numbers: Instead of "Trusted by many," say "Processed 50,000 requests." If you don't have users, use system metrics. "99.9% Uptime on AWS" is a valid trust signal.
  2. Open Source parts of it: If you have zero users, open source a UI component or a utility library. Put the GitHub stars on your landing page. It shows you are technically competent.
  3. The Founder Video: Record a Loom video. Put your face on the site. Walk through the code or the product. High-production marketing videos feel fake. A raw Loom video feels authentic. It shows there is a human behind the code who will answer support tickets.

7. The Technical Stack for Speed

You cannot afford to waste time on "perfect" architecture when you have no customers.

I love cloud engineering. I enjoy architecting complex Azure solutions. But for an MVP launch? I stick to the most boring, productive stack possible.

  • Frontend: Next.js (App Router). It’s standard.
  • Styling: Tailwind + Shadcn. Do not write custom CSS. You are wasting time.
  • Backend: Supabase. It gives you Auth and Database in 5 minutes. Row Level Security (RLS) handles the permissions.
  • Payments: Lemon Squeezy or Stripe. Lemon Squeezy handles the tax compliance (Merchant of Record), which saves me a headache since I'm in Ireland and tax laws can be annoying.

Here is a pattern I use to keep my database calls cheap and fast using Supabase, preventing unneeded reads which saves money during the initial launch phase:

import { createClient } from '@/utils/supabase/server' export async function getUserData() { const supabase = createClient() // Only select the fields you need. Don't select * const { data, error } = await supabase .from('profiles') .select('username, avatar_url, subscription_status') .single() if (error) { // Handle error gracefully return null } return data }

Keep the code simple. Refactor only when you have paying customers.

8. Iterate or Die

The first version of your product will probably suck. That is fine.

Launching isn't an event. It's a loop. You launch on Reddit. You get feedback (and insults). You fix the bugs. You launch on Hacker News. You get technical critique. You improve the performance. You launch on Product Hunt.

When you have zero audience, you have the freedom to mess up. No one is watching.

I used to obsess over the "perfect launch" in my freelancing days. I wanted everything polished. But in the SaaS world, speed is the only currency that matters. You buy information with speed.

Summary

Launching with zero audience is just an engineering problem.

  • Input: Code, Strategy, Persistence.
  • Process: Programmatic SEO, Free Tools, Community Engagement.
  • Output: Traffic, Leads, Users.

Don't wait for permission. Don't wait for followers. Build the system that brings them to you.

Now, I need to get back to my repo. I broke the build on a new feature and Vercel is yelling at me.

#how#IndieHacker

Read Next