Alerts are evaluated every time quotes refresh while the app is open (same as JStock desktop, which alerts while running). iOS does not allow background checks for home-screen web apps without a push server.
Everything lives only on this device. Export regularly — JSON includes watchlist, transactions, alerts and settings (keys excluded).
JayPocket v1.5 — inspired by yccheok/JStock · jays cache acorns, you cache ETFs 🐦
jaypocket → Public → Create.index.html and icon.png → Commit.main, folder / (root) → Save.https://YOURNAME.github.io/jaypocket/.Paste keys in Settings. In Auto mode the app uses: Alpha Vantage → Marketstack → Yahoo, skipping providers without keys or budget, falling through per ticker on errors.
| Provider | Free limit | Freshness | Coverage |
|---|---|---|---|
| Alpha Vantage | 25 req/day (1 per ticker) | ~end of day | LSE (.LON), Xetra (.DEX) |
| Marketstack | 100 req/month (1 per ticker) | End of day | 70+ exchanges (MIC suffix, e.g. .XLON) |
| Yahoo + proxy | no key | Live/delayed | Everything (suffix .L .AS .DE .MI) — rotates AllOrigins / corsproxy / Jina automatically if one is down |
The pills above the watchlist switch what the % chip compares against: 1d uses the official previous close from your quote provider; 5d compares to the close five trading days back; 30d / 3m / 6m / 1y look back by calendar date using Yahoo daily closing prices (fetched once per holding, refreshed about daily). The chip always shows the active period label, e.g. 3m +4.2%.
Each watchlist row shows two DCA helpers:
ATH uses the Yahoo symbol's own currency and history; switching a holding to another listing (e.g. IWDA.AS → IWDA.L) refetches it automatically.
Three alert types, all evaluated on every refresh while the app is open (background push needs a server; JStock desktop behaves the same way — it alerts while running). Fired alerts banner + beep, then disarm until you re-arm them.
Your nine ETFs are pre-mapped per provider (verified working on Yahoo). Tap any watchlist row → Edit to change lines/exchanges — e.g. switch IWDA between Amsterdam IWDA.AS (EUR) and London IWDA.L (USD). The + button looks up any new Yahoo symbol and auto-fills name & currency. AGGH has no Alpha Vantage mapping (no Xetra line; the LSE line is a different share class) — it auto-falls back to Yahoo.
No accounts, no server, no analytics. Watchlist, transactions, alerts and API keys are stored only in this device's browser storage. Use Export for backups before iOS cleanups or switching hosting.
_headers file: it blocks injected external scripts, framing/clickjacking, and restricts network calls to only the quote/FX hosts. If you set a custom proxy, add its host to both the <meta> CSP and _headers connect-src.