Comparison pages go stale faster than the code

Super Notch is a Mac app, but a lot of what I've merged lately is web pages.

The Reddit threads I read for Super Notch kept naming other apps, mostly Wispr Flow and once Fluid Voice. I wanted pages that start from the app someone already knows.

The pages were the easy part. Keeping someone else's facts true was harder.

The SEO spine went in first

Back on September 16, PR #30 gave the site a thin SEO spine. Robots allowed the major answer crawlers, the sitemap went www-only, llms.txt got richer, and the homepage got JSON-LD and four quotable FAQ anchors. That day is in the September 16 Journal entry.

Later, PR #134 ran a FAQ and JSON-LD pass on the homepage, the /for pages, /vs/wispr-flow, the dictate journal post, and llms.txt.

One snag there: Express static ignores dotfiles. So the license server also serves the same llms.txt at /.well-known/llms.txt.

Twelve comparisons and three hubs

The alternatives page and the Wispr Flow comparison came first. PR #132 added Superwhisper, NotchDeck, and the dictation pages.

PR #165 added a Mac notch apps hub with pages for NotchNook, Boring Notch, Alcove, DynamicLake, and Raycast AI. PR #166 added a VRM avatar assistants hub with Desktop Mate, Amica, and MateEngine. PR #171 added Eney.

That's twelve /vs pages and three hubs, each one about an app I don't control.

Leave out numbers that move on their own

PR #165 left out Boring Notch's GitHub star count and Alcove's version number.

Both change on someone else's schedule. A wrong number on a comparison page reads like I'm fudging it.

Someone else's deadline went stale on my page

The NotchNook comparison and the notch apps hub said an offer ended Oct 17. PR #175 took that line out. NotchNook's price is now worded as a special price as of Oct 18, 2026. The prices didn't change.

PR #171 had already added Halo and Notchware rows with prices as of Oct 17, 2026. PR #176 then dated the Oct 19 rechecks and noted NotchDeck's free tier of up to 3 agent sessions and its waitlist Pro pricing.

My rule now: every fact about another app carries an "as of" date, and a recheck moves the date.

One phrase, in the HTML and the JSON-LD

PR #172 changed every sentence on the site that said Super Notch tracks and continues sessions. It now says Super Notch finds and resumes them.

That covered the visible FAQ answers and the FAQPage JSON-LD on every page that had the old phrase. If the two disagree, a crawler gets one answer and a reader gets another.

Pages nobody linked to

PR #164 found three journal posts with no inbound links. Help, the dictation pages, the Superwhisper comparison, release notes, and the how-to on dictating into Cursor or Claude Code on a Mac now link to them, and those three posts link the entries next to them.

Sitemap lastmod now comes from each page file's last git commit, and a test fails when website/sitemap.xml differs from a fresh build.

PR #181 put a question as the first H2 on the /vs and /alternatives pages and added a one-sentence definition under the homepage H1.

What I'd tell myself

Write the comparison page, then put a recheck date on every claim about the other app, and leave out the numbers you can't keep current.

All of these pages live on the Super Notch site, home of the Mac app that finds and resumes AI coding sessions from the notch.

All ship logs