I have de-veganized this recipe from "Vegan Cupcakes Take Over the World" by Isa Chandra Moskowitz and Terry Hope Romero. I did this because I think the egg gives it some stability and a lighter tastier texture. Also, I'm not vegan so I don't really have anything against using eggs.
They go great with Thai food or any summery meal accented with lime. Although these are easy to make, they lose much of their tasty texture when you put them in the refrigerator. (They become very hard due to the coconut oil.) Make the cupcakes the day before, leave them out overnight and frost and add decorative coconut and lime slices right before you serve them. This also prevents the lime slices from wilting and the coconut from getting soggy.
If necessary, heat the coconut oil in a pan. While the oil is still warm, add the sugar.
Add the coconut milk, egg, vanilla extract, coconut extract, and lime zest. Make sure the mixture is cool enough before you add the egg.
Add flour, baking soda, baking powder, salt, and shredded coconut.
Fill a cupcake lined cupcake tin about 3/4 of the way. (This recipe makes a dozen.) Bake for 24 minutes.
Let cool before frosting.
To make the frosting, beat the shortening and margarine until smooth, then add sugar and beat. Add vanilla and lime juice and beat until smooth and fluffy. If the frosting becomes too soft on a hot summer day, stick it in the fridge for 30 minutes to get a texture that is easier to frost with.
I like to dump a load of frosting on top and then place the flaked coconut on top by hand (so that they don't break). Add a slice of lime on top to make them look really cute.