My personal portfolio website built using React and three js

pushedAt 2 weeks ago


Personal portfolio

Site preview

A design portfolio to showcase a few projects. View the live site or check out a live version of the components storybook.

Install & run

Make sure you have nodejs and npm installed. Install dependencies with:

npm install

Once it's done start up a local server with:

npm start

To view the components storybook:

npm run storybook

To create a production build:

npm run build


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


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).


Q: How do I change the colour on the DisplacementSphere (blobby rotating thing in the background).

A: You'll need to edit the fragment shader. Check out this issue for more details.

Q: How do I get the contact form to work?

A: 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.

ucloud ads