Local market companion

Owned history · alerts · profit journal · honest model signals
Checking local backend…
Local backend is offline. The money-making and flipping pages still work normally. To unlock this dashboard, install backend/requirements.txt, run a backfill, then start python -m uvicorn backend.api:app --host 127.0.0.1 --port 8788.
Backend

Category indexes

Volume-weighted movement in public 5-minute bars; our own baskets, not a competitor index.
Waiting for data…

Market scanner

One-bucket movement and post-tax margin views.
ItemMoveMarginVolume

Model signals

Abstentions stay visible: uncertainty is a product output, not an error.
ItemActionP(up)ExpectedGuard

Create alert

The collector checks each fresh tick. Discord delivery is optional via DISCORD_WEBHOOK_URL.

How alert prices map

Buy price above watches the latest instant-buy/high price.

Sell price below watches the latest instant-sell/low price.

Spread is high − GE tax − low, divided by low. A debounce prevents notification spam.

Active watchlist

ItemRuleValueLast firedEnabled

Record a completed trade

Manual first. Tax is calculated server-side using the same rule as the scanner.
Export CSV
ClosedItemQtyBuySellTaxProfit

Collector health

Coverage, request success, latency, and source freshness.

Data-quality flags

Anomalies are flagged, not silently deleted.

Model registry

Champion/challenger promotion by time-split skill. Drift or negative realized skill forces heuristic fallback.
ModelKindStatusFeature setBrier skillTraining window