Preheat the oven to 180°C. Grease and line a cake tin.
Sift the flour, baking powder and salt in a bowl then crumble it with the butter. Add the sugar, coconut and zest. Combine well.
In another bowl, mix the egg with the milk and vanilla. Add this to the crumbs, stirring until you get a smooth batter.
Transfer the batter into the tin and spread it evenly.
Bake the cake for 30-40 minutes, until golden brown and an inserted skewer comes out clean.
Rest the cake in the tin for 5-10 minutes.
Meanwhile, prepare the coconut butter-cream. Mix the butter with the vanilla, coconut cream & milk, add icing sugar to your liking. Add the lime zest, if using, and stir until creamy then add enough desiccated coconut to get a spreadable paste.
Take the cake out of the tin, let it cool on a wire rack, then cover the top and sides with the coconut butter-cream. Sprinkle the top with desiccated coconut.
Rest in the fridge for the butter-cream to set.