Introducing GROQ-powered Webhooks

Portfolio of Ryan Sheehan

By 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.

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.
Base directory of my Sanity layout for my portfolio site.

About the project

My portfolio had grown horribly out of date and I wanted to build something more flexible and framework agnostic. What I love about Sanity is that I could change the entire front-end and my data would be unchanged and still usable. Every page essentially depends on Sanity. Even the sections on the main menu have their own data types I can change in the desk view. I used Next.js because there was already a very well documented boilerplate for use with Sanity and Next.js also takes care of a lot of routing and optimization stuff for me so I could focus on other more interesting problems. All animations on the website are done with Framer Motion.

Categorized in

Contributor

Ryan Sheehan

Ryan is a senior at Tufts University studying computer science. He currently lives in Somerville, MA.

Ryan is located at Somerville, MA
Visit Ryan Sheehan's profile