← All tools
Desktop app · Electron + Next.js · 2026 · Internal

Semantic SEO Optimizer

A Mac app that reads the top 20 Google results for a keyword, finds the terms they share, and scores a draft against them as I write.

Kind
Desktop app
Built with
Electron, Next.js, TypeScript, DataForSEO, Cheerio
Status
Internal
Year
2026
What it does

Type a keyword. The app pulls the top 20 Google results, reads each page and builds a list of the terms those pages have in common, with a recommended range for each. Paste a draft into the editor and it scores the draft against that list, term by term.

It also reports the ranking pages' average word count, headings, links and images, so a brief starts from what already ranks.

Why I built it

Before I write or rewrite a page, I want to know what the pages already ranking for it cover. This puts that list, and a score against it, in one window, and I can see exactly how the score is calculated.

How it works
  • DataForSEO returns the top 20 organic results for the keyword.
  • Cheerio fetches and parses the pages five at a time, pulling headings, body text, links and images.
  • TF-IDF scoring across single words and two- and three-word phrases finds the shared terms, with headings weighted above body text.
  • A term in its recommended range scores full marks, too few or too many scores partial marks, and a missing term scores zero. Scores are weighted by importance.
  • Electron wraps the Next.js app as a Mac app, packaged as a DMG.
What I learned

Scraped pages are mostly interface. Menus, buttons, cookie banners and share links would swamp the real topic terms, so the extractor filters a long list of web and interface words and weights headings above body text.

Want this kind of thinking on your site?

I build tools like this to do SEO work faster and more carefully. The same approach goes into client work.