Preheat oven to 350 degrees. Grease two 8 or 9 inch round cake pans and sprinkle with tapioca flour if youre making a layer cake. Otherwise, line a muffin tin with baking cups.
Mix together the coconut flour, tapioca flour, salt, xanthan gum, baking soda, and baking powder. Set aside.
Beat the eggs, sugar, and mayonnaise until fluffy.
Then slowly add the vanilla, flour mixture, and milk. Alternating between the flour and milk to make a nice fluffy cake. Note- I usually use just barely under 3/4 C of the milk alternative.
Pour the batter into the greased cake pans or fill the baking cups 3/4 full (makes 24 cupcakes).
Bake for 20-25 minutes for the cakes or 12-15 minutes for the cupcakes. Cakes are done when they are nicely browned and spring back when lightly touched or when a toothpick inserted in center comes out clean.
Let cool completely before icing.
Bring a small saucepan of water to a boil.
Place a heatproof bowl over the saucepan (make sure the water isnt touching the bottom) and add the chocolate and butter.
Stir until melted. Then, add the remaining ingredients.
Place uncovered in freezer for 15 minutes.
Beat with hand mixer until light and fluffy. If its too runny, place back in freezer a few minutes and repeat process until the icing is a good consistency.