ChessCipher is a single-file static application. No server, no database, no build step required.
- Go to netlify.com and sign up (free)
- Go to Sites → drag your project folder onto the drop zone
- Netlify generates a live URL instantly (e.g.,
https://chesscypher-abc123.netlify.app)
# Push to GitHub first
git init
git add .
git commit -m "Initial deploy"
git remote add origin https://github.com/your-username/chesscypher.git
git push -u origin main
# Then in Netlify:
# New Site → Import from Git → GitHub → select repo → DeployBuild settings: Leave everything blank — it's a static file.
npm install -g vercel
cd chesscypher
vercel
# Follow prompts — done in under 60 secondsOr use the web dashboard:
- vercel.com → New Project → Import Git Repository
- No build configuration needed
- Live URL generated automatically
# Push to a GitHub repo
git push origin main
# In repository settings:
# Settings → Pages → Source: Deploy from branch → main / root → Save
# URL: https://your-username.github.io/chesscypher/Since ChessCipher is a single index.html file, it works on:
- Amazon S3 — enable static website hosting
- Cloudflare Pages — connect GitHub repo
- Firebase Hosting —
firebase deploy - Render.com — static site, free tier
- Surge.sh —
npm install -g surge && surge
Any of the above hosts support custom domains. Add a CNAME record pointing to the host's URL.
- All encoding/decoding is client-side only — no data ever leaves the browser
- No server receives messages, keys, or PGN data
- The app works fully offline once loaded (after CDN fonts/chess.js cache)
- For maximum privacy: download
chess.jslocally and serve without CDN dependency
The app loads these external resources:
https://fonts.googleapis.com — Cinzel, IBM Plex Mono, Inter fonts
https://cdnjs.cloudflare.com — chess.js 0.10.3
To make fully offline-capable, download these and host locally alongside index.html.
- First load: ~200KB (fonts + chess.js)
- Subsequent loads: instant (cached)
- No API calls — all logic runs in browser
- Supports all modern browsers (Chrome 80+, Firefox 75+, Edge 80+, Safari 14+)