A branded client report page in one file, on the free tier: edit one JSON object, deploy, share a private link with your client. KPI cards, month-over- month deltas, top pages table and next-steps notes — no dashboard to pay for.
This is the free starter. The full Client Portal Kit adds report generation from live Search Console data, white-label digests on a schedule, refresh-priority flags (P1–P3), and multi-client management — one-time purchase, no subscription.
Open src/worker.js and change the REPORT object at the top:
const REPORT = {
brand: { name: "Your Agency", color: "#2563eb" },
client: "Acme Coffee",
period: "September 2026",
summary: "Steady month: …",
kpis: [{ label: "Organic clicks", value: "4,812", delta: +12 }, …],
topPages: [{ page: "/guides/pour-over-ratio", clicks: 918, delta: +41 }, …],
notes: ["P1 — …", "P2 — …", "P3 — …"],
};deltais percent vs. last period:+12renders ▲ green,-3▼ red,0flat./serves the branded page (markednoindex, so it stays private)./report.jsonserves the raw JSON for programmatic use.
npm i -g wrangler # once
npx wrangler deployThat's it — no KV, no database, no build step. Runs on Cloudflare's free tier.
MIT — do whatever you want, attribution appreciated but not required.