A clean, modern, responsive single-page resume for Valerian Gabriel Both,
deployed to Cloudflare at resume.valegboth.win, with a KV-backed visitor
counter and CI/CD that auto-deploys on push to main. Same tooling as the
Cinemate project (Cloudflare Workers + Static Assets, TypeScript, Wrangler,
GitHub Actions with secrets).
- One Worker, not Pages. A single Cloudflare Worker serves the static site
(
public/) via Static Assets and exposes/api/viewsfor the counter. This mirrors Cinemate exactly and keeps everything to one project and one deploy. - Custom domain via config.
custom_domain = trueinwrangler.tomlmakes Wrangler provision DNS + TLS forresume.valegboth.win. - Counter in KV. One key (
count), incremented per page load.
- Create Cloudflare API token ("Edit Cloudflare Workers" template).
- Get Cloudflare Account ID.
npx wrangler kv namespace create VIEWS→ paste id intowrangler.toml.- Create public GitHub repo; add secrets
CLOUDFLARE_API_TOKEN,CLOUDFLARE_ACCOUNT_ID. - Push to
main; verify the custom domain came up (dashboard fallback if not).
- Scaffolded frontend, Worker, config, CI + deploy workflows, README.
wrangler deployon push tomainships everything.