Portfolio Project

Bid on proof, not potential.

Your top local competitors are already paying Google for certain keywords. [sage]ADVANTAGE finds those keywords, validates the demand against real ad spend, builds you a ready-to-run campaign — and pushes it to Google Ads when you say go.

Try the demo →How it works
Candidate keywordsstreaming in
Worth biddingvalidated by competitor spend

The Builder

Sage Ashique
Sage Ashique
Product Manager

I'm a Product Manager with experience building enterprise software and internal tools. I took [sage]ADVANTAGE from initial idea to production — defining the product, directing the build, and getting it in front of real users.

The goal was to better understand what modern product building looks like when AI lowers the barrier between ideation and execution.

This project reflects the kind of product work I enjoy most: staying close to the problem, iterating quickly, and being involved throughout the full process from idea to shipped product.

Connect on LinkedIn

Why I built this

I started [sage]ADVANTAGE for a private-practice doctor in Queens who needed to know which keywords were worth bidding on for Google Ads. Professional keyword research can be expensive, especially for someone just getting started with ad spend. The tools available felt overcomplicated and went well beyond what he actually needed.

So I proposed we build something around his specific needs instead.

What started as a solution for one business quickly felt like a broader problem worth solving. Small businesses rarely have the budget for agency research, but the data is there if you know where to look. The scope expanded from surfacing the right keywords to building out a full paid search campaign.

It took multiple iterations, with my doctor friend staying close throughout and his feedback shaping every version. What surprised me was how much Claude brought to the process beyond writing code and ideating on product decisions we hadn't considered. The collaboration was genuinely three-way.

He now runs it monthly to identify which keywords his competitors are actively bidding on. Instead of guessing, he goes into Google Ads knowing exactly which terms are proven to drive patients in his market. A few referrals are using it now too. That's what this project demonstrates: how much a single person can ship when the AI is genuinely collaborating, not just autocompleting.

What [sage]ADVANTAGE is

A keyword research tool for local service businesses with a paid customer-acquisition motion — doctors, dentists, lawyers, gyms, plumbers, contractors, anyone who runs Google Ads to fill their calendar. Enter your business profile, and the app does the rest: discovers your top 10 local competitors, scrapes their websites, pulls real keyword data from DataForSEO, and runs each candidate through an AI intent classifier and a four-check validation layer.

The deliverable is a complete campaign kit, not a chart. Numbered action steps, pre-written ad copy for every keyword theme, exact landing page specs, a Google Ads setup checklist, and a negative keyword list — ready to push to Google Ads in one click. Tier 1 keywords are ready for ads now. Tier 2 means you need to build the matching page first. Tier 3 is a low-confidence test. Tier 4 gets skipped.

What it does

🔍
Discovers your competitors

Builds local search queries from your profile and pulls the top 10 organic results, stripping directories and aggregators.

🌐
Scrapes their websites

Pulls homepage and service-page copy from each competitor to learn what they actually market.

📊
Real keyword data

Monthly search volume, cost-per-click, and competition level from DataForSEO — the same backend most ad agencies use.

🧠
AI intent classification

Filters out research-only searches so you only pay for clicks with booking intent.

Competitor-spend validation

Refuses to recommend a keyword unless a competitor is actively bidding on it. Volume without validation is wasted spend.

📝
Action plan, not a chart

Numbered steps prioritized by impact. Fix this. Build that. Run ads on these. No agency-speak.

💰
Recommended test budget

A daily and total ad-spend range based on your actual CPC data — not a generic suggestion.

🔄
Test mode + Live mode

Run a full report with sample data for free, or go live against your real business profile.

📋
Pre-written ad copy

Headlines and descriptions for every ad group, formatted to Google Ads character limits. Ready to copy-paste or push directly.

🗺️
Landing page specs

Exact page briefs for every Tier 2 keyword — H1, above-the-fold copy, CTA, trust signals, and page sections. Hand directly to a designer.

🚀
One-click Google Ads push

Pushes the full campaign to Google Ads — campaign, ad groups, keywords, and negatives. Always created paused so you review before spending.

🔍
Discovers your competitors

