asiaLakay_portfolio_system

asiaLakay Portfolio System

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.

🌐 Overview

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.

Live Example

βš™οΈ Architecture

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

Logic Flow

  1. Frontend (HTML/CSS/JS) serves static pages via Cloudflare Pages.
  2. Workers manage email submissions, sign-ups, or dynamic data retrieval.
  3. KV Storage persists form data or analytics without a traditional database.
  4. Automation scripts can refresh portfolio data or sync GitHub commits daily.

🧰 Tech Stack


▢️ Local development

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.

πŸ›  Setup

# 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>" }
]

🧱 Key Features


πŸ“¦ Roadmap


πŸͺͺ License

MIT β€” free for personal and commercial use.