Thanks for reading! Yeah it's the sort of problem you don't really think about until it's staring you in the face.
It's always re-assuring to hear other devs coming up with the same/similar solutions as me. Makes me feel like I'm not crazy lol. If you do end up using either solution and scaling it, let me know!