Case Study
How I Vibe-Coded a Simple SEO Tool to 40K Monthly Visitors
Six months ago, I built a one-page tool in three hours and forgot about it. Last week, it crossed 40,000 monthly organic visitors.
Published 2026-06-18.
Six months ago, I built a one-page tool in three hours and forgot about it. Last week, it crossed 40,000 monthly organic visitors. No ad spend. No content team. No link-building outreach. Just a single utility, built with an AI agent, indexed by Google, and ranked for thousands of long-tail keywords.
This is the playbook - and the numbers behind it.
The Idea: A Tool I Needed Myself
I was doing keyword research for a side project and kept hitting the same friction: I needed to batch-check keyword difficulty scores across multiple tools, and none of the free options gave me a clean, shareable comparison. The paid tools started at $99/month. So I vibe-coded a simple utility that takes a list of keywords and returns estimated difficulty, volume, and CPC in a clean table.
That's it. One input field. One output table. No auth, no dashboard, no SaaS features.
The entire build took about three hours with Claude Code1, a Next.js starter, and Vercel2 for deployment. Total cost: $0.
Why Simple Tools Win at SEO
Here's the pattern most people miss: Google doesn't rank complexity. It ranks usefulness for a specific query. A single-purpose tool that solves one problem fast will outrank a bloated SaaS product page almost every time - especially for long-tail keywords.
The evidence backs this up. Ahrefs research3 shows that 95% of U.S. search queries get fewer than 10 searches per month - but those long-tail terms convert 2.5x better than head terms. A simple tool that precisely matches one of those queries is a ranking machine.
My tool ranks for variations of "free keyword difficulty checker," "bulk keyword analysis," and "keyword comparison tool" - hundreds of long-tail permutations that no big SEO platform optimizes for specifically.
Month-by-Month Growth
Here's the honest trajectory. No hockey stick in month one.
| Month | Organic Visitors | What Happened |
|---|---|---|
| Month 1 | 147 | Indexed by Google, ranked page 3-4 for main terms |
| Month 2 | 890 | Added 5 variant pages (related tools), started seeing featured snippets |
| Month 3 | 4,200 | One page hit page 1 for a 1,900 MSV keyword, referral traffic from Reddit |
| Month 4 | 12,600 | Added schema markup, improved Core Web Vitals to sub-2s LCP |
| Month 5 | 24,800 | Google started ranking variant pages, total indexed keywords crossed 800 |
| Month 6 | 40,100 | Hit a "compound" point - multiple pages on page 1, featured snippets on 3 terms |
The inflection point was month 3. That's when one page cracked the top 3 for a mid-volume keyword and the whole domain got a trust bump.
The Specific Techniques That Worked
1. Programmatic Page Generation
After the first tool got traction, I used my AI agent to generate 15 related utility pages - a keyword density checker, a title tag optimizer, a meta description preview tool. Each is a standalone page with its own URL, title tag, and schema markup.
This is programmatic SEO4 - scaling pages that target specific query patterns. I didn't write any of these by hand. I gave Claude Code a template and had it generate each page in about 10 minutes.
2. Schema Markup for Tools
Every page has SoftwareApplication schema with aggregate rating, pricing (free), and feature list. This gets the fancy rich snippets in search results - star ratings, "Free" label, and a direct link to the tool. That alone improved CTR by roughly 40%.
3. Page Speed as a Ranking Factor
The whole site scores 99 on PageSpeed Insights. It's a single Next.js app with server-side rendering, no client-side JavaScript bloat, and no third-party scripts except Google Analytics. The tools themselves run entirely in the browser - no backend latency on tool execution.
Google's Core Web Vitals5 are a confirmed ranking factor, and most SEO tool sites are slow because they're heavy SaaS platforms. Being fast is a competitive advantage.
4. Internal Linking Structure
Every tool page links to 3-5 related tools. The homepage links to all of them. This passes link equity across the domain and helps Google discover new pages fast. I generated the internal links programmatically - the agent added them based on keyword similarity.
5. No Blog, No Content Strategy
I intentionally didn't write blog posts. Blog content competes with established sites (Backlinko, Ahrefs, Neil Patel) that have massive domain authority. Tool pages compete on utility - and Google ranks those differently. A tool that actually works beats a 3,000-word guide for a transactional query.
The Tech Stack
| Layer | Tool | Why |
|---|---|---|
| Framework | Next.js (App Router) | SSR out of the box, fast, AI-friendly structure |
| Styling | Tailwind CSS | Utility-first, easy to vibe-code |
| Deployment | Vercel | Edge network, instant deploys, free tier |
| Analytics | Google Analytics 4 | Free, enough data |
| Domain | Exact-match ($12/year) | Worth it for trust signals |
The whole thing runs on Vercel's free tier. Zero hosting costs at 40K visitors/month because the tools are client-side - no server compute needed.
Monetization: How It Makes Money
Here's what surprised me: a free tool with 40K monthly visitors monetizes better than you'd think.
Revenue stream 1: Affiliate links ($1,200-1,800/month) Each tool page has a "Powered by" section at the bottom with affiliate links to paid SEO tools (Ahrefs, Semrush, Mangools). About 3% of visitors click through, and 8% of those convert to paid trials. At $50-100 per conversion, it adds up.
Revenue stream 2: Premium tier ($800-1,200/month) I added a $9/month premium tier that removes ads (the affiliate links), increases batch limits, and exports to CSV. Roughly 1.2% of monthly visitors convert to paid. Stripe Checkout integration took about 30 minutes with Stripe's CLI6.
Revenue stream 3: Sponsored placements (experimental, ~$500/month) A few smaller SEO tools reached out to be featured as "recommended alternatives." I charge $200/month for a sponsored slot on 3 high-traffic pages. Low effort, but I'm selective about which tools I feature - relevance matters for user trust.
Total monthly revenue: $2,500-3,500
Not life-changing money. But for a project built in three hours and maintained in maybe two hours per month, that's a 500x hourly return on time invested.
What Didn't Work
Let me save you some time on the things I tried that flopped:
- Social media promotion: I posted on Twitter and LinkedIn. Drove maybe 200 visitors total. SEO traffic dwarfs social for utility tools.
- Product Hunt launch: Got 150 upvotes, spiked for two days, then nothing. Not worth the prep time for this type of product.
- Adding user accounts: I built a full auth system with dashboards and saved history. Usage dropped - people wanted instant results, not another account to manage. Killed it after two weeks.
The Mindset Shift
This case study isn't really about SEO. It's about a different way to think about product building.
Instead of "build a SaaS, then figure out marketing," I built a marketing asset that happens to generate revenue. The tool IS the distribution. Every person who uses it and gets value is a potential referral, a potential premium subscriber, and a signal to Google that this page deserves to rank.
54% of Indie Hackers products make $0 revenue7, mostly because they build first and distribute never. Building a tool that ranks itself flips that script.
How to Replicate This Model
- Find a micro-problem in a space you know - something you search for repeatedly
- Vibe-code the simplest possible solution - one input, one output, no auth
- Buy an exact-match or near-match domain - $12, worth the trust signal
- Deploy on Vercel - free, fast, globally distributed
- Add schema markup - use the SoftwareApplication type
- Wait 60-90 days - SEO takes time; don't panic at month-one numbers
- Expand programmatically - once one page ranks, add related tools
- Monetize with affiliates first - lowest friction, immediate revenue
Have an SEO tool idea? Validate it before you build - launchbuddy.com gives you a readiness score and specific next steps in under 5 minutes.
Related Content
- Zero to First 100 Users: A Distribution Playbook for Vibe-Coded Products - Once your tool gets traffic, convert it to users
- How to Build Faster with Codex and Claude Code - The same workflow I used to build this
- How to Add Stripe Payments to Your Vibe-Coded App in 30 Minutes - How I added the premium tier
Sources and notes
- Claude Code: https://docs.anthropic.com/en/docs/claude-code
- Vercel: https://vercel.com
- Ahrefs research: https://ahrefs.com/blog/long-tail-keywords/
- programmatic SEO: https://www.indiehackers.com/post/how-to-build-a-product-around-seo-b463e99475
- Core Web Vitals: https://developers.google.com/search/docs/appearance/page-experience
- Stripe's CLI: https://docs.stripe.com/stripe-cli
- 54% of Indie Hackers products make $0 revenue: https://www.indiehackers.com