Matteson Systems

A lot of small businesses, restaurants, shops, contractors, are quietly losing customers to their own websites and have no idea. The site loads slowly, breaks on a phone, buries the phone number, or fails the checks Google actually scores it on. The owner never sees that report card. Matteson Systems is the system I built to find those businesses, read each site the way a frustrated customer would, and hand the owner exactly one thing to fix first.

It is my LLC, and it is also the entity behind thaw. I built all of it solo, and it mostly runs itself.

How it works

The pipeline takes a region and works through it with me out of the loop.

It starts from OpenStreetMap and pulls every business in the area, the Treasure Valley to begin with: restaurants, shops, contractors, the long tail of local commerce. For each one it opens the real website in a headless browser, screenshots it on desktop and on a real mobile profile, and runs Google’s own Lighthouse to measure the Core Web Vitals that actually move search rank and bounce rate.

Then the screenshots go to a Claude-vision pass that reads the page the way a person would and finds the single most damaging but fixable problem. Not a checklist of forty nitpicks: the one thing costing the owner the most, for the least effort to fix. That finding becomes the lead of a personalized email, which links to a scorecard page built just for that business.

The scorecard

The report card is the part I rebuilt most recently. It is a plain-English scorecard with a big letter grade up top and a breakdown anyone can read, no jargon, no raw Lighthouse traces. Every problem is paired with the easy fix, so the page is not an accusation, it is a to-do list. The email leads with the same single finding the audit actually surfaced, so the message and the page agree instead of reading like a template.

What it runs on

State lives in an append-only, event-sourced Postgres CRM with Drizzle migrations, so every send, open, and reply is a recorded event rather than a mutable row I have to trust. A threaded Gmail drip runs on a Vercel cron with reputation-aware send caps and in-thread replies. Opens and replies are tracked, the checkout and payment flow is built in, and a per-call cost ledger is kept in integer microcents so I always know the real unit economics. It costs about three cents a business, and I run the whole thing from a console I built.

An honest detail

The day I rebuilt the scorecard, the system was about to cold-email a funeral home in Toronto that had been scraped in by accident, well outside the region and exactly the kind of business you do not point an outreach bot at. So I built a filter for junk like that: out-of-area entries, sensitive categories, anything that should never get an automated email. That is most of what running this actually is. Not the model call, but the judgment around it.

Why

I love systems engineering, and this is a system end to end: scraping, real-browser auditing, a vision model, an event-sourced backend, deliverability, and payments, all solo and all cheap to run. It is also useful. The internet is full of small-business sites quietly underperforming, and the work is finding them, showing them plainly what is wrong, and making the fix obvious.

  • 10,500+ businesses scored in a single run
  • 158 high-priority leads surfaced
  • about three cents per business, end to end
  • Live at mattesonsystems.com

site

Back to work