While people are right to point out the down market, I think they're ignoring the obvious corollary. My theory is that you've been getting by with the weaknesses in your resume because the tech market hasn't seen a major downturn for awhile. From skimming your blog, it doesn't seem like you're an unskilled developer, but that's how your resume presents you.
Others pointed out that you don't mention impact, just responsibilities, and this is 100% the thing you need to fix. Apologies for the handwaving with somewhere (read this on my phone, replying on my desktop), but somewhere you said you were thinking like a dev and someone else backed you with a "we're not MBAs". I strongly encourage you to drop this dichotomy from your mental model. You should be curious about the impact of your work, whether it's to benefit the business, your coworkers, or some technical process. Your resume reads like that of someone who did what they were told and not a lick more. I've worked with people like that and I cannot give them ownership over projects. You're selling yourself as a liability.
But there's good news, judging from your blog you have had impact, so it just comes down to figuring out how to sell it. (sidebar: everyone is in sales, in this case you are selling yourself, this shouldn't make you uncomfortable, just think of it of making it easier for hiring managers to say "yes, I would like to take to this person / take a chance on them / think they will do well on the team).
Taking an example from your resume: "Wrote a server for participants to connect to and be given challenges to solve collaboratively in real time." How many participants? How much compute did you need to process this? What was the server response time? How would anyone look at this line and know you did a good job? Not just "well, they did the job, but was it good?".
Writing resumes for this approach is a skill. I'm guessing you will be a little unpracticed, but that's fine. I first switched my mindset on this about a decade ago and took 3 - 4 hours to learn the basics of LaTeX (I was tired of formatting in MS Word) and followed the advice laid out here: https://careercup.com/resume. You probably have enough experience where 2 pages might actually be fine. (it doesn't have to be LaTeX, I just gave it a try, found that I liked the end results, and have been slowly adding to my knowledge here or there)
Also, your GitHub profile is a mess. You're not putting a consistent good foot forward in your popular repositories. libtweak is pretty strong (imo, README could serve to have a "here's where I used it" section because I assume you used it for your games) but github-code-reviews is a much smaller scoped project. Pick your most impressive ones and figure out how to show just those. I've also found the advice listed here to be helpful: https://blog.boot.dev/jobs/build-github-profile/.
IMO, the two column layout has to go. Also, I'd separately call out your personal homepage and your GH profile. Expecting busy recruiters to click through GH and see your personal page is not a strategy for success.
tl;dr; you're presenting what appears to be good experience poorly, but the good news is that this is easier to fix than getting the experience in the first place
Re: GitHub, you're right, it is kind of bad. I'm proud of some contributions I've made to other people's projects but you can't pin a PR. My own repositories are largely old or experimental. I'd consider not putting the Github link in at all, but I've had recruiters say it was vital to have it. I might make some private projects public just so I can show them off.
Also much appreciate the advice re. focusing on impact. Difficult to add hard figures retrospectively but I'll see what I can do.
Thanks again for taking the time to give all that advice.
Re: hard figures retrospectively. I've been in this boat before. Here's what I did. I would tell the recruiter / hiring manager / etc that I made a little c conservative estimate from my notes. While it probably is less impressive than the actual number, I wanted to err on the side of correctness over unearned praise for when I couldn't get the exact number.
This also led to me updating my resume about 1x / quarter, which I am currently behind so time to take my own advice and do that this evening. But the goal here is to regularly update so you can find the hard numbers if you need to. Plus, the market being what it is, you'll never know when layoffs will come a-knocking.
Others pointed out that you don't mention impact, just responsibilities, and this is 100% the thing you need to fix. Apologies for the handwaving with somewhere (read this on my phone, replying on my desktop), but somewhere you said you were thinking like a dev and someone else backed you with a "we're not MBAs". I strongly encourage you to drop this dichotomy from your mental model. You should be curious about the impact of your work, whether it's to benefit the business, your coworkers, or some technical process. Your resume reads like that of someone who did what they were told and not a lick more. I've worked with people like that and I cannot give them ownership over projects. You're selling yourself as a liability.
But there's good news, judging from your blog you have had impact, so it just comes down to figuring out how to sell it. (sidebar: everyone is in sales, in this case you are selling yourself, this shouldn't make you uncomfortable, just think of it of making it easier for hiring managers to say "yes, I would like to take to this person / take a chance on them / think they will do well on the team).
Taking an example from your resume: "Wrote a server for participants to connect to and be given challenges to solve collaboratively in real time." How many participants? How much compute did you need to process this? What was the server response time? How would anyone look at this line and know you did a good job? Not just "well, they did the job, but was it good?".
Writing resumes for this approach is a skill. I'm guessing you will be a little unpracticed, but that's fine. I first switched my mindset on this about a decade ago and took 3 - 4 hours to learn the basics of LaTeX (I was tired of formatting in MS Word) and followed the advice laid out here: https://careercup.com/resume. You probably have enough experience where 2 pages might actually be fine. (it doesn't have to be LaTeX, I just gave it a try, found that I liked the end results, and have been slowly adding to my knowledge here or there)
Also, your GitHub profile is a mess. You're not putting a consistent good foot forward in your popular repositories. libtweak is pretty strong (imo, README could serve to have a "here's where I used it" section because I assume you used it for your games) but github-code-reviews is a much smaller scoped project. Pick your most impressive ones and figure out how to show just those. I've also found the advice listed here to be helpful: https://blog.boot.dev/jobs/build-github-profile/.
IMO, the two column layout has to go. Also, I'd separately call out your personal homepage and your GH profile. Expecting busy recruiters to click through GH and see your personal page is not a strategy for success.
tl;dr; you're presenting what appears to be good experience poorly, but the good news is that this is easier to fix than getting the experience in the first place