In addition to the great answer Michael provided I would say the following.
Frankly speaking the question misses some important specific like "on which exactly step does the process fail". Since you described some high-level e2e case, the failure might appear not only as the submittion result. For example the button might not work because you are using different versions of the site (e.g. you are using mobile version, and your friend is using desktop version or tablet version) or even different types of clients like web and mobile application, it also might not work because of the different screen size which makes the layout be different and causing some transparent elements overlap Submit button and intersect click events.
However, basically if Dev Tools are available for the browser then what you mentioned
- Open Developer Tools, and check the Console for any Java Script error messages.
- Check the Network tab and see the response code of all the API calls.
seems to be pretty much enough for debugging and I would start from those steps not to waste time.
Check Internet connection. Try to navigate to a non-cached web page such as your banking application.
Your network tab will show if there are connection issues. Navigating to the bank site would not make you sure if everything is okay with your connection since the page might refer to a number of resources and some of them might be blocked by your firewall for example whilst others are not.
Check the image size. Is it too large? Try uploading a smaller image.
Normally you will get error message with the post response saying there are some issues with your file or there will be a client-side failure in JS console. Having no failure message you would not know either your image is "too large" or "too small".
Are you using a supported web browser?