# PiP Fundraiser Thermometer Pushes a **goal-progress "thermometer"** overlay to a ScreenTinker screen (or group) via the PiP API. Reads a tiny JSON progress doc, computes the percentage, and shows a filling bar with the amount raised, the goal, and the percent. It re-pushes on every poll so the bar updates in place, and clears the overlay when you stop it. ``` progress.json ──poll──▶ thermo.js ──POST /api/pip──▶ ScreenTinker ──▶ screen {raised,goal} (web overlay, duration 0 = persistent) ``` Great for lobby displays, telethons, membership drives, "miles walked", etc. ## Data source A small JSON document, from a local file **or** a URL: ```json { "campaign": "Community Garden", "raised": 12450, "goal": 20000, "currency": "USD" } ``` - `source_file` — a path (relative to this dir or absolute). Update the file and the next poll picks it up. - `source_url` — any endpoint returning that JSON (e.g. a Google Sheet published as JSON, a CRM webhook target, your own little script). If both are set, `source_url` wins. Supported currency symbols: USD/CAD/AUD/NZD `$`, EUR `€`, GBP `£`, JPY `¥`, INR `₹`. Anything else renders as `CODE 1,234`. ## Setup 1. **Host the overlay page.** Copy both overlay files into the ScreenTinker server's frontend directory so they're served same-origin (the server's CSP only allows the external `