Just want to comment on the star background. I did something similar for my own site (link in bio). I ended up rendering the stars in a three.js scene because drawing them on a 2D canvas did not look like a satisfying effect. CPU usage was lessened as well, at least on my mobile and two desktops (can't verify your site's CPU utilization since I'm on mobile atm). It also fixed the issue where resizing the viewport would mess with the rendering of the stars, like it occurs in your app currently.
nice. i debated using three.js but didn't want the overhead/imports for a simple background. wanted to keep it raw canvas to stay zero-dependency.
you're totally right about the resize jank though. the math definitely breaks when the window dimensions change. on the todo list.