Open Source · Java, Python & Go · Multi-Language

See the Architecture Behind Any Codebase.
Without Reading Code.

S202 turns Java bytecode, Python, and Go source into a checkable architecture model — dependency layers, cycles, and a concrete refactoring plan in minutes. Whether the code was written by your team or generated by an AI agent.

S202 Layered Architecture View
5+
Languages Supported
5
Architecture Views
0
Source Lines Read
<1 min
Time to First Insight

AI writes code faster than
teams can understand it

AI assistants generate a feature, a REST API, a data model and tests in minutes. With the code, architecture and technical debt grow just as fast. The result is often locally clean — plausible names, passing tests — but architecture is not a local property.

🤖

Locally clean, structurally blurry

An AI builds one feature after another and never says "stop, we need an architecture decision." Each class grows, each service gains one more responsibility — and dependencies quietly start pointing the wrong way.

🔍

Review the diagram, not 4,000 lines

A 4,000-line AI pull request can't be judged file by file. What matters: which dependencies and components appeared, what got coupled or decoupled, which cycles formed, and which classes landed in the wrong place.

🔁

A short, measurable loop

Make the architecture rule explicit, check it against the code, refactor with AI help, then measure again. The human sets the target, the AI executes, and the model verifies the structure actually improved.

Whether the code was written by your team, generated by an agent, or belongs to third-party software you simply need to understand — S202 makes its structure visible, checkable, and safe to change.

We pointed S202 at etcd —
code we'd never seen

etcd is the distributed key-value store behind Kubernetes. With the Go reader, S202 turned its source into a dependency model and a full quality report in seconds — without reading a single line of code.

  • 59/100Overall quality score — band Risk, "needs attention"
  • 763classes in 57 packages, 1,204 internal dependencies
  • 56layered violations breaking the calculated layering
  • 1 / 10package cycle and class cycles
  • 0.16 / 0.03fat and tangled coupling indices for the whole codebase

This is no verdict against etcd — it is functionally mature and battle-tested. It shows that even a cloud-native flagship carries structural debt nobody had systematically looked at, because making it visible used to be too expensive.

Open the full etcd report →
S202 Quality Report for etcd — score 59 of 100
We ran S202 on its own codebase. No source code was read. No grep. No IDE navigation. Dead code, wrong packages, missing interfaces — every finding came from looking at arrows in a diagram.
The Tool That Fixed Itself — S202 Case Study

Architecture analysis that
actually tells you what's wrong

No configuration files. No annotations to add. Load a JAR, Python, or Go project and S202 gives you an instant architectural X-ray.

🏗️

Layered Architecture View

Packages ordered by dependency depth. Every backward arrow is a layering violation — shown in red, immediately actionable.

Stable
🔀

Tangle Detection + Cut Function

Cyclic dependencies visualized as tangles. The cut function pinpoints exact method calls to remove — giving you a method-level refactoring backlog.

Stable
📦

Component View

API vs. implementation split with explicit boundary checks. Detects cross-component access and API-on-impl coupling. Works with or without JPMS.

Beta

Hexagonal View

An experimental ports-and-adapters projection: domain core in the center, application ring around it, adapters on the outside. Packages exposing a port are marked with API / SPI sockets.

Experimental · PoC
📊

Quality Report

A one-page structural health summary: overall score 0–100, tangle density, violation count, and a prioritized recommended focus list.

Beta
🐍

Python Source Analysis

Full dependency graph from Python source — imports, calls, inheritance, type annotations. Same layered and component views as Java.

Alpha

Zero Configuration

Open a JAR, Maven project, Gradle project, or Python source directory. No YAML, no config file, no project setup. Architecture in seconds.

Stable

Every view reveals something different

Layered Architecture View

Layered Architecture View

Topological ordering by dependency depth. Red = layering violation. Orange = package cycle.

Tangle View

Tangle View

Cyclic dependencies isolated and made cuttable at method level.

Component View

Component View

API (blue) and impl (yellow) boundaries with violation detection.

Quality Report

Quality Report

Structural health score with executive summary and prioritized focus list.

WFX Quality View

Quality Dashboard

Real-world WFX project analyzed: score, cycles, violations at a glance.

Hexagonal View

Hexagonal View · Experimental

Concentric ports-and-adapters rings: domain core (center), application, and adapters (outer). Rings come from the same level calculation; orange boxes mark API / SPI sockets.

Python Analysis

Python Architecture

The same layered view applied to a Python codebase — no source reading required.

Walk through your architecture — literally

City3D — the S202 architecture model rendered as an interactive 3D software city
✦ Interactive 3D · WebGL · runs in your browser

Your codebase as a living city

City3D turns the S202 architecture model into a night-time metropolis you can fly through: classes become buildings, methods become floors, dependencies become traffic — and every red beacon marks an architecture violation. Take a cinematic tour or a taxi ride along a real dependency.

Fly through the Software City

The Tool That Fixed Itself

We pointed S202 at its own codebase. No source code was read. Here's what it found before a single line was touched:

  • #1reader — all implementations directly visible, no API boundary
  • #2SCCVisualizationHelper — zero callers (dead code)
  • #3SCCDAGBuilder — only kept alive by its own test
  • #4EdgeClassification — wrong package, one caller elsewhere
  • #5domain — no API boundary at all
  • #6project — three public classes, no interface

Every single item came from looking at arrows in a diagram. Then each was fixed — and verified again in S202.

Read the full case study →
S202 Component View — final clean state after refactoring

Your stack. Analyzed.

Java (JAR)

Stable
📦

Maven

Stable
🐘

Gradle

Beta
🐍

Python

Alpha
⚙️

C

PoC
🐹

Go

Alpha
🔷

TypeScript

Planned
🦀

Rust

On Request

From zero to architecture
in three commands

Requires Java 21+ and Maven 3.9+. WFX (the UI platform) is bootstrapped automatically on first build.

1

Clone & build

One script bootstraps WFX and builds S202

2

Launch the UI

A JavaFX window opens immediately

3

Open your project

File → Open JAR / Maven Project / Python Source

# Linux / macOS
git clone https://github.com/Weigend/S202.git
cd S202
chmod +x build-all.sh && ./build-all.sh

# start the UI
./run-ui.sh

# or analyze your JAR directly:
./run-ui.sh path/to/your-app.jar

# Windows
build-all.bat
run-ui.bat

Ready to see your architecture?

S202 is free and open source under the Apache 2.0 license. No sign-up. No telemetry. Just drop your JAR and see.