In a bowl, combine the flour, baking soda, baking powder, and salt. Stir these together and set them aside for now.
In your mixing bowl, beat the shortening and sugar together until nice and fluffy.
Add in the vanilla and coconut flavoring. Mix those in.
Add half of the dry mixture to the creamed mixture, mixing until just combined.
Add half of the buttermilk, again mixing until just combined. Repeat with the other halves of the dry ingredients then the remaining buttermilk.
Make sure to scrape the bowl with a rubber spatula to get everything mixed in together well.
Whisk your egg whites until they are frothy, then fold them into the cake batter.
Pour the batter into a 9x13 inch cake pan that has been greased & floured or sprayed with baking spray.
Bake 30-35 minutes or until a wooden pick inserted in the center comes out clean.
Place the cake on a cooling rack and allow it to cool completely.
To frost the cake:
In your mixing bowl, beat the butter and Neufchatel cream cheese together until fluffy. Add in the powdered sugar a little at a time and mix until fully combined.
Add in the vanilla extract, coconut flavoring, and coconut rum. Beat the frosting together until nice and creamy.