I noticed that AI tends to be really good at writing functional code, but not so good at making UI.
It turns out that AI has a closed feedback loop in coding with linters and unit testing, but nothing strong for UI. Screenshots and DOM snapshots just don't provide actionable enough feedback for LLMs. To solve this, I made ViewLint: an easily extensible and customizable linter that finds issues with your UI with rules that actually validate and interact with your rendered UI.
From testing it's been able to help Codex catch some UI issues (text contrast, element overlap) it otherwise wouldn't have been able to catch!
It's available as a MCP for AI use, as a CLI for human use, and as a JS/TS API for CI use.