Exact tools. Exact prices. Zero motivational fluff.
The previous article in this series explained why most side projects die before they reach production. The short version: it is not laziness. It is the infrastructure bill arriving before the first revenue does, combined with marketing tools that stopped being free the moment everyone started using them.
This article is the answer to that problem.
Not in theory. Not with vague advice about “validating your idea” and “building an MVP.” With a specific sequence, specific tools, specific prices, specific decisions you need to make at each stage. Written for someone who does not have a financial cushion. Written for someone in Malaysia, Indonesia, the Philippines, Nigeria, India. Anywhere the $35/month baseline is a real number, not noise.
There are five phases. Each phase has a cost. The total cost before you earn your first dollar is lower than most tutorials admit. Here is the full picture.

Phase 1: Validate Before You Build Anything
Cost: $0. Nothing.
This is the phase most people skip. They build first, then look for users. Then they wonder why nobody shows up. Then the database bill arrives. Then the project dies.
The right order is: find ten people who have the problem you are solving. Talk to them. Ask if they would pay for a solution. If five of them say yes without hesitation, you have enough signal to proceed. If most of them say “maybe” or “that would be useful,” stop. That is not a yes. That is polite rejection.
You do not need software to do this. You need a conversation.
Where to find those ten people:
Reddit. Search for subreddits where your target audience already exists. r/freelance, r/smallbusiness, r/digitalnomad, r/webdev, r/personalfinance. Read the threads where people complain about the exact problem your product solves. Find the person who wrote the most frustrated post. Send them a direct message. Explain you are building a solution. Ask if they would spend fifteen minutes on a call.
Facebook Groups. Malaysian entrepreneur groups, freelancer communities, niche interest groups. The conversations in these groups are real and unfiltered. The problems people describe are exactly the ones worth solving.
LinkedIn. Search for your target customer by job title. Send a connection request with a short, specific message: “I’m building a tool for [their job title] that solves [specific problem]. Would you be willing to answer three questions?” Short, specific, no link, no sales pitch.
WhatsApp communities. In Malaysia especially, industry WhatsApp groups are where actual professionals talk. If you are already in any of these, you are closer to your target market than you think.
The conversation has three questions. That is all:
- Tell me about the last time you dealt with [the problem]. What did you do?
- How much time or money did that cost you?
- If there was a tool that solved this completely, what would you be willing to pay per month?
Write down the answers. Look for patterns. The patterns tell you whether you have a real business or a hobby project nobody will pay for.
This phase costs zero money. It costs time. If you cannot find ten people willing to have this conversation, the idea is not ready. Do not spend a dollar building it.
Phase 2: Build a Landing Page Before You Write a Single Line of Code
Cost: $0 to $10 per year.
You have talked to ten people. Five of them said yes. Now you need to know if strangers (people who do not owe you anything) will also say yes.
The answer to that question is a waitlist. Not a product. A waitlist.
A waitlist is a one-page website that explains your product, shows its value. It asks people to leave their email to be notified when it launches. It takes one day to build. It costs almost nothing.
Tool: Carrd
Carrd is a one-page website builder that is free for up to three sites on a carrd.co subdomain. The free plan gives you enough to build a clean, professional-looking landing page with text, sections, images, call-to-action buttons. No custom domain on the free plan, but at validation stage, your URL being yourproduct.carrd.co is fine. Strangers do not care about the domain if the page is clear.
For forms and custom domain, you need Carrd Pro Standard at $19 per year. That is $1.58 per month, billed annually. If you cannot absorb $19 up front, use the free tier with a Google Form or a Tally form embedded via link. Tally is a form builder with a free plan that collects responses at no cost.
Your landing page needs four things only:
One headline that describes who this is for and what it does. Not clever. Not catchy. Specific. “A tool that automatically tracks your freelance invoices and chases overdue payments” is better than “The future of freelance finance.” The second one says nothing. The first one tells exactly who should care.
Three bullet points explaining the main benefits. Not features. Benefits. “Saves two hours per week” is a benefit. “Automated invoice tracking” is a feature. Write benefits.
Social proof if you have it. Even if it is just “27 freelancers are already on the waitlist”. Update this number weekly as real signups come in. Numbers build trust.
One form. Email address only. Nothing else. Every extra field you add reduces conversions. Name, phone number, company: none of it matters at this stage. You need an email.
Tool: Tally (free)
Tally is a free form builder. It looks clean, collects responses, exports to CSV, has no branding on the free plan. Embed the Tally form on your Carrd page or link to it from the button. Every submission notifies you by email.
You now have a waitlist. You have not written a single line of application code. You have spent $0 to $19 per year.
Tell people about the landing page before building anything else. Post it in the subreddits where you found your first ten users. Share it in the Facebook Groups. Put it in your LinkedIn profile. Message the five people who said yes in Phase 1 and ask them to share it. See how many strangers sign up.
If you get 50 signups in two weeks from people who do not know you, you have real demand. Build the product. If you get three signups, the message is not landing or the problem is not big enough. Adjust before you spend money on infrastructure.
Phase 3: Build the Smallest Possible Thing That Proves the Idea Works
Cost: $0 to $3.50 per month (depending on stack).
You have 50 signups. Now build.
The word “build” here does not mean the complete product. It means the smallest version that delivers the core value to one person. Not ten features. One. The feature that, if it worked, would make someone say “yes, this is worth paying for.”
Before writing code, make one decision: do you actually need a database right now?
A surprising number of early-stage products do not. If your product helps someone with a one-time task, you can use a stateless serverless function. If it helps a small group of people and you are the only operator, a spreadsheet plus Zapier can do the work for the first 50 users. Not as infrastructure. As proof of concept while you build the real thing.
For products that do need a database, here is the stack that costs nothing to start.
Frontend: Vercel (free)
Vercel’s free tier is permanently free for personal use. It gives you 100GB bandwidth per month, automatic HTTPS, global CDN, automatic deployments from GitHub on every push. For a Next.js, React, or plain HTML/CSS/JS frontend, Vercel is the best free option available. No credit card required for the free tier. No expiry.
Cloudflare Pages is an alternative with unlimited bandwidth on the free tier and commercial use allowed. For static sites, Cloudflare Pages is arguably better than Vercel because “unlimited bandwidth” has no asterisk.
Database: Supabase (free tier)
Supabase gives you a real PostgreSQL database, authentication, file storage, an auto-generated REST API, a dashboard. The free tier includes 500MB database storage, 1GB file storage, 50,000 monthly active users for authentication, unlimited API requests.
The critical limitation: your Supabase project pauses after 7 days of inactivity. If nobody uses your app for a week, the next person to visit waits 20 to 30 seconds while the database wakes up.
How to prevent pausing for free: set up a free cron job on cron-job.org that pings your Supabase database once every three days. It makes one lightweight query. The database stays awake. Cost: zero.
Two free projects maximum on the free plan. For a single side project, that is enough.
Backend: Supabase Edge Functions or Vercel Serverless Functions (both free)
If your backend logic is lightweight: validating inputs, transforming data, sending notifications. Supabase Edge Functions and Vercel serverless functions cover most of what you need. Both are free within their generous limits. You do not need a separate backend server for most early-stage products.
Transactional email: Resend (free)
Resend’s free tier gives you 3,000 emails per month with 100 emails per day. For a product with fewer than 3,000 monthly active users, that covers welcome emails, password resets, notifications, everything. No credit card required for the free tier.
Total cost for a real, live, functional product:
- Vercel or Cloudflare Pages: free
- Supabase: free
- Resend: free
- Carrd Pro Standard (custom domain for landing page): $19/year
Running total per month: essentially zero. Running total per year: $19 if you want a custom domain on the landing page.
The one thing you need to pay for is a domain. Buy it from Porkbun or Namecheap. A .com domain costs $10 to $12 per year. DNS management is free through Cloudflare. SSL certificate is free through Cloudflare or Let’s Encrypt. Cloudflare’s free plan handles CDN, DDoS protection, DNS, SSL with no traffic limits.
Grand total for a live product with real infrastructure:
$10 to $12 for the domain (per year). That is less than one meal at a restaurant.
Phase 4: The First Time You Actually Need to Spend Money on Hosting
Cost: $3.50 to $5 per month
The free tier works until one of three things happens:
Your Supabase database keeps getting paused and the cron job workaround feels fragile. Your backend needs to run a process that stays alive, not just respond to requests (a queue processor, a scheduled job that is too heavy for serverless, a WebSocket connection). Your app is getting real users and you want reliable uptime without babysitting free-tier limitations.
At that point, the right move is a €3.49 per month VPS on Hetzner.
Hetzner CX23: €3.49/month
Hetzner is a German cloud provider with data centers in Germany, Finland, the US, Singapore. Their cheapest instance, the CX23, gives you 1 vCPU, 2GB RAM, 20GB NVMe SSD, 20TB included traffic per month. The Singapore location is available if latency to Southeast Asia matters to you, though the EU locations are cheaper.
For context: 2GB RAM runs a Node.js or Python backend comfortably. 20TB monthly traffic is more than most side projects will ever need. The price is €3.49 per month, roughly $3.80 USD.
You can run your entire backend on this one machine. Your Node.js or Python API, a PostgreSQL database if you want to move off Supabase free tier, NGINX as a reverse proxy. All on one €3.49 machine.
This is not managed hosting. You are responsible for keeping the server updated, setting up NGINX, managing your deployment process. If that sounds intimidating: it requires knowing how to use the command line, SSH into a server, install packages with apt-get, run a process with systemd or Docker. This is learnable in a weekend. DigitalOcean has some of the best free tutorials on the internet for exactly this. Search “DigitalOcean initial server setup” and follow the guide. It takes two hours the first time.
If you add Hetzner’s managed database (Postgres) to avoid running the database on the same machine: that starts at €4.90/month. Or you stay on Supabase Pro at $25/month once you have paying users and the $25 is covered by revenue.
Phase 5: Marketing With Zero Tools Budget
Cost: $0.
Your product is live. You have a domain, a real database, a landing page, a waitlist of 50 people. You need to get more users without spending money on ads.
Here is what actually works at zero budget:
Build in public on one platform.
Pick one: X (Twitter), LinkedIn, or TikTok. Not all three. One. Post weekly about what you are building. What problems you ran into. What decisions you made. What you shipped. What is not working.
This sounds vulnerable. It is also the most effective zero-cost marketing channel for indie builders in 2026, because the algorithm rewards consistency, authenticity, specificity. A post that says “I built a tool for freelancers that auto-sends invoice reminders, here is the first version” performs better than any amount of generic content. People root for builders.
Post in the communities where your users already are.
Go back to the Reddit threads, Facebook Groups, LinkedIn conversations where you found your first users. Post your product there honestly. “I built this because I had this problem. It does X. You can try it here.” No marketing language. No features list. One problem, one solution, one link.
Communities are protective of their members. Hard sales pitches get removed. Honest product announcements from genuine community members usually stay.
Content creation tools, all free:
CapCut for short-form video editing. Free with no watermark on exports. It runs on both mobile and desktop. For 30-second product demos or TikTok/Reels, it is sufficient.
DaVinci Resolve for longer video editing if you need it. Free, professional-grade, runs on Windows and Mac.
Canva free tier for graphics. 50 AI uses per month, thousands of templates, covers all early-stage social media design needs.
ChatGPT free tier for copywriting help. The free version handles drafting product descriptions, social media captions, cold outreach messages. Daily limits exist but for someone posting three times per week, they are not a real constraint.
OBS Studio for screen recording. Free, open-source, no watermark.
Google Analytics for traffic data. Free forever.
Email the waitlist you already built.
You have 50 people who gave you their email before the product existed. They are your warmest possible audience. Email them when the product launches. Email them when you add a major feature. Keep the emails short, specific, personal. Three paragraphs maximum.
MailerLite has a free plan for up to 1,000 subscribers and 12,000 emails per month. More than enough for early stage. Brevo (formerly Sendinblue) also has a free tier covering 300 emails per day. Both are real options.
The Complete Zero-to-Live Cost Table
Here is everything, in one place, with real numbers.
Validation conversations: Your time / Free
Landing page: Carrd free tier / Free
Waitlist form: Tally / Free
Custom domain (per year): Porkbun / ~$10 to $12
DNS, CDN, SSL: Cloudflare / Free
Frontend hosting: Vercel or Cloudflare Pages / Free
Database: Supabase free tier / Free
Transactional email: Resend free tier / Free
Video editing: CapCut / Free
Graphics: Canva free tier / Free
Analytics: Google Analytics / Free
Email marketing: MailerLite free tier / Free
Total before your first paying user: ~$1 per month. ~$12 per year.
The ~$1 per month is the domain cost amortized monthly. That is it.
When you get your first paying user, the decision becomes easy. Take the first month of revenue and upgrade what is breaking first. Usually that is Supabase ($25/month for the Pro plan once you need reliable uptime). Then Hetzner if your backend needs a persistent server. Then one marketing tool if a specific paid feature would meaningfully save you time.
The principle is this: infrastructure cost follows revenue. It does not precede it.
The One Mistake That Kills Projects at This Stage
Scaling before earning.
You get 50 waitlist signups. You feel momentum. You start thinking about scale: a proper server, a CDN, a Redis cache, load balancing, automated deployments, monitoring dashboards. You spend a weekend setting all of it up. You have built excellent infrastructure for a product that has not yet proven it is worth using.
This is the most expensive thing a builder can do. It costs nothing but time. The time you spent on infrastructure is time you did not spend talking to users, fixing bugs, improving the product. The infrastructure was not the bottleneck. The product was.
Build the product until it earns money. Then spend that money on infrastructure.
Pieter Levels runs multiple products generating over $1.5 million in annual revenue. He runs his entire stack on a single server. One machine. Not microservices. Not Kubernetes. Not auto-scaling groups. One server. His public reasoning: complexity kills focus, focus builds products, products build revenue, revenue pays for everything else when the time comes.
He has the money to run anything he wants. He chooses simplicity on purpose.
You do not have the money yet. Simplicity is not just a preference. It is the only responsible choice.
A Final Note on Free Tier Honesty
Every free tier in this guide has limits. None of them are unlimited. The supabase database pauses. Vercel’s free tier restricts some commercial use cases. Resend limits you to 100 emails per day. Cloudflare Pages is generous but not a full backend platform.
The correct response to these limits is not to pay for everything upfront. The correct response is to know the limits, engineer around them where possible. Upgrade the specific service that becomes a constraint only when you have the revenue to justify it.
The limits are not traps. They are the deal you make to get started without capital. A fair deal.
Use it.