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, and tells you exactly which ones to bid on.

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 while helping a private-practice doctor in Queens figure out which keywords to bid on for Google Ads. Every agency he talked to wanted $5,000+ for a keyword research engagement with a 4–6 week turnaround. Every keyword tool he tried dumped a list ranked by search volume — and said nothing about whether those keywords actually drove customers.

The gap was obvious: volume isn't validation. A keyword with 5,000 monthly searches might never convert. A keyword with 200 monthly searches might be where every competitor is spending real money — because it actually books appointments. None of the tools made that distinction. So I built the tool I wanted: one that refuses to recommend a keyword unless a competitor is already paying for it.

I used Claude Code as a co-builder throughout — to ideate, debug, and iterate. As a PM, what felt natural was the part most people find hardest: writing clear, specific direction. Vague prompts get vague results; precise prompts get production-ready code. The whole project was a study in how much faster 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 an action plan, not a chart. Numbered steps in priority order, each with a plain-English explanation and a prescriptive “what to do.” 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.

🔍
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.

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. Anthropic calls return cached fixture data. Anyone can run a full report — discovery, scraping, classification, validation — without spending a cent. Demos don't burn 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.

An action plan beats a dashboard.Most keyword tools assume you already know how to interpret CPC vs. volume vs. competition. Local business owners generally don't. So the report leads with numbered steps — fix your Google reviews, build these three pages, run ads on these five keywords — and the data tables are 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.

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 — no database, no accounts, no data stored server-side.

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