Preheat the oven to 180°C (350°F) for a conventional oven (see note 1 for adjustments when using a convection oven with a fan). Grease two 8-inch cake pans (I use homemade cake release for greasing) and line the bottoms with parchment paper. Set aside.
Sift together the flour, cornstarch, baking powder, baking soda, and salt. Whisk the ingredients together until well combined, then set aside.
In a large bowl, combine the unsalted butter, oil, and sugar. Using a hand or stand mixer, beat on medium-high speed for 2 minutes until the mixture is light and fluffy.
Next, add the egg yolks and mix on low speed until well incorporated. Then, add the vanilla extract, almond extract, and buttermilk. Mix on low speed until fully combined. Scrape any batter off the mixer attachments, as the remaining mixing will be done by hand.
Add the sifted dry ingredients to the wet mixture and gently fold them together with a spatula until just combined, being careful not to overmix.
Now, gently fold in the shredded coconut and roughly chopped pecans until evenly incorporated. Again, do not overmix. Set the batter aside.
In a thoroughly cleaned bowl (see note 2), add the egg whites. Using a clean electric mixer, whip the egg whites on medium speed for about 2–3 minutes, until stiff peaks form.
Add ⅓ of the whipped egg whites to the cake batter and gently fold with a spatula until almost combined, being careful not to deflate too many air bubbles. Then, add the remaining egg whites and fold gently until just combined. Avoid overmixing.
Divide the batter evenly between the two prepared cake pans and bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Allow the cakes to cool in the pans for 20 minutes before turning them out onto a wire rack to cool completely.
Once the cakes have cooled, prepare the cream cheese frosting and assemble the cake. For detailed assembly, refer to the blog post or recipe video.