Portfolio
This website is the third iteration of my modern portfolio site, and came together over the course of about two weeks, with an additional three weeks for polishing. In many ways, it’s a personal love letter to the web I grew up with—using only vanilla HTML, CSS, and JavaScript; no libraries, no bundlers, and no transpilers. At the same time, it leverages many of the incredible advances the web ecosystem has seen over the past two decades.
This site employs a number of new web features and uses several novel techniques to pull them all together.
From animating the size of grid columns using interpolate-size and @starting-style,
to creating JS-free popup menus using popovertarget and position-area,
to transitioning smoothly between discrete pages using MPA view transitions—this site quietly challenges conventional assumptions about what the web can (and can’t) be, and pushes the boundaries of what’s historically been possible.
In this project, I also leaned heavily into progressive enhancement and accessibility. For every new, non-Baseline feature I used, I also implemented a cross-browser fallback. In the same vein, disabled users were prioritized from the very beginning. I created separate experiences for those with vestibular disorders, vision impairments, and even the roughly 1% of users who browse the web with JavaScript disabled. The site is fully screen reader-compatible, making extensive use of ARIA roles, labels, and descriptions. Cumulatively, I’ve spent dozens of hours manually testing the site with various screen readers, ensuring the experience is just as smooth for those without perfect sight as it is for those with it.
Fundamentally, this site is an expression of my values and interests, both as a developer and as a human. By far, my greatest passion in frontend engineering is sweating the small stuff—putting effort into things that most people will never consciously notice, but which add up to a meaningfully better experience. Making the arrow buttons hang open briefly after you’ve moused over them, but ignore a quick swipe on the way to the address bar? That’s the kind of thing I live for, and it’s on full display all throughout this site.
Also on display is my love of languages—I rewrote the home page in all three of the languages I speak: English, French, and German. I studied French in school for more than a decade, and have been teaching myself German for over two years now. While I’m fairly rusty in French these days, and still nowhere near professionally fluent in German (yet), I saw this project as an opportunity to venture out of my comfort zone and dust off some of the cobwebs. I’m quite happy with how it turned out.
While this website does serve an undeniable role as a personal sandbox—allowing me to experiment with the newest web features and grow as a developer—it’s also a genuine reflection of who I am and what I stand for. This fusion of passion and authenticity permeates everything I do and make as a developer, and that’s something I’m truly, deeply proud of.
P.S. There’s a small Easter egg hidden somewhere on this site, and multiple ways to trigger it. All of them require DevTools in some form. If you figure it out, please reach out and let me know!