You might be wondering: why does this website have two versions of the same person? Well, something I noticed while browsing countless portfolio pages for inspiration was that they all focused on just one aspect of themselves: who they are as a software professional. Don’t get me wrong, that’s very important, but companies and people looking to hire are evaluating both the software side and the person side. And that’s how this idea was born.
If you’d like to fork this repo and customize it for yourself, go ahead! Here are some tips on the architecture and functionality of the project to help you get started:
-
Data Storage
All data for the webpage is stored in/src/utils/data. No data is hard-coded. -
Images
Images are fetched using utility functions located in/src/utils/images. -
Data Types
Definitions for data types are in/src/types. Reviewing these is highly recommended. -
React Context
The context for switching between the two profiles is stored in/src/context/. -
Lottie Animations
Lottie files are used for animations. Learn more here. -
Framer Motion
Animations are handled using Framer Motion. Learn more here. -
Theming
To change the application’s theme, use the DaisyUI Theme Generator. -
EmailJS
EmailJS is used for sending emails directly from the frontend. Make sure to configure your environment variables (prefixed withVITE_in Vite) and use the EmailJS service, template, and public key to enable email functionality.
