If I recall correctly it's also pretty straightforward to maintain parts of the code for a specific architecture, like component.ios / component.web - expo (or RN, I don't know tbh) handles the correct packaging.
Good luck, and please share out it goes.