I needed a place to put all of my work and display all that I have learned, so a personal website was a must. It took me a bit to think about what tech stack I would use for this project, I decided to work backwards from what I needed the site to do. It needed to be customizable, easily styled, friendly for SEO, easy to add add/edit blog posts, and fast to load. From these requirements, I decided to use Next.js and react as the framework to serve static HTML that can be crawled by search engines for SEO purposes. I also wanted experience working with a content management system (CMS) in React, so I decided on Cosmic CMS initially. After awhile I migrated to MDX, and it has been a dream to work with. For styling I went with Tailwind because I love tailwind, but also because it would speed up the site by shipping less CSS to the browser.
The bones for this project took me about a week to build, but I have been iterating on the site ever since. Having a central hub to put all of my content and projects has been a game changer, it motivates me to continue to create and share who I am with the world. I plan on implementing a full 3D landing page experience with React Three Fiber soon, to give the site more of a wow factor while hopefully keeping loading times fast.
Cosmic Content Management System for easy editing and adding of blog posts. (edit: I have since moved to MDX for adding more interactive React components into blog posts.)
CSS animation footer of waves.
SASS animation for floating gradients in the background.
Responsive navigation menu.
Airtable as an backend API for serving my AI artwork and my favorite links (although in the future I wouldn't use it for images, it's very slow).
- CMS API.
- Airtable API.
- Parallax project cards using Atropos.js.
- Embedding P5.js sketches in a React page.
- Building my own image carousel to display project images.
- Using the Unsplash API to load all images from my account as well as the real-time stats.
- Dynamically generating the sitemap.xml file every time there is a new blog post.
- Using the Google search console to have the site indexed on Google (Also did this for Bing).
- Implementing dark mode using Tailwind.