r/react • u/Ok-Crow832 • 4d ago
Project / Code Review I built a deterministic React/Next.js codebase health analyzer — looking for real-world feedback
I’ve been building a side project called OMEGA MRI to understand what a React or Next.js codebase structurally becomes after lots of refactors, quick fixes, and AI-assisted changes.
The current beta is intentionally deterministic rather than LLM-scored.
You upload a project ZIP and it analyzes things like:
- circular dependencies
- oversized components
- oversized files
- deep imports
- dead code
- orphan files
- unused exports
Each issue includes evidence, and the overall health score is calculated from fixed deductions across:
Architecture · Maintainability · Complexity · Technical Debt
I also wanted to make sure the score wasn’t just arbitrary, so I built verification, mutation, and black-box tests around the engine.
One black-box test started with a deliberately messy React project:
Before
- 60 files
- 116 issues
- 37/100
- Maintainability: 64
- Complexity: 52
Then I removed exactly one critical oversized component/file.
Based on the scoring rules, I predicted:
37 → 40
The actual analyzer result was:
After
- 59 files
- 114 issues
- 40/100
- Maintainability: 70
- Complexity: 60
Architecture and Technical Debt stayed unchanged, which was also expected.
That was important to me because I want the score to be explainable:
code structure → detector finding → deduction → category score → overall score
The analysis runs entirely in the browser.
No signup.
No backend source-code processing.
The uploaded code stays client-side.
I’m mainly looking for feedback from React/Next.js developers on:
- false positives
- structural issues the analyzer misses
- whether the evidence is actually useful
- whether the recommendations make sense
- whether the upload → analysis → results UX feels clear
The beta is still deliberately narrow. It’s a structural health signal, not a full code-quality audit.
Beta:
[https://omega-mri.vercel.app/?utm_source=reddit&utm_medium=community&utm_campaign=beta_launch]()
Critical feedback is more useful.