Builds local search queries from your profile and pulls the top 10 organic results, stripping directories and aggregators.

🌐
Scrapes their websites

Pulls homepage and service-page copy from each competitor to learn what they actually market.

📊
Real keyword data

Monthly search volume, cost-per-click, and competition level from DataForSEO — the same backend most ad agencies use.

🧠
AI intent classification

Filters out research-only searches so you only pay for clicks with booking intent.

Competitor-spend validation

Refuses to recommend a keyword unless a competitor is actively bidding on it. Volume without validation is wasted spend.

📝
Action plan, not a chart

Numbered steps prioritized by impact. Fix this. Build that. Run ads on these. No agency-speak.

💰
Recommended test budget

A daily and total ad-spend range based on your actual CPC data — not a generic suggestion.

🔄
Test mode + Live mode

Run a full report with sample data for free, or go live against your real business profile.

📋
Pre-written ad copy

Headlines and descriptions for every ad group, formatted to Google Ads character limits. Ready to copy-paste or push directly.

🗺️
Landing page specs

Exact page briefs for every Tier 2 keyword — H1, above-the-fold copy, CTA, trust signals, and page sections. Hand directly to a designer.

🚀
One-click Google Ads push

Pushes the full campaign to Google Ads — campaign, ad groups, keywords, and negatives. Always created paused so you review before spending.

Build decisions

Vertical-agnostic from day one.
The original use case was a medical practice, but the only thing medical about the codebase is one fixture set. The intent classifier is calibrated per business type, competitor discovery queries are templated from the profile, and validation thresholds adapt to the vertical. Adding a new vertical means adding a JSON profile — not changing code.

Test Mode is a first-class state, not a debug flag.
Every external API call respects a DRY_RUN flag. DataForSEO calls route to their sandbox endpoint — real responses, zero credit spend. LLM provider calls return cached fixture data. Test Mode runs the full pipeline against sample data so you can see exactly how the system works — running it against your real business profile is what costs API credits.

No direct Google scraping.
Google's ToS prohibits it and their bot detection blocks it. All Google data flows through DataForSEO — keyword volume, CPC, SERP results, competitor ad activity, Business Profile listings. Competitor websites are the only thing scraped directly, with a transparent user-agent that identifies itself.

Output-first, not data-first.
Most keyword tools assume you already know how to interpret CPC vs. volume vs. competition. Local business owners generally don't. So the deliverable is a complete campaign kit: numbered action steps, pre-written ad copy, landing page briefs, a setup checklist, and a negative keyword list — ready to push to Google Ads in one click. The keyword data is there to back it up, not to be the main event.

Built with

Libraries & frameworks

  • Next.js 16 (App Router)Full-stack React framework. Server Actions handle the pipeline; the dashboard is server-rendered.
  • TypeScriptType safety in the UI; JavaScript with JSDoc types in pipeline modules.
  • Tailwind v4Utility-first CSS with a shared [sage] design system across the family.
  • CheerioStatic HTML parsing for competitor website scraping. No browser automation needed for most sites.
  • LLM clientIntent classification with structured tool-use schemas — output is always machine-readable. Vendor-neutral by design.
  • google-ads-apiGoogle's official Node.js client for the Google Ads API. Used for campaign creation, ad groups, keyword upload, and negative keywords.

Platforms & services

  • DataForSEOAll Google data: SERP results, keyword volume, CPC estimates, competitor ad activity, Business Profile listings.
  • VercelHosts and deploys the app globally. Every push to main goes live automatically.
  • GitHubVersion control and CI/CD trigger. Main branch stays in sync with production.
  • localStorageThe business profile lives in the browser — the app works without an account. Sign-in gates Live Mode; no business data is stored server-side.
  • Google Ads APIThe campaign push sends data directly to Google Ads via OAuth — creating a paused campaign, ad groups, keywords, and negatives from the report output.

Say hello

I'm open to conversations about PM roles — ideally somewhere the product surface is genuinely complex and the team ships with intention.

If that describes where you're hiring, I'd like to connect.

Sage Ashique
Sage Ashique
Product Manager
Connect on LinkedIn