The sample site was unable to locate the balance or transfer funds because of the outdated Web3 provider login method. I've ported over the one code from the Pet Shop tutorial because it worked.
Init and InitWeb3 were also made async just like the Pet Shop tutorial.