Personal Portfolio Website

Overview
This portfolio website serves as a digital showcase of my skills, projects, and professional journey. I designed and developed it from scratch using Next.js and TypeScript to create a fast, responsive, and maintainable codebase. The site features a visually appealing landing page with dynamic background transitions, smooth navigation between sections, and detailed project showcases. I implemented responsive design principles to ensure optimal viewing experience across all devices, from mobile phones to desktop computers. The website includes sections for my bio, skills, experience, projects, and a contact form for potential collaborators and employers to reach out.
Challenges & Solutions
One of the main challenges I faced was implementing a responsive design that maintains visual appeal and functionality across all device sizes. Creating smooth transitions between pages and background images required careful state management and CSS optimizations. I also encountered challenges with image optimization and ensuring fast load times without sacrificing visual quality. Deploying the site with a custom domain required learning about DNS configuration and setting up proper redirects. Another challenge was creating a maintainable architecture that would make it easy to update and add new projects over time.
What I Learned
- 1Strengthened my skills with Next.js 14's App Router and server components
- 2Improved my TypeScript proficiency by implementing strongly-typed components and data structures
- 3Mastered TailwindCSS for efficient and responsive styling
- 4Gained experience with Netlify deployment workflows and environment configurations
- 5Learned to optimize images and page load performance for better user experience
- 6Implemented custom animations and transitions to enhance visual appeal
- 7Configured DNS settings to connect a custom domain to the deployed application
Deployment Process
I deployed this website using Netlify's platform, which provides an excellent hosting solution for Next.js applications. The deployment process involved connecting my GitHub repository to Netlify, configuring build settings (using 'npm run build' as the build command and '.next' as the publish directory), and setting up environment variables. I purchased the maynguyen.ca domain and configured the DNS settings to point to my Netlify deployment. Netlify's CI/CD pipeline automatically deploys updates whenever I push changes to the main branch, ensuring the website always reflects my latest work. I also benefited from Netlify's features like deploy previews for pull requests, which allowed me to preview changes before merging them into production.
Project Details
Technologies
Languages
Frontend
Tools
Other
Links
Gallery Preview


Project Gallery

Personal Portfolio Website - View 1

Personal Portfolio Website - View 2