Personal identity landing page

· 1 min read

Personal identity landing page with 9 themes, short link redirects, and mini apps on Cloudflare Pages

tags: landing-page, identity, cloudflare-pages, multi-theme

stack: vite, typescript, cloudflare-pages, cloudflare-functions, biome


What

Personal identity landing page featuring 9 switchable themes (Terminal, Brutalist, Gradient, Glass, Neobrutalism, Retro, Minimal, Cyberpunk, Paper), short link redirects, and a mini apps platform.

Multi-page Vite app hosted on Cloudflare Pages. Theme selection via URL param, saved preference, or random. Short links handled by Cloudflare Pages Functions middleware with 301 redirects.

Why

Needed a lightweight, fast personal landing page that doubles as a link-in-bio and a playground for mini tools — without the overhead of a full framework or CMS.

Cloudflare Pages provides free hosting with edge Functions for redirect logic, and Vite keeps the build simple with zero runtime dependencies.

Notes

  • 9 themes rendered from a single config-driven config.json, no framework
  • Short links via both path (khương.vn/github) and subdomain (github.khương.vn)
  • Mini apps platform at /apps/ — each app is a separate Vite entry point
  • Cloudflare Functions middleware intercepts requests before static files for redirects
  • Auto-deploy via GitHub Actions → Cloudflare Pages
  • IDN domain (khương.vn) with punycode DNS setup