Portfolio – James Giannini

Feb 18 - May 18
  • Creating a high-performing, responsive website from designed mockups
  • Compressing large(30MB+) images down for fast load times
  • Creating a custom JavaScript scrolling indicator for navigation

Project Overview

James had a design/vision for his portfolio, but needed the expertise to put the front end together. My job was to turn the sketch designs into a functioning static website. The designs were heavily image based, so there is a strong emphasis on image performance and lazy-loading.


For any static site, the process is generally straightforward. For this one, I went with my SCSS framework and used a basic gulp file for compilation. There were 4 unique pages total, so I simply created it page by page, starting with the home page.

The designs were made to easily scale down to mobile, so it made sense to build out the desktop version first. After a single page was done, I used a similar process for the remaining pages. After the pages were built out, it was time to implement the JavaScript navigation and image lazy loading. I used an existing library to handle the image galleries and lazy loading. After a few hours of hacking, it was all good to go!

After that, there were only some minor tweaks and changes, including the image galleries and optimizing the large images on the site.

James Giannini

Brandon is a true pro. He helped me bring my designs to life, which helped me get the job I wanted. He's organized, friendly, and always brings good ideas to the table. I would absolutely recommend him to any future clients.

Technologies Used


Since it was a static site, it made sense to keep the technologies simple. After all, the goal was for the final build to be as light as possible. As for the JavaScript, I just used JQuery and some of its libraries, such as lightbox and lazy loading. It also sped up the custom navigation part of the website in terms of development time.


I used SASS/SCSS, so I used a pre-existing gulp file I used previously for SCSS compilation and auto-prefixing. That’s all that was needed for this site.


When I do a custom design, I don’t usually like to use something like Bootstrap or Foundation. I instead went with vanilla CSS using flexbox layouts and some basic global classes/mixins.

Need something? Let's get in touch