/portfolio-1

My personal portfolio website built using React and three js

Primary LanguageJavaScriptMIT LicenseMIT

Personal portfolio

Site preview

My design portfolio to showcase a few projects. 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.