Start here for the sandbox demo (safe practice) or school / live (real rosters).
Bookmark the URLs with the correct port — :13002 for sandbox, :3002 for live.
| Stack | Use for | Start here |
|---|---|---|
| Sandbox / demo | Training, district demos, experiments — not real student data | Instructions → Dev Hub |
| School / live | Daily teaching — real Mongo roster | PulsePoint Hub |
Sandbox (this machine — include :13002):
Sandbox (Chromebook / Tailscale — public Funnel, no port needed):
School / live:
http://127.0.0.1/dev/ — no port → connection refused.
Always use :13002 for sandbox or :3002 for live.
Links inside Cursor often open the built-in browser. That works because Cursor forwards ports over SSH. Google Chrome needs the full URL above — copy it from this page or the Dev Hub sidebar.
http://127.0.0.1:13002/dev/ into the Chrome address bar on the Mac that runs Docker.:13002 on the tailnet.One-line pitch for leadership: “We upload an IEP, PulsePoint drafts goals, we show the student Chromebook experience, then Teacher Hub — all on a sandbox that never touches live rosters.”
Use port 3002 (or your school server URL), not the sandbox.
More detail: Ways teachers use PulsePoint.
Default staff passcode: tunson
(from control-center-config.json, case-insensitive).
This guide does not require a passcode to read.
| Problem | Fix |
|---|---|
| Connection refused | Add :13002 (sandbox) or :3002 (live). Start stack: docker compose -f docker/compose/docker-compose.pulsepoint-dev.yml up -d from repo root. |
| Works in IDE, not Chrome | Copy the full URL from this page; use Tailscale URL from another device. |
| Wrong passcode / loop | Use tunson; hard refresh (Cmd+Shift+R); try /dev/ directly on sandbox. |
| No students on login | Sandbox roster is empty until IEP PDF import commit or manual add on Dev Hub. |
| API offline on Dev Hub | Wait 30s after up -d; check /api/health. |