All work Internal tool 2026

SEO Agents

Internal monitoring for every site I run. Three scheduled jobs audit them overnight and put the results on a dashboard built to be read from across a room.

In use, private
  • Next.js
  • Convex
  • Vercel Cron
  • PageSpeed
The seo-agents dashboard: six client sites as score cards reading 93, 95, 96, 98, 99 and 99, each with its warning count and an Audit now link
Role
Built it for myself
Stack
Next.js, Convex, Vercel Cron
Status
Running nightly

The problem

I run about twenty sites. Checking them by hand is exactly the kind of job that gets done thoroughly for two weeks and then never again, and the failure mode is silent: nothing tells you a site got slower, it just quietly stops converting.

What I built

Three scheduled jobs. One syncs the list of sites from the hosting platform so a new project appears on its own. One audits every live site overnight for performance, accessibility and SEO. One drafts content weekly.

Results land on a dark dashboard with the worst score first, sized so it is readable from across the room on a kiosk laptop rather than requiring anyone to sit down and log in.

Two decisions worth explaining

The audit loop is sequential with a delay rather than running everything at once. The measurement API allows a hundred requests per hundred seconds, and that rate limit is the one that actually bites. The daily cap is nowhere near relevant at this scale, so the shape of the loop is set by the constraint that is real.

A job stays unscheduled until it genuinely works. A cron that is known to be broken and expected to be broken trains you to ignore a failing job, which is precisely backwards for a monitoring tool.

Access

It is a single-user tool, so it carries its own sign-in with an allowlist of exactly one address, on top of the platform login. The allowlist fails closed: an unset variable makes it refuse everybody rather than admit everybody. A configuration mistake should be an outage, never a silently open door.

Want one of these for your business?

Tell me what the business does and what the site needs to accomplish. I will reply within 24 hours with a fixed price and a date.