For the cake, preheat oven to 325F and spray a 9×5 inch loaf pan with coconut oil spray.
In a medium bowl, whisk together almond flour, shredded coconut, protein powder, baking powder, baking soda and salt. In a large bowl, beat coconut oil and granulated erythritol until well combined. Beat in egg whites and coconut extract. Beat in half the almond flour mixture, then beat in almond milk and then remaining almond flour mixture. Spread batter in prepared loaf pan and bake 50 minutes, or until golden brown and just firm to the touch.
Remove and let cool in pan for 15 minutes, then loosen around edges with a sharp knife and turn out on to a wire rack to cool completely. When cake is completely cool, cut horizontally into 3 even layers.
Place a metal bowl and beaters into the freezer for 5 minutes. Remove can of coconut milk from fridge and turn upside down. Open with a can opener and pour off the coconut water (reserve for another use). Scoop out the solidified coconut cream left in the can and place into the chilled metal bowl.
Beat until whipped and creamy, then add powdered erythritol and vanilla extract and beat until combined. Lay the bottom layer of cake on a serving plate and spread with half of the coconut cream. Add the middle layer and top with remaining coconut cream. Top with the final layer of cake.
In the metal bowl, beat whipping cream, powdered sweetener and vanilla or coconut extract until stiff peaks form. Spread over top and sides of cake. (Alternatively, you can use another can of chilled coconut milk to make more coconut cream frosting).
Sprinkle top and sides of cake with toasted, shredded coconut. Chill at least two hours to firm up before serving.