I'd like to know the most common way people are creating these web wallet services for monero. I know there's a few different languages being used as well as bash/shell scripting, but can anyone give me a summary of exactly how it works, or point me to a website that has that info?
To much to explain, but in short: frotnend sends private viewkey and address to the backend. Backend scans the blockchain, using your viewkey and address for incoming transactions to you. At the same time, it makes guesses about possible outgoing transactions. Only guesses are possible, because backend does not have spendkey. Found your incomming txs are send to frontend along with possible spendings. The frontend, because it has spendkey, can filter out incorrectly guessed spendings, thus giving you the correct balance.
I can point you to full source code of a web wallet (OpenMonero) and its working example on testnet
It contains both fully open sourced frontend and backend, so that you can even host it yourself. The backend has a lot of comments explaining what it does. You can also make issues on github if something is not clear.