Thorough code review on pull requests lets you catch bugs early in the development cycle, such as misused libraries and APIs or gaps in the logic. Fixing a bug at that stage costs far less than fixing the same bug later1.
Still, human review has its limits. When you're tired, for example, you might approve with a "good enough" shrug.
So what can we do?
Have a smart AI model with cheap tokens review the code thoroughly.
AI doesn't get tired, and it doesn't get grumpy when you show it bad code.
You can have it review as many rounds as it takes until you're satisfied, so problems get fixed before merge.
In this article, I describe how I connected Pullfrog, a coding agent that runs on GitHub Actions, to DeepSeek V4.1 Flash, a model that Ollama serves on its cloud with Zero Data Retention (ZDR)2, to build a setup that can run code reviews again and again at a nearly flat cost.
Why run code reviews many times?
Code review isn't something you do once and are done with. You want problematic code caught before merge, and every time the pull request changes, you want someone to check whether new problems have crept in.
In other words, you want code review to look at things like these:
- Is it inconsistent with the existing code?
- Does it miss any cases in the spec the pull request is meant to implement?
- Without taking the code and comments at face value, does it hold up across a variety of scenarios?
- Are there any security holes?
- If it pulls in open source libraries, is the usage consistent with the library code itself, checked by actually reading that code?
- When the pull request's code is changed, does the change introduce new problems?
It goes without saying that having AI do all of this burns through tokens.
According to the official documentation, Claude's Code Review feature costs $15–25 per review3. When every review carries a noticeable cost, you naturally start rationing how often you run it.
With a sufficiently cheap AI model, on the other hand, you can iterate on the code as many times as you like without worrying about cost, and merge pull requests with more confidence.
There's also the human side: asking a person to look at nearly the same code again and again feels awkward.
For example, you can have AI review the code repeatedly until you're confident in it, and only then hand it over for human review.
System architecture
Pullfrog, which I used here, is a coding agent that runs on GitHub Actions.
When you open a pull request, it reads the description and the diff, reviews the code, and comments on any problems it finds. You can also have Pullfrog write commits that fix what it pointed out.
Beyond code review, it can triage and label issues and take requests to fix broken CI.
Pullfrog charges a flat fee regardless of the number of users ($30/month per organization for GitHub organization accounts, free for personal accounts), so even large teams can use it without worrying about seat counts.
Pullfrog can connect to any AI model. You can connect it to OpenAI or Claude with API keys your company already has, or to Ollama Cloud as I did here.
I chose Ollama Cloud for this setup because it excels in cost and inference speed, and it supports ZDR.
Ollama's Pro plan costs $20 a month and comes with a whopping $60 in credits every month. Companies with multiple users will probably go with the Team plan, which allows unlimited users who share credits ($500 a month with $1,000 in credits). Of course, Ollama isn't just for code review, so credits you don't spend on code review can go to other uses.
With DeepSeek V4.1 Flash as the model on Ollama Cloud, inference speed usually exceeds 150 tokens per second4, so it's comfortable to use, and it's very cheap: per million tokens, $0.15 for input, $0.003 for cached input, and $0.60 for output5.
Since you're having it review your code, you'll probably want to know how Ollama handles your data. Automated code review sends not only the diff but also related code to the AI. That's why you'll want to confirm whether the data you send is stored or used for training before you even look at accuracy or cost.
Ollama states explicitly that it does not store the prompts you send and does not use them to train models6.
Note, however, that inference runs in US and European regions. Depending on your company's policies, you may need to check separately whether your data is allowed to leave your country.
When choosing the model, I also took into account that DeepSeek V4.1 Flash scores close to Claude Opus 5 on some benchmarks (in Japanese).
That said, benchmark scores alone don't tell you how useful a model will be for code review.
Later in this article, I'll show the findings I actually got when it reviewed pull requests.
Connecting Pullfrog to Ollama Cloud
First, sign up for both Pullfrog and Ollama.
Next, configure Pullfrog to call Ollama's models. As of September 22, 2026, connecting Pullfrog to Ollama Cloud requires the "Custom: OpenAI-compatible endpoints" option.
To use DeepSeek V4.1 Flash, enter the following settings in the Pullfrog console.
| Setting | Value |
|---|---|
| OPENAI_COMPATIBLE_BASE_URL | https://ollama.com/v1 |
| OPENAI_COMPATIBLE_API_KEY | An API key issued from the Ollama dashboard |
| OPENAI_COMPATIBLE_MODEL | deepseek-v4.1-flash |
| OPENAI_COMPATIBLE_CONTEXT | 1000000 |
| OPENAI_COMPATIBLE_MAX_OUTPUT | 384000 |
Then install Pullfrog on your repository, and it will run when you open a pull request or mention @pullfrog.
See Pullfrog's Getting started guide for details.
What findings came back?
After installing Pullfrog, I had it review code without any special configuration, and it came back with findings like these:
- A library required at runtime isn't declared as a dependency and is only depended on implicitly. It should be added explicitly rather than relied on implicitly.
- A comment says the code keeps working after a major version upgrade of a library, but an investigation of the library's issues shows the upgrade is still waiting on upstream, so the comment is inconsistent with reality.
- The pull request's code installs the library in both the server and client environments, but the pull request description says "client environment only," which is inconsistent.
- The pull request's E2E tests fail because the library it uses has no GitHub Release. The tarball can't be fetched from GitHub Releases, which causes an installation error. Fixing this requires installing the library another way.
It investigated the library's code and issues before answering, and it also analyzed failures in the E2E tests already running on GitHub Actions. That shows it goes beyond code review in the narrow sense and looks at whether the code is safe to merge.
The following is an example of a review comment raised by Pullfrog.
Time and cost per review
The cost of the review system is the monthly Ollama and Pullfrog subscriptions plus GitHub Actions usage for running Pullfrog.
When I had it review several pull requests, Pullfrog ran for about 10–20 minutes per review and consumed about $0.15 in DeepSeek V4.1 Flash credits.
The estimates below assume 20 minutes and $0.15 in model credits per review.
Private repositories on a personal account
With Ollama's $20/month Pro plan and Pullfrog's free plan7, the costs look roughly like this.
The $60 in credits that come with Ollama's $20 Pro plan cover about 400 reviews, and after that you can pay as you go.
GitHub Actions on the Free plan includes 2,000 free minutes, enough for about 100 reviews. After that, a review costs only about 0.006 USD / min * 20 min = $0.12.
| Number of reviews | Added cost per review |
|---|---|
| Up to 100 | $0 |
| 100–400 | $0.12 |
| 400+ | $0.27 |
Private repositories on an organization account
With Ollama's $500/month Team plan and Pullfrog's $30/month plan, the costs look roughly like this.
The $1,000 in credits that come with Ollama's $500 Team plan cover about 6,700 reviews, and after that you can pay as you go.
GitHub Actions on the Team plan includes 3,000 free minutes, enough for about 150 reviews. After that, a review costs only about 0.006 USD / min * 20 min = $0.128.
| Number of reviews | Added cost per review |
|---|---|
| Up to 150 | $0 |
| 150–6,700 | $0.12 |
| 6,700+ | $0.27 |
In short, for up to roughly 100–150 reviews a month, you pay a flat cost: just the Ollama subscription at $20 on a personal account, or $530 for Ollama and Pullfrog combined on an organization account. Beyond that, each review still costs only about $0.12–$0.27.
At this price, you lose more by not running thorough code reviews than by running them.
Summary
This article showed how to build an automated code review setup on GitHub with Pullfrog and Ollama Cloud that you can run again and again without worrying much about cost.
Using Ollama Cloud with ZDR also keeps your prompts and responses from being stored or used for training without you realizing it.
If you're interested, start small with a personal repository.
-
See, for example, "What does it mean that catching bugs in an earlier phase keeps the damage small?" (in Japanese). ↩
-
Zero Data Retention (ZDR) is a mechanism or policy under which the service provider does not retain content sent to an AI service, such as prompts and generated output, after processing completes. ↩
-
The DeepSeek V4.1 Flash tokens per second page on Ollama TPS shows the model's historical TPS. ↩
-
Note that weekdays from 12:00 to 18:00 UTC are peak hours, when token prices double. It's still cheap enough. ↩
-
Transparent pricing (Ollama Blog) states "Zero data retention, hosted in the US and Europe, plus Singapore for a limited set of Qwen models" and "We don't log your prompts, and we never train on your data." The privacy policy also says "We do not use your inputs or outputs to train any AI models," and for cloud models, "this content is not stored beyond the time required to fulfill the request." Both as of September 2026. ↩
-
Pullfrog is free for open source (Pullfrog Blog) states "Every personal account is free, on public and private repositories." ↩
-
If GitHub Actions' standard runners feel too expensive, you could use a service such as Blacksmith, though it's available only for GitHub organizations. ↩

Top comments (1)
Nice read. Pullfrog is a very cool project. If you want something that is faster and more reliable than GitHub Actions, Depot CI is a faster & more reliable alternative. It can even read GitHub Actions syntax and integrates with GitHub checks + PRs out of the box.