Theseus' Website: if you refactor the entire website, is it still the same website?
Why, when there are tons of platforms and libraries to choose from to develop a personal site, and tons of readily available free-resources to host them on, do you create an entire full-stack application from the ground up just for your personal site? Because I can.
My old site was probably created in four hours, maybe less. And most of that time was spent redesigning the layout over and over again until I was satisfied with the look of it. However, I was ultimately never a fan of it and I don't think any visitors were all too impressed with it either. This, however, was a problem as I began to apply to jobs and notice a decent amount of traffic to my site. Unfortunately, at that time I was preoccupied with finishing up my graduate studies at NYU and I had neither the time nor energy to refactor it.
Old yegor.codes landing page
Well, now I have finally survived graduate school and entered a new chapter of my life: unemployement adulthood. And with this new free time on my hands and the crushing anxiety of artificial intelligence making employment obsolete, I decided to expand my tech stack by taking a deeper dive into web development.
The original site was powered almost entirely by React. It was a single-page application that connected directly to Google's Firebase for the backend. Most assets and data was static as I didn't even have a chance to move it to a proper database for storage. So it was nothing more than a glorified HTML file that I fragmented into React components and glued together visually with Material UI.
World, say hello to yegor.codes Mark II (there will be many more, I'm sure, as there is a brutal fight between my restlessness and my desire for perfection). This new site is primarily powered by NextJS with front-end components handled by React and the backend via Node. I decided to make this version of my site more permanent, intending for it to be built upon moving forward. Thus, I decided to separate as many concerns as possible into individual compartments that can be swapped out later. That extended to my desire to have complete control over the site from a full-stack perspective. Firebase-specific calls were swapped out for Node RESTful API calls, static information was replaced with a MongoDB cluster, and slowly, over time, no specific software had complete reigns over the project.
This was just a brief post welcoming you to the new site. For an in-depth technical discussion of the site, please check out the Yegor Codes writeup on the portfolio page.
As for you old site...so long sweet prince, you will not be missed.
If you want to send me specific feedback, please do so on the Contact Page. Thank you!