Skip to main content

ARCLUX Analysis

See ARCLUX in action analyzing real, famous projects.

Case Study 1: Analyzing a React Component Library

Scenario

You maintain a React component library with:
  • 150+ components
  • 500+ files
  • 2-year-old codebase
  • 20+ contributors
  • “Code is getting messy” feedback

Running ARCLUX

Output Analysis

Key Findings & Insights

1. Circular Dependencies (3) Finding: Components depending on each other What it means:
  • Components can’t be used independently
  • Hard to test individually
  • Tree-shaking doesn’t work properly
  • Increases bundle size
Root cause: Poor component composition
  • Button exports ButtonGroup
  • ButtonGroup needs to export Button for convenience
  • Creates circle
Solution:
Impact:
  • Each component independently usable
  • Better tree-shaking
  • Smaller bundle sizes

2. Unused Exports (8) Finding: Code exported but never imported Examples:
  • deprecated-props.ts - Kept for backwards compatibility but removed from docs
  • useOldAnimation.ts - Replaced by new animation hook
  • old-variants.ts - Component variants from v1
What it means:
  • Dead code taking up space
  • Confuses new contributors (“Should I use this?”)
  • Version bloat
  • Maintenance burden
Action:

3. Orphan Files (5) Finding: Entire folders/files not imported by anything Examples:
  • /LegacyButton/ folder (replaced by new Button component)
  • old-api.ts (types from old version)
  • deprecated-helpers.ts (utils no longer needed)
What it means:
  • Takes up space
  • Confuses developers (“Why is this here?”)
  • Should be deleted or archived
Solution:

4. Layer Violations (2) Finding: Components importing from wrong layers Example:
What it means:
  • Breaking architectural boundaries
  • Hard to maintain
  • Can’t reuse Button without entire pages/ folder
Solution: Extract shared types to separate file.

Action Plan


Case Study 2: Analyzing a Next.js Monorepo

Scenario

Your company has a Next.js monorepo:
  • apps/web - Main website
  • apps/admin - Admin dashboard
  • packages/ui - Shared components
  • packages/api - API client
  • packages/utils - Shared utilities
Team is growing, “things are getting tangled.”

Running ARCLUX

Output

Key Findings

1. CRITICAL: Monorepo Architecture Issue
Root cause:
Solution:

2. Cross-App Imports (Breaking Boundaries!)
Fix:

3. Mixed Server/Client Code

Transformation

Before ARCLUX:
  • “Code is messy”
  • “Things are tangled”
  • “Hard to ship independently”
  • “Performance issues”
After ARCLUX + Fixes:
  • Clear boundaries
  • Independent packages
  • Faster builds
  • Better performance
  • New devs understand structure

Case Study 3: Legacy Express Backend Cleanup

Scenario

You have a 3-year-old Express backend:
  • 400+ files
  • “Spaghetti code”
  • Hard to test
  • Performance issues
  • Nobody wants to touch it

Running ARCLUX

Findings

Strategy

Don’t try to fix all 45 at once!
Result after 2 months:

Lessons from Real Projects

1. Size Doesn’t Matter, Structure Does

  • Small project (50 files) with 0 issues = better than
  • Large project (500 files) with 5 issues = worse
Focus on architecture, not size.

2. Circular Dependencies are ALWAYS a Problem

  • Never “okay” to have
  • Fix immediately
  • Root cause: unclear boundaries

3. Dead Code Accumulates

  • Every project has orphan files
  • Normal and expected
  • Clean regularly (quarterly)

4. Layer Violations Hide Real Issues

  • They indicate unclear architecture
  • Usually mean something is in wrong place
  • Fixing them improves everything

5. Technical Debt is Real

  • ARCLUX shows exactly what it is
  • Can be quantified and tracked
  • Takes consistent effort to pay down

Using These Examples

When you see ARCLUX output:
  • Match it to one of these case studies
  • See how problems were solved
  • Apply same solutions to your project
For your team:
  • Show them these examples
  • “This is what ARCLUX found in similar projects”
  • “Here’s how we’ll fix it”
  • “Progress will look like this”

**Now run ARCLUX on YOUR project! See what you find! **