A lightweight, Cloudflare-native portfolio system that serves dynamic content with static-site speed. Built for engineers, artists, and creators who want full control over their presentation layer, data, and automation.
This system runs entirely on Cloudflare Pages and Workers, using KV Storage for dynamic data like contact forms or project submissions. Itβs modular, low-cost, and serverless β perfect for scaling a personal site or multi-portfolio network.
node scripts/dev-server.js.public/ β Static assets (HTML, CSS, JS)
src/ β Core logic and components
backend/
βββ workers/ β Cloudflare Workers handling API routes
βββ automation/ β Scheduled or triggered tasks
data/ β JSON content (projects, blog posts)
scripts/ β Build/deploy scripts
If access to the npm registry is restricted you can run the bundled static server:
node scripts/dev-server.js [directory] --port=4173
This mirrors npx serve by defaulting to the public/ directory.
# Clone repo
git clone https://github.com/asiakay/asiaLakay_portfolio_system.git
cd asiaLakay_portfolio_system
# Install Wrangler CLI
npm install -g wrangler
# Configure Cloudflare
wrangler login
wrangler kv:namespace create "PORTFOLIO_DATA"
# Build and deploy
npm run build
wrangler deploy
Update your wrangler.toml with:
kv_namespaces = [
{ binding = "PORTFOLIO_DATA", id = "<your_kv_id>" }
]
MIT β free for personal and commercial use.