I'll add to this a general take I have about "improving" the world: there is a metric ton of stuff to do in the world, and there aren't enough people to do it, and being the
best at what you do is in no way necessary if your goal is to be useful or to produce meaningful things that make people's lives better.
There are so many problems in the world that aren't solved literally because nobody has solved them, because the scope is gigantic and the people available who want to work on them or who are willing to work on them is very small in comparison.
Many of those tasks aren't sexy, and they might not have broad appeal, but... I mean, I ported another person's gameboy emulator to a format that worked in NodeJS and had basically one API change so that you could run the project headlessly without a graphics stack, and so you could advance the emulator frame-by-frame after inspecting memory. It's a garbage project, I have no idea how emulators work. And yet, I've had people contact me on Discord and ask questions about it and go through support chats and thank me for building it.
Was I the best suited person to do that? No. Could pretty much anyone at all with any experience build a better end result then I did? Yes. Heck, it would be trivial for someone to jump in, fork my project and improve it. And yet. The very specific niche case I coded it for didn't have a solution, and then it did have a solution.
Sometimes that's enough. People underestimate how easy it is to be useful and to make the world better in small ways. It does not require you to perfect a skill, it just requires showing up and putting in some work and doing the best work that you can. And sometimes it means not asking "what's the biggest impact problem in the world", and instead asking "what's any problem that's close enough to me to solve that nobody is paying attention to?"