That's super cool. I think the latency comes from tx building and NOT broadcasting, which means room for improvement. Could try pre-building the tx and broadcast when user press button
From my experience, the tx is near instant via bitsocket - so I think the tx pre-build approach should work :)