Jim Wei

Purpose

jimwei.dev is a personal site / portfolio that I made with the primary goal of showcasing my projects and skills. I also took the opportunity to explore new technologies such as Next.js, Tailwind CSS, and deploying an automatic build and deploy pipeline on a Linux hosting server Github Actions, Nginx, and Process Manager 2 (PM2). Finally, Cloudflare is used to improve the security, performance, and reliability of the site. The core objective is to create a dynamic, interactive platform that reflects my software abilities and showcases my projects.

Frontend Features

  • Optimized for both desktop and mobile devices.
  • Efficient rendering management, particularly for 3D models, to maintain performance without unnecessary re-rendering.
  • Un-rendering of the 3D model on specific pages (like the resume page) to enhance performance and focus on content.
  • Icons adapt to light and dark modes, switching between black and white color schemes for visual consistency.
  • Dynamic profile picture that changes according to the selected light or dark mode.
  • Leverages React's useCallback() and useMemo() hooks for optimizing component performance by preventing redundant re-rendering.

Backend / Cloud Infrastructure Features

  • Integrated Cloudflare and Nginx to improve site security and performance.
  • Configured Process Manager 2 (PM2) on Linux hosting server for enhanced site reliability and constant service availability.
  • Established custom SSL certificate via Let's Encrypt, compatable with Cloudflare's Content Delivery Network (CDN) in strict mode.
  • Implemented Github actions for automated deployment of production builds that are pushed onto Github.