Photography Portfolio

Visual/Interaction

2025

This is my Photography Portfolio. I built it to learn how to use AI effectively in my programming work (I let Claude suggest code, but I looked over and approved every line). I designed it to resemble a film contact sheet, so all the styling and artwork is meant to call back to that.

The site is fully responsive (Looks great and is easy to use on all devices). Try resizing the iframe to see how it looks on different devices. Listed below are the frameworks and languages used and the reasoning behind each being used:

  • PHP - A small PHP API I built with Claude code that pulls from a simple flat file directory for data storage. I chose PHP here because it makes everything more portable: ie. I can drop this into any web server and it just works.
  • Alpine.js - The frontend is built in Alpine.js. I chose Alpine both because I wanted to try something new and it seemed nice and lightweight and perfect for this purpose.
  • CSS3/JS - Style and effects are done in both CSS and JS. The saturation on hover is CSS, but the border is JS and randomized on page load. The lightbox is custom very lightweight JS.

You can also visit the live site at: https://photo.giuliogratta.com