First, prepare your cassava. Peel the cassava roots and wash them well under running water. Cut them lengthwise and remove the woody core in the middle. Grate the cassava finely.
Put your grated cassava in a cheesecloth and squeeze out as much liquid as you can. Do this 2-3 times until the cassava is quite dry. Let it rest in a colander for 5 minutes to drain more.
Next, grate your fresh coconut. Take 2 cups of the grated coconut and set it aside for the cake. Keep the rest for making coconut milk later.
To make coconut milk for the topping, take the remaining grated coconut and add 2 cups of warm water. Squeeze it through the cheesecloth to get the milk. Do this again with 1 cup of warm water. Keep this coconut milk for later.
Now make your cake mixture. In a large bowl, mix together your squeezed cassava, 2 cups grated coconut, brown sugar, and salt. Mix everything well and let it sit for 10 minutes. The mixture should be moist but not watery.
Get your steamer ready. Fill it with water and start heating it to a boil.
While waiting for the water to boil, grease your molds with a little coconut oil. Fill each mold about ¾ full with your cassava mixture. Put some shredded young coconut on top of each one. Cover the molds with foil.
Once your steamer is boiling steadily, put in your molds and steam them for 20-25 minutes.
While the cakes are steaming, make your topping. Put your coconut milk and condensed milk in a saucepan over medium-low heat. Keep stirring until it thickens a bit, about 5 minutes. You'll know it's ready when the sauce coats the back of your spoon.
To check if your cakes are done, stick a toothpick in the middle - it should come out clean. The top should be set but still soft.
Let the cakes cool in their molds for 5 minutes. Then carefully take them out onto your serving plates.
Pour your warm coconut-condensed milk sauce over each cake. Sprinkle lots of toasted pinipig and coconut on top.
Serve and eat while warm!