I used several tools to build my portfolio, including ThreeJS, React Three Fiber, TailwindCSS, and Framer Motion.
ThreeJS is a powerful 3D graphics library that allows me to render and animate 3D models on the web. It provides a wide range of features and functionalities for creating visually stunning 3D graphics. I chose it because of its ease of use, support for a variety of 3D file formats, and robust documentation.
React Three Fiber is a library that allows me to create 3D graphics with ThreeJS in React. It simplifies the process of creating 3D scenes by providing a set of components and hooks that allow me to easily manipulate and render 3D objects in my React components. I chose it because of its ease of use, support for declarative programming, and ability to integrate with React's component model.
TailwindCSS is a popular utility-first CSS styling framework that allows me to quickly and easily style my web pages. It provides a set of pre-defined utility classes that I can use to style my HTML elements without having to write custom CSS. I chose it because of its flexibility, ease of use, and ability to scale with my project.
Framer Motion is a library that allows me to add animations to my React components. It provides a set of components and hooks that allow me to easily create and control animations in my components. I chose it because of its ease of use, support for declarative programming, and ability to create complex animations with ease.
In addition to these tools, I also learned how to load, create, and customize stunning 3D models and geometries with various lights, as well as understand the 3D world with a camera and positioning of an object in space. I also learned how to make my code reusable and scalable using Higher Order Components (HOCs) and other industry-standard best practices.
Furthermore, I implemented sending emails through a form on the website and ensured responsiveness across all devices. I also improved my site's performance using Suspense and Preload, which helped optimize my website's load times and improve the overall user experience.