Interactive professional site for Iñaki Aranzadi — a SvelteKit terminal with résumé, projects, contact form, and arcade games. Deployed on Cloudflare Pages (not GitHub Pages).
@sveltejs/adapter-cloudflare)/api/contact)/resume)npm install
cp .env.example .env # add RESEND_API_KEY for /contact
npm run dev
Try /help, /whoami, /resume, /github, /contact, /game.
npm run build
npm run preview # Cloudflare Pages local preview
This project replaces the old static site at inaki/inaki.github.io. The custom domain inaki.to must point to Cloudflare Pages, not GitHub Pages (SvelteKit needs Workers for SSR + the contact API).
Recommended: use this repo as the new contents of inaki/inaki.github.io (source code, not a built dist/).
git remote add origin git@github.com:inaki/inaki.github.io.git
git branch -M main
git push -u origin main
Or use a new repo inaki/inakito and connect that in Cloudflare instead.
In Cloudflare Dashboard → Workers & Pages → Create:
| Setting | Value |
|---|---|
| Project name | inakito |
| Production branch | main |
| Build command | npm run build |
| Deploy command | npm run deploy |
| Node version | 22 |
If your Cloudflare UI uses separate build + deploy steps (Workers CI flow), use those two commands — not npx wrangler deploy.
Classic Pages Git UI instead uses build output directory .svelte-kit/cloudflare with no deploy command.
Environment variables (Production):
| Variable | Example |
|---|---|
RESEND_API_KEY |
re_… (secret) |
CONTACT_TO_EMAIL |
hello@inakito.com |
CONTACT_FROM_EMAIL |
contact@inaki.to (after Resend domain verify) |
Or set secrets via CLI:
npx wrangler pages secret put RESEND_API_KEY --project-name=inakito
inaki.toinaki.to and www.inaki.toinaki.to DNS is already on Cloudflare, records are added automaticallyCNAME file / disable GitHub Pages on inaki.github.ioinaki.to → inaki.github.io DNS if it still existsWorkflow: .github/workflows/deploy.yml
Add repository secrets:
CLOUDFLARE_API_TOKEN — Pages Edit permissionCLOUDFLARE_ACCOUNT_IDPushes to main deploy automatically.
inaki.to in Resend and verify DNS (SPF/DKIM)CONTACT_FROM_EMAIL to a verified address on that domainonboarding@resend.dev (delivers only to your Resend account email)https://inaki.to loads the terminalhttps://inaki.to/resume exports PDF/contact sends email in production/googled3bec9530c674470.html copied from old site)inaki.github.io GitHub Pages disabled or repo archivedhttps://inaki.tosrc/
├── lib/
│ ├── content.ts # résumé, projects, commands copy
│ ├── site.ts # inaki.to URL + SEO
│ └── components/ # TerminalShell, ResumeDocument, games…
├── routes/
│ ├── +page.svelte # main terminal UI
│ ├── resume/ # print/PDF résumé page
│ └── api/contact/ # Resend handler
static/ # favicon, google verification
wrangler.jsonc # Cloudflare Pages config
Built by Iñaki — 2026.