Capture first. Interpret second.
Playwright captures competitor pages and stores raw HTML, cleaned text, screenshots, and source URLs. Deterministic extraction and optional local-model analysis then produce offer records, change events, and reports.
A local-first cockpit for tracking Portuguese energy retail offers with evidence attached to every change.
Energy offers change often, but a report without the original page, screenshot, and timestamp is difficult to trust. EnergyRadar explores a repeatable way to monitor the market while keeping the underlying evidence visible.
Playwright captures competitor pages and stores raw HTML, cleaned text, screenshots, and source URLs. Deterministic extraction and optional local-model analysis then produce offer records, change events, and reports.
source pages → browser capture → evidence store
↘ offer extraction → diff → review → report| Evidence | What the repository shows |
|---|---|
| Capture | Playwright-based capture stores raw HTML, cleaned text, screenshots, and source URLs. |
| Analysis | Offer and change records reference the snapshot and screenshot that support them. |
| Resilience | Ollama is preferred, with deterministic regex extraction when it is unavailable. |
| Operations | Seed, capture, extract, diff, report, daily, and run commands are documented. |
A concise insight is useful only when the underlying page and capture remain inspectable.
Fallback extraction provides a stable baseline for comparing model-assisted results.
Selectors, page changes, and coverage need explicit ownership before this can become a dependable service.
SQLite and filesystem storage keep an evidence prototype easy to inspect and operate.