Every PR review cycle has the same shape: a human waits, a human reads, a human points out the same three categories of issues. What if the first pass was automatic and free?

I built exactly that. A webhook service that takes a diff, runs it through a free-tier model, and posts structured feedback back onto the PR. No paid API. No GPU. No monthly subscription. Here's the full architecture, the code, and the failure modes you should plan for.

The Architecture in One Diagram

GitHub PR → GitHub Actions → POST /review → Free-tier model → Parse JSON → PR comment

Enter fullscreen mode