Use a small, sharp knife to carefully trim away some (but not all) of the thick part of the cabbage stems. The idea is to make them less thick, so that they're easy to roll and eat later.
Fill a large, deep saucepan with water and bring to the boil. Drop the cabbage leaves in one or two at a time and blanch for 10-20 seconds, or just until soft. Remove, drain and refresh under cold water, then drain well.
Blanch, refresh and drain the other vegetables, one type at a time. Blanch carrots and beans for 2-3 minutes, and blanch spinach and bean sprouts for 20 seconds.
Assemble some of each filling ingredient along a cabbage leaf, roll tightly, then trip away the raggedy ends and slice each roll into two portions. Repeat until you've used up your ingredients. Arrange the rolls on a serving platter ready to serve, or refrigerate for later.
For the peanut sauce:
Use a mortar and pestle or food processor to grind the peanuts, garlic, shallot and chilli together, as smooth as possible.
Heat coconut oil in a small frypan (skillet) until medium hot, then add the peanut mixture. Fry, stirring constantly, for a few minutes or until fragrant and darkening in colour a little.
Add kecap manis and palm or coconut sugar, and stir through.
Add water, stirring, until you reach a consistency you like. I used about 1 cup of water. Cook for a few more minutes, and adjust the water again if needed (it'll thicken as it cooks).
Add lime juice, taste and adjust seasoning with more lime juice and up to ½ teaspoon of salt as needed.
Serve gado gado rolls with peanut sauce, which is best served warm but can be used at any temperature.
Notes
Gado gado roll ingredient quantities are estimated and flexible.
I used New Zealand shallots, which are approximately thumb-sized.
Use one chilli with seeds removed for a mildly spicy peanut sauce. Use more, and/or leave the seeds in for a spicier sauce.
To make this sauce gluten free, replace the kecap manis with tamari and add another 1 tablespoon of palm or coconut sugar, to taste.