Your dev server just bound a port. This notices, opens a preview, and
stamps a dated screenshot receipt — without touching your agent CLI.
One line on your email: used only to reach you about preview-sidecar, never sold, never shared.
$ npm run dev
ready on http://localhost:5173
(you alt-tab, guess the port,
open it yourself, no record
of what it looked like)
$ npm run dev
ready on http://localhost:5173
[preview-sidecar] detected
127.0.0.1:5173 at 17:29:17Z
-> preview pane opened
-> receipt: receipt-5173-*.png
$ python3 demo.py
$ (throwaway dev server on 127.0.0.1:61125)
$ python3 sidecar.py watch --ports 61125 \
--interval 0.3 --max-cycles 3 --no-open
[preview-sidecar] detected 127.0.0.1:61125
at 2026-10-10T17:29:17Z -> preview-61125...html
$ python3 sidecar.py screenshot --port 61125
{
"url": "http://127.0.0.1:61125",
"bytes": 16208,
"sha256": "6e13265f215eb1e3..."
}
Full transcript: demo.txt · full receipt: demo-receipt.json
127.0.0.1:61125python3 sidecar.py watch
python3 sidecar.py watch --ports 3000,5173
python3 sidecar.py screenshot --port 3000
Python 3.9+, no installs. watch polls a bounded port list with a plain TCP connect and opens a preview the moment one answers. screenshot needs a Chromium‑family browser already on the machine.
*founding price, early access — there is no checkout yet, joining only reserves the rate. The CLI stays free no matter what you pick above.