{
 "schema_version": 1,
 "generated": "2026-10-24",
 "id": "cccrafts-punctual--self-host-booking-page-on-cloudflare",
 "repo": "CCCrafts/punctual",
 "repo_url": "https://github.com/CCCrafts/punctual",
 "repo_slug": "cccrafts-punctual",
 "title": "Host your own booking page on Cloudflare for free",
 "page_title": "How to host your own booking page on Cloudflare for free with Punctual",
 "summary": "Deploy a Calendly-style booking page into your own Cloudflare account at $0 on the free tier.",
 "who": "A solo consultant or small team lead who wants to stop paying per-seat for scheduling and already has a Cloudflare account.",
 "problem": "Hosted scheduling tools charge for seats and gate features, and you do not control where booking data lives.",
 "outcome": "A live Worker URL serving your booking pages, with D1, KV and R2 resources created in your own account.",
 "steps": [
  "Run `npx punctual-sh init` if you have Node 20+ and a Cloudflare account; it clones the repo, creates resources, writes their ids into wrangler.toml, generates secrets, migrates and deploys.",
  "Or clone by hand with `git clone https://github.com/CCCrafts/punctual.git` and then `cd punctual && npm install`.",
  "Run `npx wrangler login`, then create the D1, KV and R2 resources as described in the README and record their ids or names in wrangler.toml.",
  "Generate and store the two secrets, ENCRYPTION_KEY_V1 and SIGNING_KEY, with `npx wrangler secret put`.",
  "Run `npm run migrate`, then `npm run deploy`, put the printed Worker URL into BASE_URL in wrangler.toml, and run `npm run deploy` again."
 ],
 "agent_prompt": "Using the CCCrafts/punctual repo, deploy the Worker to the Cloudflare account <account-name> following the README quick start. Report the final Worker URL and confirm that BASE_URL in wrangler.toml matches it.",
 "agents": [
  "any"
 ],
 "difficulty": "Intermediate",
 "time": "1 hour",
 "basis": "readme",
 "caveat": "The README says the open-source version is complete for a single team, and the free-tier cost claim applies only to the Cloudflare resources you create.",
 "category": "Work and operations",
 "tags": [
  "Work and operations"
 ],
 "lang": "typescript",
 "requirements": [
  "Node 20+",
  "A Cloudflare account",
  "Command-line access to run wrangler",
  "Your own Google or Microsoft OAuth app, only if you want calendar sync"
 ],
 "risk": "sensitive",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "credentials",
   "notice": "The setup generates and stores ENCRYPTION_KEY_V1 and SIGNING_KEY as Cloudflare secrets, so keep them out of shared logs and chat transcripts."
  }
 ],
 "best": true,
 "score": 1.0,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/cccrafts-punctual/self-host-booking-page-on-cloudflare/",
 "md": "https://dedupedai.com/use-cases/cccrafts-punctual/self-host-booking-page-on-cloudflare/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/cccrafts-punctual--self-host-booking-page-on-cloudflare.json",
 "api_version": "v1"
}
