Software can be built faster than it can be understood
AI coding tools let people and agents produce substantial codebases quickly, sometimes beyond their own ability to inspect them. Developers also inherit large or unfamiliar repositories and need help deciding which apparent issues matter. I built RefactIQ to investigate that gap: analysis that could lead to informed action rather than a long, disposable list of model opinions.
A user could select a repository, branch, file scope and audit categories. RefactIQ captured the commit, prepared selected files and cross-file context, then analyzed the repository. The visible result was a Workbench for investigation and triage.
A product around the analysis
The application included repository and GitHub integration, authentication, SQL Server persistence, audit history, workspaces, subscription records and a web interface. Those pieces matter because a useful analysis tool has to remember which code was examined, connect findings to source, and support decisions over time.
The final coordinator separated four responsibilities:
Find candidate issues through explicit heuristics and model-assisted analysis tied to rules and source locations.
Group related candidates while preserving every accepted source occurrence.
Apply policy metadata, severity and rationale without losing finding identity.
Turn findings into guidance a person or agent can inspect and act on.
Architecture that leaves a trail
RefactIQ combined deterministic checks with model-assisted detection. Explicit detectors covered patterns such as credential-like strings, SQL construction, cookie settings and floating container tags. Model-generated candidates passed filters for missing evidence, placeholder output, self-negating claims and rule-specific mismatches.
Controls around probabilistic output
In synthesis, if the model omitted an accepted detector finding, code restored it as a separate finding. Other controls split inappropriate groupings and checked that source occurrences were neither dropped nor assigned more than once. The system also deferred checks such as architecture violations when its lightweight evidence index could not support them.
Repeated scans required continuity. Deterministic fingerprints used normalized paths, rule keys, snippets and hashes. Reconciliation first used exact identity, then occurrence overlap when a grouping changed. Existing notes, order and user-selected statuses were preserved. A finding absent from a later scan was not automatically marked fixed.
The system could propose and explain. The user still decided what the finding meant for the work.
A Workbench for attention and action
The Workbench organized an inbox, items first seen in the latest run and saved filtered views. A selected finding exposed affected files, notes and triage controls. A user could send it to the Board or mark it “Won’t fix.” Board lanes supported Backlog, In Progress and Fixed with persistent ordering.
“Tell me more” could tailor explanations to someone with no coding experience, a junior developer or an experienced engineer. That product choice answered the original audience problem without letting a model silently own resolution.
The decision not to commercialize
RefactIQ began as a product intended for commercialization. As major development platforms added competing AI review capabilities, I reassessed its commercial position and chose not to keep investing in it as a standalone company. The engineering work remains substantial evidence of how I approach applied AI: build the controls, inspect the evidence and keep the human decision legible.
For technical readers
What the evidence pipeline preserved
Candidate findings retained rule and source references through detection, synthesis, grading and explanation. Validators checked provenance and occurrence coverage. Deterministic identities enabled repeat-run reconciliation and persisted triage state.
What the architecture does not claim
Language adapters show extensibility, not validated parity across languages. The retained golden harness and dispatcher are separate from the final coordinator’s four-pass path. Heuristics are controls, not proof of a measured accuracy rate.

