Wear rubber gloves to peel the sayote. Cut each sayote in half lengthwise, remove the core, then slice into uniform bite-sized pieces. If you don't have gloves, rub the cut surfaces of the sayote together for 30 seconds until a white foam appears – this removes the sticky sap.
Peel and chop the onion. Peel and mince the garlic cloves. Chop the tomatoes into small pieces. Peel and devein the shrimp, then cut each into 3-4 pieces.
Heat your pan over medium heat (350°F/175°C). Add the oil and wait until it shimmers. Add the minced garlic and cook for 30 seconds until fragrant. Add the chopped onions and cook for 2 minutes until they become clear.
Add the chopped tomatoes to the pan. Cook for 3-4 minutes, gently pressing them with your spoon until they soften and release their juices.
Turn the heat to medium-high (375°F/190°C). Add the chopped shrimp to the pan. Cook just until they turn pink, about 2-3 minutes. Remove the shrimp and set aside.
Pour the hot water into the pan. Add the oyster sauce and stir until well combined. Add all the sliced sayote pieces. Cover the pan and reduce heat to medium-low (325°F/163°C). Let it simmer for 15-20 minutes, or until the sayote is tender but still slightly crisp when pierced with a fork.
Return the cooked shrimp to the pan. Season with salt and pepper to taste. Stir gently to combine everything and cook for another minute until the shrimp is heated through.
Serve hot with steamed rice. For extra flavor, serve with patis (fish sauce) on the side for diners to add to taste.