Personal portfolio website built with SvelteKit and deployed on Cloudflare Workers.
- SvelteKit 2 - Full-stack framework with Svelte 5 (runes)
- Tailwind CSS 4 - Utility-first styling
- Cloudflare Workers - Edge deployment with global CDN
- TypeScript - Type-safe development
- Vite - Fast development and build tooling
- Multi-language support - Internationalization with dynamic routing
- Portfolio showcase - Projects gallery with detailed views
- Articles/Blog - Content publishing with reading time and related posts
- Filtering & search - Search, tags, status and date filters with pagination
- RSS feed - Per-language blog feed
- Contact - Email and social links
- Optimized images - Automatic image optimization with vite-imagetools
- OG images - Open Graph images pre-generated at build time (static PNGs)
- Responsive design - Mobile-first approach
- Node.js 18+
- pnpm 10+
# Install dependencies
pnpm install
# Start development server
pnpm devThe site will be available at http://localhost:5173
pnpm dev # Start development server
pnpm build # Build for production
pnpm preview # Preview production build locally
pnpm check # TypeScript type checking
pnpm lint # Check code style
pnpm format # Format code with Prettier
pnpm test:unit # Unit tests (Vitest)
pnpm test:e2e # End-to-end tests (Playwright)
pnpm test:ci # Unit + E2ECLAUDE.md- conventions, commands and gotchas (for the coding agent)docs/ARCHITECTURE.md- design decisions and tradeoffsdocs/ROADMAP.md- current milestonesdocs/CYCLES.md- work-cycle log
The site is deployed on Cloudflare Workers for global edge performance.
# Build and deploy to Cloudflare
pnpm deploy
# Preview Cloudflare build locally
pnpm previewConfigure Cloudflare Workers settings in wrangler.jsonc.
src/
├── lib/
│ ├── components/ # Reusable UI components
│ ├── sections/ # Page sections (Welcome, Projects, About, etc.)
│ └── style/ # Global styles
├── routes/
│ └── [page=lang]/ # Multi-language routing
│ ├── +page.svelte
│ ├── [route]/ # Dynamic routes
│ └── [sub]/ # Sub-routes
└── scripts/ # Build scripts (image generation)
Private personal website.