How devalous17/pobchecker works
PoB Reality Check imports a Path of Building export, turns it into a structured build report, and presents ratings, stats, conditions, and practical advice. The main route accepts either a pobb.in URL or pasted import code; a separate optional route asks an isolated PoB worker to recalculate controlled combat scenarios and timelines. The UI also offers a PoE Ninja identity reference. The graph follows the sampled route and client code; detailed scoring internals and some documented report capabilities are represented at their enclosing feature paths because their source was not sampled.
Main entry points: analyze/route.ts Analysis endpoint · scenarios/route.ts Scenario endpoint · Analyzer.tsx Analyzer interface · client.ts Worker client
Components 28
User experience
- Analyzer interface
components/Analyzer.tsx - Home page
app/page.tsx - PoE Ninja panel
components/Analyzer.tsx
Import and analysis
- Analysis endpoint
app/api/analyze/route.ts - URL import
src/features/import/fetch-raw.ts - Export decoder
src/features/pob/decode.ts - Build parser
src/features/pob/parse.ts - Gem metadata
src/features/pob/gem-data.ts - Unique metadata
src/features/pob/unique-data.ts - Support evidence
src/features/pob/socketed-supports.ts - Asset enrichment
src/features/poeninja/assets.ts - Main skill selection
src/features/pob/main-skill.ts - Condition detection
src/features/conditions/registry.ts - Build report
src/features/analysis/report.ts - Ratings and advice
src/features/analysis - Build data model
src/types/domain.ts
Combat scenarios
- Scenario endpoint
app/api/scenarios/route.ts - Scenario profiles
src/features/scenarios/model.ts - Scenario report
src/features/scenarios/report.ts - Encounter timeline
src/features/scenarios/timeline.ts - Worker client
src/features/engine/client.ts - Worker protocol
src/features/engine/protocol.ts - PoB calculation worker
services/pob-engine/server.mjs
External references
- PoB export host
- PoE Ninja endpoint
app/api/poe-ninja/route.ts - Character reference
src/features/poeninja/comparison.ts
Other components
- Build reviewer
- PoE Ninja
Connections 31
- Build reviewer → Analyzer interface: submits build
- Home page → Analyzer interface: renders
- Analyzer interface → Analysis endpoint: posts export
- Analysis endpoint → URL import: fetches URL
- URL import → PoB export host: retrieves export
- Analysis endpoint → Export decoder: decodes input
- Analysis endpoint → Build parser: parses XML
- Analysis endpoint → Gem metadata: enriches gems
- Analysis endpoint → Unique metadata: enriches uniques
- Analysis endpoint → Support evidence: adds evidence
- Analysis endpoint → Asset enrichment: enriches assets
- Analysis endpoint → Main skill selection: selects skill
- Analysis endpoint → Condition detection: detects conditions
- Analysis endpoint → Build report: builds report
- Build report → Ratings and advice: uses analysis
- Analysis endpoint → Analyzer interface: returns report
- Build parser → Build data model: creates build data
- Analyzer interface → Scenario endpoint: requests scenarios
- Scenario endpoint → Build parser: parses build XML
- Scenario endpoint → Condition detection: detects conditions
- Scenario endpoint → Scenario profiles: builds profiles
- Scenario endpoint → Worker client: calculates profiles
- Worker client → Worker protocol: validates messages
- Worker client → PoB calculation worker: posts calculations
- Scenario endpoint → Scenario report: assembles results
- Scenario endpoint → Encounter timeline: builds timeline
- Scenario endpoint → Analyzer interface: returns scenarios
- Analyzer interface → Worker client: checks worker status
- Analyzer interface → PoE Ninja endpoint: requests reference
- PoE Ninja endpoint → Character reference: resolves character
- Character reference → PoE Ninja: looks up page