Start by placing your oven rack in the middle position and preheating your oven to 325°F (160°C). While the oven heats, lightly grease a 9x13 inch baking pan with butter.
Take your cassava flour and baking powder and sift them together into a bowl. This removes any lumps and helps make your cake tender.
In your large mixing bowl, beat the softened butter until it's smooth and creamy, about 2 minutes. Add your sugar little by little while mixing, and keep beating until the mixture becomes light and fluffy, about 3 more minutes.
Separate your eggs, keeping both the yolks and whites. Add the egg yolks one at a time to your butter mixture, beating well after each one. Now start adding your sifted flour mixture and milks (both evaporated and coconut) a little at a time, mixing gently in one direction. Stir in your vanilla extract and macapuno.
In a clean, dry bowl, beat your egg whites until they form stiff peaks – when you lift the beater, the peaks should stand straight up. Now comes the gentle part: fold these beaten whites into your batter in three portions, using a light hand to keep the air in the mixture.
Pour your batter into your greased pan and pop it in the oven for 20-30 minutes. You'll know it's ready for the next step when the top is set but not completely done.
While your cake is in its first bake, mix all your topping ingredients together: egg yolks, sweetened condensed milk, and coconut milk. Once the cake is set, take it out of the oven and pour your topping mixture evenly over it.
Return the cake to the oven for another 20-30 minutes. Your cassava cake is done when the topping turns a beautiful golden brown and the center barely jiggles when you gently shake the pan.
Let your cake cool completely before cutting – this makes for cleaner slices and lets the flavors develop. Serve at room temperature and enjoy your homemade cassava cake.