Chris Czach software engineer

back to projects

Developer Portfolio

My developer portfolio site using Gatsby.js, Sanity.io CMS, and Material UI.

Technical Specs
Front End
Gatsby.js
JavaScript
HTML5
CSS3
Material UI
Back End
Sanity.io CMS
DevOps / Deployment
Github
Netlify

Objective

I needed a place to showcase previous work for potential clients or employers and to serve as a online resume.

FYI, currently looking for a full time front end developer role. If your company is hiring I'd love to hear from you!

Goals identified going into project:

  • Design site for mobile first.
  • Wanted to keep it clean but not too generic.
  • I didn't want to devote too much time to this project so I knew that I'd probably need to bring in a component library or css framework.
  • Incorporate more interactivity and transitions knowing that most visitors will be developers using more modern high performance devices so performance is less of a contraint.

Solution

I decided to use Sanity headless CMS for content management, Gatsby.js for server side generation, Material UI for the component library, and continuous deployment was handled through Netlify with webhooks; rebuilds triggered when content changes on Sanity or source code changes on GitHub.

The contact form controller is a serverless function on Netlify which is deployed as an AWS Serverless Lambda. This allowed me to add the little bit of back end functionality I needed without deploying a backend for just one endpoint.

Using a stack that I've used multiple times in the past and adding in a component library saved a lot of time, gave a clean starting point for UI design but still allowed a lot of customization.