This portfolio has undergone numerous transformations and is my battleground for testing out new technologies.
The Starting Line
I began coding the prototype for this site with only HTML, CSS, and plain JS. I quickly realized that the bare-metal approach, for me, was too arduous to continue without tearing the rest of my hair out. I heard many good things about React and started playing around with various React frameworks (NextJS, Gatsby) and got a long way towards development zen without investing too much time. Between the richness of the React community and the sheer amount of plug-able components, I was all in on component-driven architecture. However, I had noticed that a large portion of what I was writing was not rooted in basic web-technologies - it was all very React-heavy. Was this future-proof? Is there even such a thing?
After completing the tutorial, I proceeded to burn my portfolio to the ground and port each component over to Svelte. The process took my about a day. Within a week I had my first, polished portfolio.
Being new to the web development space, I needed some feedback to see if this iteration was as viable as I thought. So I threw my newly mint folio to wolves of Reddit to be murdered but, instead of carnage, I received compassion and beautifully succinct criticism. My first iteration was fun but a performance and accessibility disaster. Another couple weeks of tweaks and boom.. I pushed a streamlined v2.
Third Time's a Charm?
The migration wasn't all easy though. The particle system that I designed with p5js, and perhaps was too attached to, would not play nice with Sapper. It turned out that third party libraries had to be installed as a dev-dependency in order to be bundled (by rollup, in my case) and, in order to access the window object, I had to load my component asynchronously, which syntactically was very un-Svelte. While this is more widely documented now, I struggled - and whether that was my own lack of experience with frameworks or not is the type of nightmare juice that fuels my impostor syndrome. This is my perpetual state but I was happy with v3 , until I put it in front of developers.
Don't Four-get The Obvious
The purpose of a portfolio, it turns out, is to highlight the projects in it. My landing was full of social media links, as if to say, please go anywhere but here. My projects were neatly wrapped, and tucked away at the back of the fridge in a nav link. Putting all of my effort into development, I balked at the obvious design decisions that make or break that first impression. Lesson learned.
Anyways, this portfolio was/is truly a labor of love, community is life and open-source software will save the world. Cheers!