How shrutibale/business-entity-resolution_amazon works
EntityResolve is a read-only judge-facing demo for exploring business entity-resolution results; it does not run the production matching pipeline. A user browses or selects an S1 entity, the frontend requests its trace from the API, and the backend combines loaded entity, candidate, and decision data with a deterministic explanation. Separate screens present metrics, experiment runs, showcase shortcuts, and methodology. The README documents normalization, retrieval, matching, thresholding, and validation as methodology, not implemented runtime stages here. Unsampled page implementations are represented by their documented roles; their internal wiring is not inferred.
Main entry points: App.jsx Page router · api.js API client · data_loader.py In-memory data store · main.py FastAPI endpoints
Components 19
Frontend experience
- Page router
frontend/src/App.jsx - Entity browser
frontend/src/pages/EntityBrowser.jsx - Entity detail
frontend/src/pages/EntityDetail.jsx - Home showcase
frontend/src/pages/Home.jsx - Metrics dashboard
frontend/src/pages/MetricsDashboard.jsx - Experiment comparison
frontend/src/pages/Experiments.jsx - API client
frontend/src/api.js
API and explanation
- FastAPI endpoints
backend/main.py - Explanation generator
backend/services/explanation_service.py - Startup data loader
backend/data_loader.py - Response schemas
backend/models.py
Loaded demo data
- In-memory data store
backend/data_loader.py - S1 entities
backend/data/s1_entities.json - Candidate evidence
backend/data/candidates.json - Match decisions
backend/data/decisions.json - Precomputed metrics
backend/data/metrics.json - Experiment runs
backend/data/experiment_runs.json
Methodology display
- Methodology page
frontend/src/pages/Methodology.jsx
Other components
- Judge / user
Connections 22
- Judge / user → Page router: uses
- Page router → Home showcase: routes to
- Page router → Entity browser: routes to
- Page router → Entity detail: routes to
- Page router → Metrics dashboard: routes to
- Page router → Experiment comparison: routes to
- Page router → Methodology page: routes to
- Entity browser → API client: requests entities
- Entity detail → API client: requests detail and showcase
- Home showcase → API client: requests showcase
- Metrics dashboard → API client: requests metrics
- Experiment comparison → API client: requests runs
- API client → FastAPI endpoints: HTTP requests
- FastAPI endpoints → Startup data loader: gets store
- Startup data loader → In-memory data store: creates
- S1 entities → In-memory data store: loaded into
- Candidate evidence → In-memory data store: loaded into
- Match decisions → In-memory data store: loaded into
- Precomputed metrics → In-memory data store: loaded into
- Experiment runs → In-memory data store: loaded into
- FastAPI endpoints → Explanation generator: generates detail explanation
- FastAPI endpoints → API client: returns API data