Portfolio Dev Log

July 22, 2025

Documenting the thought process and learnings behind creating my current portfolio website, aka what you're looking at right now

Unrevised dev log can be found here

WORK IN PROGRESS

goals

I made my first portfolio website over winter break of freshman year (undergrad) to buff up my barren resume for an application to a robotics club.

image

I mocked it up in Figma, watched 3-4 Youtube tutorials on making a portfolio with just html/css, did some hacky CSS styling, and very minimal javascript.

I still like certain visual elements, but it’s a little plain, and not as responsive as it could be.

  1. I wanted to make a new portfolio website that better showcases my experience, taste, and personality.
    • As someone who grew up on the internet and has at least ten different social media accounts across multiple platforms for a variety of purposes, I've flip flopped between strongly caring about the presentation of myself online, and not caring at all / wanting to minimize the information I put out.
    • Recently, the pendulum has swung strongly - I currently see the value of visibility and proof by demonstration; the philosophy behind digital gardens; learning in public, working "with the door open"
  2. I've been interested in fun digital expriences lately (see websites I like) and I figured redoing my portfolio would be a casual but interesting way to learn how to implement fun visuals and interactions
  3. I also really wanted to add a blog section because I love documenting thought processes behind projects, and this would be the ideal location

I got the most frontend experience from working on a recent project, Jam Journal, using Next.js and Tailwind for the first time. Before this, I had some React and HTML/CSS experience but not enough to comfortably describe my skill level as intermediate. That project was a bit rushed because I was working on it in a 6 week build space - I wanted to use this portfolio revamp, something with no real deadline, as a chance to go slowly, code cleanly, and really strengthen my foundational knowledge.

I'm writing this to document thought processes and challenges. Also, learning happens best through teaching and explaining.

high-level process

Exploring what really feels like me, my identity, and how I want to present myself in the form of a website.

implementation details + learnings

(literally anything i did or learned that i think is worth remembering)

blog section

I wanted to avoid the complexity of adding backend logic just for the blog, so I chose the approach of rendering markdown files as blog posts.

The blog logic consists of:

polaroid jiggle

I love polaroids! I just think it's such a fun frame for photos, and again brings in some of the physical world to the digital space.

My previous website also had a polaroid of myself on the 'about me' page, but it had no interactivity. I think subtle interactivity is fun.

How I created the polaroid component, which accepts an image source, alt text, and caption as props:

polaroid scrolling animation

On the 'about me' page, I have an assortment of polaroids stacked at the bottom that spread out on scroll. I like taking photos and I wanted to include some fun ones (inspo1, inspo2).

I also think scrolling animations are fun and not super distracting, because the user is in control over the progression of it.

I created a scatter-polaroids component:

Scroll animation w motion js:

blob animation

TODO

paper texture on blog pages

I wanted some whimsy/quirkiness to my design. I love texture - I saw one portfolio website that had a continuous grain effect in the background and I thought that was a really interesting way to add visual interest.

TODO

nav bar hover animation

I love incorporating hand-drawn/analog into digital experiences. It's just so fun lol. So I wanted an animated scribble to appear on hover, which I've seen in a few different portfolios.

TODO

general

project gallery

TODO

challenges