1. Download Charles via the official download page
2. From Charles, Proxy at the top -> Proxy Settings... -> macOS tab -> uncheck everything
3. From where you just were, go to the Proxies tab -> take note of the port (usually 8888) and Enable transparent HTTP proxying -> Press OK
4. Hold Option on your keyboard + Click on the WiFi icon in the top nav bar to get your IP Address
5 (Android). Go to your device's WiFi settings -> press and hold your connected network -> press Modify network -> expand Advanced options -> set Proxy to Manual -> input the IP Address found on your Mac into Proxy hostname -> set Proxy port to the one found in step 3 (usually 8888)
5 (iOS). Go to your device's WiFi settings -> press the "i" icon on your connected network -> set Configure Proxy, located at the bottom, to Manual -> input the IP Address found on your Mac into Server -> set Port to the one found in step 3 (usually 8888)
These instructions might vary slightly depending on your device's OS version, so be cognizant of that.
6. On your mobile device, navigate to https://www.charlesproxy.com/getssl/ to download configuration profile and Install Profile.
7 (only relevant for iOS 10.3 or later). Settings -> General -> About -> Certificate Trust Settings -> Enable the certificate for the date that you downloaded it
8. Fire up Charles and view all the network calls as the middleman in all its glory!! :D