Personal portfolio
My design portfolio to showcase a few projects.
Adopted from Hamish Williams's portfolio.
Built with Next.js, Three.js, and Framer Motion. View the live site or check out a live version of the components storybook.
Install & run
Make sure you have nodejs 18.0.0
or higher and npm 8.6.0
or higher installed. Install dependencies with:
npm install
Once it's done start up a local server with:
npm run dev
To view the components storybook:
npm run storybook
To create a production build:
npm run build
Deployment
I've set up the site using AWS for hosting and serverless functions. You'll need an AWS account and the AWS CLI installed in order to deploy.
Deploy the site to s3:
npm run deploy
Deploy serverless functions:
cd functions
npm run deploy:api
Permissions
I'm cool with anyone using the code or parts of the code for their own site, it is open source so people can learn from it and adapt it. However, I would encourage you to modify the theme and components it to make it your own. If you are using the site's design largely unmodified, I'd appreciate being credited as the designer of the website.
I do not give permission to present any of my projects as your own (this is being actively used as my portfolio site and these are my real projects I've worked on).
FAQs
How do I change the color on the DisplacementSphere
(blobby rotating thing in the background).
You'll need to edit the fragment shader. Check out this issue for more details.
How do I get the contact form to work?
It's set up using a serverless function with AWS Lambda. You'll need to set up an AWS account and deploy the function. Refer to this issue for more details.