A modern, interactive portfolio website showcasing my work as a Full-Stack Engineer. Built with React, TypeScript, and Three.js, featuring smooth animations, 3D elements.
- Interactive Landing Page - Animated hero section with smooth scrolling
- About Section - Professional background and skills overview
- Work Showcase - Horizontal scrolling gallery of featured projects
- Career Timeline - Professional experience and achievements
- Tech Stack - Visual display of technologies and tools
- Contact Section - Easy ways to get in touch
- Responsive Design - Optimized for desktop, tablet, and mobile devices
- Smooth Animations - Powered by GSAP and Lenis smooth scroll
- 3D Elements - Three.js integration for enhanced visuals
- React 18 - UI library
- TypeScript - Type-safe JavaScript
- Vite - Build tool and dev server
- React Router - Client-side routing
- GSAP - Advanced animations
- Lenis - Smooth scrolling
- Three.js - 3D graphics
- @react-three/fiber - React renderer for Three.js
- @react-three/drei - Useful helpers for react-three-fiber
- CSS3 - Custom styling with animations
- React Icons - Icon library
- chess.js - Chess game logic
- stockfish.js - Chess engine
- @vercel/analytics - Analytics integration
- Clone the repository:
git clone <repository-url>
cd portfolio- Install dependencies:
npm install- Start the development server:
npm run devThe site will be available at http://localhost:5173 (or the port shown in terminal).
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run preview- Preview production build locallynpm run lint- Run ESLint
All portfolio content is managed in src/config.ts. Update the following sections:
- Developer Info - Name, title, description
- Social Links - GitHub, LinkedIn, email, phone
- About Section - Personal description
- Experiences - Work history and roles
- Projects - Portfolio projects with images/videos
- Skills - Technical skills and tools
- Contact - Contact information
Add a new project object to config.projects:
{
id: 7,
title: "Project Name",
category: "Category",
technologies: "Tech Stack",
image: "/images/project.png",
video: "/videos/project.mp4", // Optional
description: "Project description"
}Set the video property in the project config:
{
id: 1,
title: "Guestboard",
video: "/videos/guestboard.mp4",
image: "/images/guestboard.png", // Used as poster
// ...
}- Modify CSS files in
src/components/styles/ - Global styles can be added to
src/index.cssorsrc/App.css
- GSAP animations are configured in individual components
- Lenis smooth scroll settings are in
Navbar.tsx
- Three.js scenes can be added in components using
@react-three/fiber
npm run buildThe dist/ folder will contain the production-ready files.
- Push your code to GitHub
- Import the repository in Vercel
- Vercel will automatically detect Vite and configure the build
The site is configured for Vercel deployment with analytics integration.
This project is private and proprietary.
King Tin Beau Kuok
- Email: beau.kuok.dev@gmail.com
- GitHub: @light89219
- LinkedIn: King Tin Beau Kuok
- Location: United Kingdom
- Built with modern web technologies
- Inspired by contemporary portfolio designs
- Uses open-source libraries and frameworks