How AI is powering better personalization in e-commerce [with Vercel]. Sign up now

Portfolio of Ryan Sheehan

I am a 22 year old web developer, creative technologist, and designer currently living in Somerville, MA. I wanted an easy, standardized way to add new projects to my portfolio without having to go back into the code and Sanity worked perfectly. My site is built with Next.js and makes use of Sanity on every single page.

By Ryan Sheehan


Project Shots

On the about page, there is an option to record and send me a voice memo that will be sent to my texts. This is made possible through Next.js serverless functions, Firestore, and Twilio.
There are two sections that pull from my Sanity datatypes for web and graphic pieces. These pieces are as simple as having a title, a description, a reference to the project they're apart of, and an image.
The graphic and web sections also have the ability to view in either a list or gallery mode. This is what the gallery view looks like.
Clicking on any image will bring you to the project it is associated with, which is another Sanity datatype. This datatype has a title, date, description, array of relevant links, and array of references to either web or graphic datatypes.
These project pieces are loaded in a staggered way.
An animation is triggered when clicking to copy my email.
The menu on the home page changes colors based on the weather in Somerville. Here are all of the possible color arrangements.
Any event on the site triggers the favicon to change to a new emoji from a predetermined set of my favorite emojis.

Editing environment

Base directory of my Sanity layout for my portfolio site.