RankInPublic's First Users: A 1-Day Gemini Build to a \$17K Month

October 7, 2026 · 1203 words

FactValue
What it isLaunch platform where SaaS products face off in weekly community-voted tournaments, plus a paid directory-submission service
BuilderDeveloper: Antonio Manuel Escudero Vargas, who left a CS degree to build his own projects
AI toolGemini 2.5 Pro
StackStarted: Vite + React, Supabase, Stripe, Cloudflare Pages. Now: Next.js, self-hosted Convex, Better Auth, Dodo Payments, Hetzner + Dokploy
Time to launchOne day
Revenue$11K–$17K/month recently; $33K total; about $1K of it subscription MRR; nearly 8,000 users (self-reported, Indie Hackers)
SourceIndie Hackers, September 2026

RankInPublic first users illustration: two product cards facing off in a weekly voting tournament bracket, with votes flowing in and a revenue line breaking out of a long flat plateau

RankInPublic went from a one-day build to $11,000–$17,000 in monthly revenue, mostly one-time payments, according to its founder's Indie Hackers interview. But for a long time it made under $300 a month.

This post walks through how Antonio Escudero got his first users, what finally moved revenue, and what flopped. The build itself took one day:

"I fully vibecoded the website in a single day using Gemini 2.5 Pro." — Antonio Escudero, via Indie Hackers

Gemini 2.5 Pro is Google's AI model, used here as a coding assistant.

What RankInPublic is

It's a launch platform with a twist. Instead of one big launch day, products compete in weekly tournaments of one-on-one matchups. The community votes. Winners get featured placement.

Makers can join for free. Money comes from paid visibility and from a directory submission service that submits your product to 100+ startup directories. Per the homepage, launching can also earn a backlink (a link from another site that helps search ranking) from a site with a high domain rating.

The timeline, channel by channel

How RankInPublic got its first users: posting to existing X followers, a share-to-vote loop, a paid directory service, then lead magnets on X and LinkedIn

Day 1: build and ship for almost nothing. He bought a .xyz domain for cents and deployed on free tiers: Cloudflare Pages for the front end, Supabase for the database and login, Stripe for payments.

First users: his own X profile. He promoted it to his existing followers. After a few people joined, he decided to keep going. That's the whole cold start. No launch campaign, no ads.

Month one: first payment. About a month in, someone paid to sponsor a tournament.

The built-in loop. Tournaments are voted on. So makers share their own product pages to win votes. Every share brings new visitors, and some become makers. The marketing lives inside the product.

The long plateau. Despite the loop, revenue sat under $300 a month for a long time.

The breakthrough: a service, not a feature. He built a directory submission service. He scraped thousands of startup and SaaS directories and organized the useful ones into a database. Founders pay to be submitted to them.

Lead magnets on X and LinkedIn. A lead magnet is free, useful content that attracts the exact buyer. His worked like this: post a milestone, such as hitting 50 DR (domain rating), and share the list of directories he'll use to reach 60. It's proof and a free sample in one post. He says these consistently brought in 20,000+ daily impressions.

Timing. He lives in Vietnam, so he started posting at night his time. That's daytime for US and European readers.

Result: months of $11K–$17K, $33K in total, and nearly 8,000 users.

What worked

  • Posting to an audience he already had. The first users came from his own X followers.
  • A product that asks users to share it. Voting tournaments make every maker a promoter.
  • Selling a done-for-you service next to the free product. Most revenue now comes from one-time directory submissions, not subscriptions. He puts the margin at about 65%, using freelancers and scripts to fulfill orders.
  • Raising prices. He noticed competitors charging nearly double were selling more. Raising his own prices increased conversions. Cheap can signal low value.

Pricing from the interview:

OfferPrice
Skip the queue$29
Directory submission packages$199–$249
Featured landing-page spot$29/week or $99/month

The homepage mentions these offers, but its price section didn't load when I checked, so the numbers above are from the interview.

What flopped

  • Paid ads. He tried them, found the space saturated, and stopped after burning a few thousand dollars.
  • Three earlier startups. He says they failed because they needed too much upfront capital, lacked marketing, or fought big players in markets that need network effects.
  • The first stack. He later migrated everything to Next.js, self-hosted Convex, Better Auth, Dodo Payments and Hetzner with Dokploy. His reasons: international tax handling, weak SEO on the old setup, and wanting a backend that works better with LLMs.

Copyable steps

  1. Ship the bare version in days. One day, free tiers, cheap domain.
  2. Post it to whoever already follows you. A handful of real users is enough to decide whether to continue.
  3. Build one share-to-win mechanic. Votes, referrals or leaderboards turn users into distribution.
  4. Look for the service your users will pay for. For him it was directory submissions, not subscriptions.
  5. Turn your own progress into lead magnets. Share the milestone and the list that got you there.
  6. Post when your buyers are awake. Schedule for their time zone, not yours.
  7. Test higher prices before cutting them.

If you vibe-code this

A launch and voting platform takes user-submitted links, counts votes and takes payments. Here are checks for this type of app. They are general, not findings about RankInPublic.

  1. Validate submitted URLs. Only allow http and https, so nobody can submit a javascript: link. See Zod input validation.
  2. Render user content safely. Never inject product descriptions as raw HTML. See dangerouslySetInnerHTML and XSS.
  3. Stop vote stuffing. Enforce one vote per user per matchup in the database, and rate-limit voting. See API rate limiting.
  4. Verify payment webhooks before marking an order paid. See Stripe webhook security.
  5. Get auth right. See secure authentication for vibe coders.

Validating a product submission with Zod:

import { z } from "zod";

export const Submission = z.object({
  name: z.string().min(1).max(80),
  url: z
    .string()
    .url()
    .refine((u) => ["http:", "https:"].includes(new URL(u).protocol), {
      message: "Only http(s) links are allowed",
    }),
});

Built a community or launch site with AI? Email [email protected] for a security audit.

Key takeaway

RankInPublic's first users came from one X profile and a share-to-vote loop. But the jump to $11K–$17K months (self-reported) came later, from a paid service and lead magnets. The one-day Gemini build just got it on the board.

More case studies: vibe-coded apps making money. Before you launch, read the vibe coding security guide.

Sources