← All tools

Toolkit · Audience insight

Reviews

Daily review monitoring, sentiment and response triage across four platforms.

Screenshot of Reviews

The problem

Reputation platforms charge hundreds a month to tell a small institution what its visitors are saying. Most nonprofits instead check Google reviews manually, occasionally, and never systematically enough to spot a trend.

How it works

A daily job collects reviews from Google, TripAdvisor, Yelp and Facebook, classifies each against a theme vocabulary your team writes by hand, tracks sentiment over time, and flags which reviews still need a response. It also screens quotes for a public pull-quote widget you can embed.

Worth knowing

Two design decisions worth stealing. New themes have to earn their place — a theme only enters the vocabulary after appearing in three reviews across at least fourteen days, so a single unusual complaint doesn't become a permanent category.

And the failure handling came from a real incident, documented in the repo: a model endpoint began returning a retirement error, the fallback silently swallowed it, and the pipeline produced pure regex output under a model's name for several days without complaint. The validation step that now blocks bad output exists because of that.

Using it at your organization

  • Set your organization and listing IDs in the config file.
  • Write your own theme vocabulary — this is the part that shouldn't be automated.
  • Note the small running cost: a scraping service and a small model, a few dollars a year.

Stack: Python 3.12 · GitHub Actions (daily) · static HTML dashboard
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.

Related tools

Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.