Skip to content

Draft. Visible on previews only.

Articles

I built the Safari extension I was missing

Detailed SEO has no Safari version. I stopped looking for a replacement, and my AI agent built me one in an hour or two.

I wanted to move off Comet, Perplexity’s browser. I only used it because I had a free year of Perplexity’s subscription, and even then, barely. I didn’t want Chrome or Firefox. I went with Safari, because I had never really given it a fair try.

I got my most used extensions back, except one. Detailed SEO, which checks a page’s SEO, only exists for Chrome and Firefox.

I started looking around for a replacement. At some point I broke out of that pattern and asked myself why I didn’t just build one.

So I built it. It’s called Loupe SEO and, for the way I use it, it works better than Detailed. The data is easier to read, and there’s more information.

When I say I built it, that’s a figure of speech. It was purely vibe coded. My AI agent, Hermes, wrote all of the code in an hour or two. All I did was the setup on my Mac. Installing Xcode, adding my Apple ID to it, sorting out the signing certificate and turning the extension on in Safari.

What’s in it

Loupe SEO checks the SEO of whatever page you have open. It covers what Detailed does, with code written from scratch and nothing taken from Detailed. Everything sits in tabs.

  • Overview. A verdict on whether the page can show up in Google, and what’s blocking it.
  • Headings. Every heading on the page, H1 to H6, with the problems, like a missing H1 or a skipped level.
  • Links. Internal, external, nofollow, and a CSV export.
  • Images. Missing alt text, and images served at more than twice the width they display at.
  • Schema and hreflang. The page’s structured data, and its versions in other languages, each one checked.
  • Social. How the page looks when someone shares it on Facebook, LinkedIn or X.
  • Tools. Switch the user agent to see what a site serves GPTBot, ClaudeBot or PerplexityBot, the AI crawlers. And pull Google’s “People also ask” questions.

A right-⁠click opens the page in Ahrefs, Semrush, PageSpeed and other tools. No tracking. Everything runs in your browser.

Screenshot to come Loupe SEO in Safari, light theme.

Screenshot to come Loupe SEO in Safari, dark theme.

Built on a machine without Safari

Hermes built Loupe on a server where Safari can’t run. So he tested it in Chromium, the open-⁠source project Chrome is built on. He also had to work around three of Safari’s limits.

  • Safari gives extensions no way to download a file. CSVs go through a link inside the page, or through the clipboard.
  • The user-⁠agent switch can’t be limited to one tab. It applies to every tab until you turn it off.
  • Safari can shut down the part of the extension that runs in the background, without warning. So Loupe rebuilds its right-⁠click menu once per session.

What failed

The Mac is where it got stuck.

A temporary extension doesn’t last. Safari removes it after 24 hours, or when you quit it. To keep Loupe, it had to be wrapped in a small Mac app, with Xcode.

The App Store’s Xcode wanted a newer macOS than mine. An older version, Xcode 26.3, ran fine on my Mac. No upgrade needed.

And the install script had never run on a Mac, since Hermes doesn’t have one. The first real build failed because the app’s ID and the extension’s ID didn’t line up. Then the new signing certificate showed up as not valid, until Apple’s current intermediate certificate was added to the keychain. The script is fixed now.

A free Apple ID was enough to sign it. In Xcode, that’s called a Personal Team. I paid nothing.

Installing it

Loupe is public on GitHub. Before you install it, know that it was purely vibe coded, for the way I use it. There are two ways to do it, and the README has every step.

  • To try it, no Xcode. With Safari 26 or later, you add it as a temporary extension in the developer settings. It goes away after 24 hours, or when you quit Safari.
  • To keep it. You need Xcode 26 or later and an Apple ID, the free one is enough. A script wraps it in a small Mac app, then you turn it on in Safari’s settings.
Sessions and workshops on AI
for entrepreneurs
in Montreal
Nº 02
Date to be announced

Want to talk it through in person?

That is exactly what we do in a session. Eight to fifteen people, all invited.

Newsletter

What’s moving in AI. What we do with it.

No invitation needed to follow along. Every week, what we did with AI in our own businesses. When AI actually changes, you hear from us too. Each workshop is announced there first.

Your email is used for the newsletter only. Unsubscribe any time. Details in the privacy policy.

You’re on the list. Thanks.

Your email app opened. Send the message to confirm your sign-⁠up.