# zicula-video-hosting-kit — free sample

Three real files from the full kit (19 files), each **trimmed to taste** — enough
to judge the quality, not enough to launch a course:

- `SETUP-SAMPLE.md` — section 1 of 7 from `SETUP.md`, complete: the real
  Cloudflare R2 cost table (storage, Class A/B ops, and the $0 egress line that
  is the whole point), two worked examples ("5 GB course, 100 students ≈ under
  $1/month"), price anchors against Cloudflare Stream and Bunny Stream, and the
  honest trade-off (mp4 progressive vs adaptive HLS). Sections 2–7 — bucket
  setup, uploads, publishing, gating, signed links, the pre-sale checklist —
  are summarized at the end so you know what the full guide adds.
- `PLAYBOOK-14D-SAMPLE.md` — Days 1–5 of the 14-day launch playbook, complete:
  course skeleton, first upload, recording and cutting, chapter lines, and the
  phone test. Days 6–14 — checkout, gating decision, founding round, first ten
  buyers, launch checkpoint — are summarized at the end.
- `signed-url-worker-SAMPLE.mjs` — the range-request parser from the kit's
  signed-link Worker, complete and working (this is the code that makes video
  seeking survive a proxy: `bytes=1000-`, `bytes=1000-2000`, `bytes=-500`).
  The HMAC signing, constant-time verification, expiry gate, and R2 streaming
  handler are listed in comments where they sit in the full 119-line file.

What the full kit adds (the other 16 files):

- `generator/build_site.mjs` — the product: a zero-dependency Node script that
  turns `videos.json` + `config.json` into a branded course player (single-file
  `index.html` + per-lesson `embed/` pages) with chapters, playlist, and
  resume-where-you-left progress. No frameworks, no analytics.
- `r2/upload.sh` — idempotent S3 upload with correct content-type and
  immutable cache headers (Cloudflare edge-caches your videos).
- `r2/signed-url-worker.mjs` + `r2/issue-link.mjs` — the expiring-link layer
  (this sample's excerpt is from the Worker) and the one-line CLI that issues
  a fresh link set per buyer.
- `r2/cors.json` — optional bucket CORS for cross-origin tooling.
- `videos.json` + `config.json` — a working demo course (3 lessons with
  chapters on public sample videos) you can run before uploading anything:
  `node generator/build_site.mjs`, open `site/index.html`.
- `SETUP.md` — all 7 sections, ~30 minutes from empty folder to live player,
  with real prices and a pre-sale checklist.
- `CUSTOMIZE.md` — every config field, the chapter format, embed usage.
- `pitch-and-pricing.md` — two honest gating models and price anchors against
  Teachable/Thinkific/Vimeo, plus the list of things never to claim.
- `PLAYBOOK-14D.md` — the complete 14-day plan to a launched course.
- `README-buyer.md` — the read-me-first quickstart: the first session step by
  step, each step with a "Success looks like" check.
- `MANIFEST.md`, `LICENSE.txt` — file map and the single-creator commercial
  license (unlimited courses, demo-video attribution included).
- `screenshots/` — real renders of the kit's own files, so you can compare your
  screen against them (no mockups).

One-time purchase $42 · free updates for v1.x · 30-day full refund.
