Your system will appeal to the intersection between people who like gambling and people who like donating to charities.
Even among them, I don’t see why anyone would prefer putting 100$ in your web3 thingie instead of just donating 50$, gambling with 45$, and buying a beer with the 5$ they would lose to you… well, there are a lot of stupid peculiar people (especially among crypto bros), so you might actually be ok.
About the implementation, the 50% to charities should be transferred automatically… what’s the point of a smart contract if people must trust you to “check the total donations and create a donation on The Giving Block”?
PS:
IDK about the US, but where I live gambling is regulated very strictly: make sure to double check with a lawyer before getting into trouble.
Syncthing or unison might be what you want