Remix.run Logo
Show HN: Ox – an AI agent that catches tech debt before it's committed
4 points by riggo a day ago | 7 comments

Hello HN,

My name is Craig, and I’m the creator of Ox (https://try-ox.com). Ox averts technical debt before it’s introduced into your codebase.

At IBM, I was a software engineer who built tools to help engineers understand their codebases which always leveraged static analysis to map the source and provide a baseline understanding. After many years of fighting with executives for priority to reduce known tech debt, I really wanted to make something that simply helped the client make simple fundamental progress rather than massive overhauls.

Without intervention, the explosion of AI-generated code will lead to an explosion of tech debt. The problem is cheapest to fix when it’s introduced, so Ox reviews code changes as they happen — either just before a git push via a CLI REPL session, or automatically when a pull request is opened on GitHub — and posts specific, contextual findings with concrete suggested fixes for the author or reviewer to simply accept.

Ox was designed to be simple to adopt and use, prioritizing developer speed while remaining comprehensive. Built for Python, it should work with any language (but I haven’t tested “any” yet).

Of course, the cleanest code does not necessarily guarantee the most performant code (see Shipilev’s curve). Ox is built to improve cleanliness and maintainability, but it’s also built to learn: Ox’s engine customizes itself to the repository on install, understanding your codebase’s conventions, rulesets, and exceptions right out of the box, and it continues to learn with each PR.

If you want to give it a run, I set up a generic demo app here (https://github.com/CraigRiggins/taskflow-ox-demo). For fun, we created an opt-in leaderboard for a mini-app that scans for the cleanest and dirtiest code you can check out here (https://try-ox.com/score.html)

I’d deeply appreciate any thoughts or questions; you can find me in the comments.

If you'd like to reach out for an in person demo you can reach me at craig@try-ox.com.

anee769 a day ago | parent | next [-]

The hardest part of review tools like this is signal-to-noise — one round of false positives and people start reflex-accepting or muting it. How does Ox decide what's worth flagging on a given PR, and does it dedupe against pre-existing debt so it only surfaces what the change actually introduced? In my company, we use CodeRabbit with Azure DevOps and it flags a lot of things and mostly they were false positives so eventually we stopped relying on it.

riggo a day ago | parent | next [-]

Existing debt is currently handled in a debt queue structure. If you ignore a suggestion once it will remember that and store it in that queue so that it doesn't bring it up again. There is a mechanism to review that queue but I haven't totally thought out how to resurface those in a convenient manner.

There are obvious solutions like dumping those ignored changes to Jira issues so you have a pipeline of debt to address though I feel like this just moves the issue so I'm trying to think of something more proactive.

a day ago | parent [-]
[deleted]
manu14 a day ago | parent | prev [-]

I had same issues as such tools provide noise more than something concrete.

riggo a day ago | parent [-]

Right it's key that noise is reduced or eliminated(aspirational but I'll try).

johnsillings a day ago | parent | prev [-]

Cool project. How is this different from Greptile, Cubic, etc?

riggo a day ago | parent [-]

It's very similar to those with two key distinctions. Ox aims to be more simple in it's behavior to not add work to the review process and this approach allows Ox to operate more cheaply while delivering everything competitors do. In sum it is more simple (on purpose).