Select a synthetic district to begin
The panel will show the synthetic map, store coverage, competitor structure, promotion intensity, and health breakdown.
Select 2-5 districts
Compare health, coverage, competitor pressure, promotion intensity, sales volume, and delivery experience.
Data source
The page reads only this project's synthetic dataset. It is generated from a fixed seed, can be rebuilt deterministically, and contains no real stores, addresses, or business records.
- Data file
data/demo_districts.json- Generator
tools/generate_demo_data.py- Coordinate system
- Fictional local
x / yplane in km; no real latitude or longitude - District count
- —
Import / export
Only local JSON is processed. Imported data is stored in browser localStorage and is never uploaded; it remains available after a refresh.
Live AI (off by default)
The public copy stores no API key in the browser. A compatible endpoint configured by the operator is called only after explicit server-side opt-in; the local rule engine remains the default.
Security boundaries
- No third-party map tiles, search APIs, or telemetry requests.
- The online demo exposes only read-only synthetic data and a disabled live-AI endpoint; there is no database or admin interface.
- Logs omit request bodies, query strings, and credentials.
- Imports are validated for fields, length, numeric ranges, and HTML characters.
- The page uses a strict CSP and loads no external scripts or styles.
Import format
Accepts one district object or a { "district": { ... } } wrapper. Up to 50 stores with coordinates within ±3 km.
{
"district": {
"id": "demo-district",
"name": "Demo District",
"shortName": "Demo",
"description": "A fictional district for local testing.",
"center": { "x": 0, "y": 0 },
"coverageRadiusKm": 3,
"stores": [
{
"role": "focus",
"brand": "Northstar Tea",
"name": "Northstar Tea · Demo One",
"x": 0.4,
"y": -0.2,
"address": "Unit 12, Demo Walk (fictional)",
"monthlyOrders": 640,
"channels": {
"Marketplace A": {
"deliveryFee": 2.5,
"promotionPct": 16,
"promotionLabel": "Spend 25 save 4",
"couponValue": 3
},
"Marketplace B": {
"deliveryFee": 2.0,
"promotionPct": 12,
"promotionLabel": "Spend 25 save 3",
"couponValue": 2
}
}
}
]
}
}