In a large bowl, mix the flour, sugar, baking soda, and salt. Add water, oil, vanilla, and vinegar, then whisk until the batter is smooth. Fold in the shredded coconut.
Grease two 8-inch cake pans and pour the batter evenly into each.
Bake for 30-35 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool completely before frosting.
For the frosting, beat the softened cream cheese until smooth. Gradually add the powdered sugar until fully combined. Add the heavy cream and coconut extract, then beat until stiff peaks form.