Keyword Gaps
A simple keyword gap analysis tool. Add a keyword and analyze it against competitors to see where they are ranking and what opportunities exist to compete.
Project Details
My first real attempt at vibe coding a piece of software was KeywordGaps.com. The experience of just sitting down, thinking of a feature, and having it live on my computer in under 20 minutes was incredible. But, as usually happens with vibe coding without a clear plan or product vision, the codebase quickly became complex, confusing, and full of bugs.
So I ripped out one core piece of functionality and decided to focus on just that: keyword gap analysis.
The Problem I Wanted to Solve
Brands that focus heavily on content marketing often have hundreds of blog posts. They do keyword research, build giant lists of terms to write about, and then grind through them one by one.
But there’s a strategic step that’s often missed:
What are your competitors ranking for that you’re not?
You can’t win every keyword in your niche, but you can absolutely reverse engineer competitors, find the gaps, and position your brand next to theirs. That was the idea behind KeywordGaps.
How I Built It
After playing with Ahrefs and SEMrush, I knew this feature already existed in the bigger SEO suites. But I wanted to build something that:
- Only focused on this one feature
- Was much simpler
- And about 1/4 the price
I built the app with Laravel (still my favorite stack).
I used DataForSEO to pull keyword data. Users could add competitor URLs, and the app would hit their domain intersection API to surface keyword gaps. Then, I ran the results through OpenAI to generate an audit—things like backlinks, meta title, keyword density, content length—so users had an idea of what it would take to compete.
From there, I added a feature where users could create a content outline based on the audit, either to write manually or generate with AI.



Marketing Experiments
- Submitted the app to a bunch of directory sites
- Paid for sponsorships on a few strategic directories
- Ran a $50 newsletter ad → got 19 free signups
- Wrote blog posts
- Tried a pSEO play with a glossary of SEO terms and keyword gap pages for big brands
Biggest Lessons Learned
- SEO is crowded
- In this space, trust matters more than anything—people are hesitant to try new tools
- Customers expect SEO tools to be feature-rich; focusing on just one problem isn’t likely a winning strategy
- Laravel sitemap + indexing = more painful than I thought
- Spam prevention in signups is a delicate friction vs. conversion balance
- Backups matter. Claude Code nuked my production database one night
What’s Next
I’ll leave the site online for a while and maybe tinker with a few more features. But without marketing, I don’t expect much to happen.