When Software Engineer Manuel Diaz-Granados’ team at Rain encounters an issue while shipping a product, no one ever blames AI.
“Our rule is that humans are responsible for what ships,” Diaz-Granados said.
What Does Rain Do?
Rain offers tools designed to make it easier for companies to integrate stablecoins into their products, platforms and payment flows.
Taking ownership of issues enables Diaz-Granados’ team to ship solutions quickly and safely, and they rely on a variety of tools to accomplish this. For instance, AI agents run pre-commit code reviews, while CodeRabbit and Codex independently check the code.
In maintaining measures such as these, Diaz-Granados’ team maintains stability and growth without sacrificing the quality of their work, proving that planning and metrics are just as important as AI when delivering solutions.
Below, Diaz-Granados shares how he and his teammates have mastered fast, safe releases, how they define “quality,” and a recent automation that has made an impact on his team.
What’s your rule for fast, safe releases — and what KPI proves it works?
Our rule is that humans are responsible for what ships. If something breaks, AI takes zero blame. We have to own it.
In practice, this means we plan, iterate, and implement with Claude Code. A team of agents runs pre-commit review; CodeRabbit and Codex act as independent checkers. On push, our bot, Osmosis Jones, picks the right reviewer based on team and PR context, and CodeRabbit and Claude run another review pass alongside them. We share review skills across the team, and each of us writes our own for the things we personally want to catch.
We measure two numbers to keep us honest. The first is whether the median PR open-to-merged time is under four hours, and the second is whether the revert rate is near 1 percent. For context, we grew our headcount by eight times in one year without quality slipping. Most teams watch stability degrade through hypergrowth. Ours didn’t. The reason isn’t just AI; it’s the critical thinking around it.
A perfect coding agent without context still builds the wrong thing. So, we brainstorm, plan, review the plan, and pressure-test AI’s assumptions before a line gets written. Communicating clearly with AI is a skill that matters more as models get better.
“Communicating clearly with AI is a skill that matters more as models get better.”
Which standard or metric defines “quality” in your stack?
The number I care most about is card authorization approval rate on legitimate transactions. It’s a hard metric in fintech because a card swipe either goes through or it doesn’t. For more than a year, we’ve held it between 95 to 97 percent while authorization volume grew by 21 times. Every AI-assisted change ships against a live system, moving billions in annualized card volume across hundreds of active programs.
Revert rate is the other half of the picture, which is the share of PRs we have to roll back, and it sits near 1 percent. The two numbers together tell the real story: AI lets us ship five times more code without moving auth approval and without raising reverts. If either one was drifting the wrong way, we’d be failing; velocity doesn’t count if the system isn’t boringly reliable underneath.
Name one recent AI/automation shipped and its impact on the team or business.
I recently built a daily AI skill that monitors for fraud patterns across our card program. It pulls from BigQuery, metrics and logs, runs a 24-hour trend check every morning, and posts a summary to a Slack channel. We already have real-time monitors for urgent things, and this one answers “what moved overnight, what’s trending, and what we should be watching.”
In its first weeks, the skill surfaced the kind of slow-moving patterns our real-time systems aren’t designed to catch — trends you can only see with a 24-hour lens. And because every daily summary is saved, we can zoom out to weekly or monthly views and catch patterns that evolve across time. Now, our risk team starts their morning with that context instead of reacting to whatever just pinged.
