I hear this a lot, but there are many things for which you can use both, so they're competitors. Also most Rust developers want to use it everywhere, including areas where you normally reach out to C, so if people that like Rust want to use it for things that are usually made with C, and Zig is a replacement for C, it seems to me they're competitors, no?
my issue with doing web development without frameworks is how to best manage the app state. In react things like redux help with this, but in my experience state management becomes a mess without frameworks, maybe it's a skill issue on my side I don't know.