Systematic trade tracker with a Supabase backend and an automated daily price feed.
| File | Purpose | Where it runs |
|---|---|---|
tracker.html |
The tracker UI (rail viz, R math, position sizing) — YOU ADD THIS from your build zip | GitHub Pages |
tracker-diagnostics.html |
Backend health console: connectivity, RLS reads, price-mark freshness | Browser / Pages |
update_prices.py |
Fetches 18 daily marks (Stooq + CoinGecko) and upserts to price_marks |
GitHub Actions |
.github/workflows/update-prices.yml |
Cron that runs the fetcher weekdays 22:00 UTC | GitHub Actions |
seed_price_marks_2026-06-26.sql |
One-time manual seed of price_marks |
Supabase SQL Editor |
Add your
tracker.htmlto the repo root before deploying — it's the only file not included here. (Then delete theADD_YOUR_tracker.html_HERE.txtplaceholder.)
- Pages — Settings → Pages → Deploy from a branch →
main// (root). Tracker lands athttps://<you>.github.io/trade-tracker/tracker.html. - Secrets — Settings → Secrets and variables → Actions → New repository secret:
SUPABASE_URL=https://qdbasuabcmhsboficofh.supabase.coSUPABASE_SERVICE_KEY= your service_role (secret) key
- Seed (optional) — paste
seed_price_marks_2026-06-26.sqlinto Supabase → SQL Editor to populate now. - Run the feed — Actions → update-prices → Run workflow. After that it runs itself every weekday.
SUPABASE_SERVICE_KEYbypasses RLS — it belongs only in GitHub secrets, never intracker.htmlor anything served on Pages.- The tracker UI uses the anon (publishable) key and needs RLS
SELECTpolicies onTradeDataandprice_marks. - The artifact/preview sandbox blocks outbound calls to Supabase — that's why this is hosted on Pages, not run in a preview.