16404ccf711ee0d73d92aeb15e89773d338e5c0e
PolyWeather Pro
Production weather-intelligence stack for temperature settlement markets.
Official dashboard: polyweather-pro.vercel.app 中文说明: README_ZH.md
Public docs center: /docs/intro on the main site (bilingual product documentation, including intraday signals, TAF, settlement sources, history, and extension).
Product Screenshots
Global Dashboard
City Analysis (Ankara)
Product Status (2026-03-24)
- Subscription live:
Pro Monthly 5 USDC. - Points redemption live:
500 points = 1 USDC, max3 USDCoff. - Onchain checkout live: Polygon contract checkout (USDC / USDC.e).
- Auto-reconciliation live: event listener + periodic confirm loop.
- Ops dashboard live:
/opsfor memberships, leaderboard, manual point grants, and payment incident triage. - Lightweight observability live:
/healthz,/api/system/status,/metrics. - Runtime state supports gradual SQLite migration (
file / dual / sqlite). - EMOS/CRPS pipeline is integrated in
shadowmode with rollout gating. - Intraday structural signal is now peak-window aware and bilingual (
zh-CN/en-US). - Non-Hong Kong airport cities now ingest
TAFand parseFM / TEMPO / BECMG / PROB30/40. - Temperature chart now overlays
TAF Timingmarkers near the expected peak window. - Trade cue now combines upper-air structure,
TAF, market crowding, andedge_percent. - Browser extension now uses
DEBfor multi-day forecast and stays positioned as a lightweight lead-in to the main site.
License & Commercial Boundary
This repository is licensed under GNU AGPL-3.0 only from 2026-03-30 onward.
- Public in repo: weather aggregation, core analysis, dashboard, bot baseline, and standard payment flow.
- Not included in this repository: private production data, internal operating thresholds, commercial risk rules, pricing strategy details, and growth tooling.
- Trademark, brand, domain, production databases, and hosted-service operations are not granted by the code license.
See: AGPL-3.0 & Commercial Boundary
Core Capabilities
- Aggregates observations and forecasts for 30 monitored cities.
- Uses DEB (Dynamic Error Balancing) to blend multi-model highs.
- Generates settlement-oriented probability buckets (
mu+ bucket distribution). - Maps weather view to Polymarket quotes for mispricing scan.
- Reuses one analysis core across web dashboard and Telegram bot.
- Adds payment audit trails, replay tooling, and incident visibility in ops.
- Adds peak-window-oriented intraday structure cards for surface + upper-air analysis.
- Adds airport-side
TAFtiming overlays and airport suppression/disruption interpretation for non-Hong Kong airport cities.
Reference Architecture
flowchart LR
U["Users (Web / Telegram)"] --> FE["Next.js Frontend (Vercel)"]
U --> BOT["Telegram Bot (VPS)"]
FE --> API["FastAPI /web/app.py"]
BOT --> API
API --> WX["Weather Collector"]
WX --> METAR["Aviation Weather (METAR)"]
WX --> TAF["Aviation Weather (TAF)"]
WX --> MGM["MGM (Turkey station network)"]
WX --> OM["Open-Meteo"]
WX --> HKO["HKO / NOAA / Official settlement sources"]
API --> ANA["DEB + Trend + Probability + Market Scan"]
ANA --> PAY["Payment State (Intent + Event + Confirm Loop)"]
ANA --> PM["Polymarket Read-only Layer"]
Monitored Cities (30)
- Europe / Middle East: Ankara, London, Paris, Munich, Tel Aviv, Milan, Warsaw, Madrid
- APAC: Seoul, Hong Kong, Taipei, Shanghai, Singapore, Tokyo, Wellington
- Americas: Toronto, New York, Chicago, Dallas, Miami, Atlanta, Seattle, Buenos Aires, Sao Paulo
- South Asia: Lucknow
- China extension: Chengdu, Chongqing, Shenzhen, Beijing, Wuhan
Quick Start
Backend + Bot (Docker)
docker compose up -d --build
Frontend (local)
cd frontend
npm install
npm run dev
Recent Highlights
- Taipei settlement is aligned to
NOAA RCTPand rounded whole-degree Celsius logic. - Hong Kong keeps
HKOofficial readings in dashboard and history, without falling back to airport METAR lines. - Intraday analysis now separates:
Surface StructureUpper-Air StructureTrade cue
TAFis used as an airport-side confirmation layer, not as the main temperature model.- Browser extension remains a lightweight monitoring + basic-bias product, while the site holds the full analysis experience.
Runtime Data (Recommended on VPS)
Use external runtime storage to avoid SQLite/git conflicts:
POLYWEATHER_RUNTIME_DATA_DIR=/var/lib/polyweather
POLYWEATHER_DB_PATH=/var/lib/polyweather/polyweather.db
Ops Verification
Health / system status / metrics
curl http://127.0.0.1:8000/healthz
curl http://127.0.0.1:8000/api/system/status
curl http://127.0.0.1:8000/metrics
Frontend cache headers
./scripts/validate_frontend_cache.sh "https://polyweather-pro.vercel.app"
Payment auto-reconciliation logs
docker compose logs -f polyweather | egrep "payment event loop started|payment confirm loop started|payment auto-confirmed"
Payment runtime
curl http://127.0.0.1:8000/api/payments/runtime
Wallet activity logs
docker compose logs -f polyweather | egrep "polymarket wallet activity watcher started|wallet activity pushed"
Telegram Commands
| Command | Purpose |
|---|---|
/city <name> |
City real-time analysis |
/deb <name> |
DEB historical reconciliation |
/top |
User leaderboard |
/id |
Show current chat ID |
/diag |
Startup diagnostics |
/help |
Help and usage |
Documentation Index
- Chinese overview: README_ZH.md
- Chinese API guide: docs/API_ZH.md
- TAF signal guide (ZH): docs/TAF_SIGNAL_ZH.md
- Commercialization: docs/COMMERCIALIZATION.md
- AGPL-3.0 policy: docs/OPEN_CORE_POLICY.md
- Supabase setup (ZH): docs/SUPABASE_SETUP_ZH.md
- Configuration & secrets (ZH): docs/CONFIGURATION_ZH.md
- LightGBM daily-high model (ZH): docs/LGBM_DAILY_HIGH_ZH.md
- Frontend deployment (ZH): docs/FRONTEND_DEPLOYMENT_ZH.md
- Tech debt (EN): docs/TECH_DEBT.md
- Tech debt (ZH): docs/TECH_DEBT_ZH.md
- Payment verification: docs/payments/POLYGONSCAN_VERIFY.md
- Payment audit: docs/payments/PAYMENT_AUDIT_ZH.md
- Payment V2 upgrade: docs/payments/PAYMENT_UPGRADE_V2_ZH.md
- Ops admin guide: docs/OPS_ADMIN_ZH.md
- Deep research report: docs/deep-research-report.md
- Frontend report: FRONTEND_REDESIGN_REPORT.md
- Release process: RELEASE.md
- Changelog: CHANGELOG.md
Version
- Version:
v1.5.1 - Last Updated:
2026-03-24
Languages
Python
56.8%
TypeScript
37%
CSS
4.1%
JavaScript
1%
PLpgSQL
0.4%
Other
0.6%

