This portfolio has undergone numerous transformations and is my battleground for testing out new technologies.
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. But, being new to the web development space, I needed some feedback to see if this was as viable as I thought. So I threw it right back 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.
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. Anyways, this portfolio was/is truly a labor of love, community is great and open-source software will save the world. Cheers!