Preheat the oven to 350°F. Grease and line an 8"x8" (or 9"x9") baking pan with parchment paper.
In a stand mixer or a large bowl, beat together the coconut oil, applesauce, and both sugars until thoroughly combined. Whisk in the eggs and vanilla extract until smooth.
Add the gluten-free flour, baking soda, baking powder, salt, and spices to the bowl. Use a spatula to gently stir them together on top, then fold the wet and dry ingredients together just until combined. Fold in the grated carrots.
Pour the batter into the prepared baking pan. Bake for 30-40 minutes, until a toothpick inserted in the centre comes out clean. Mine usually takes 35-40 minutes. If using a 9"x9" pan, begin to check the cake with a toothpick around 30 minutes as it may bake quicker.
Allow the cake to cool in the pan for at least 30 minutes, or until it is cool enough for you to lift it out of the pan with the parchment paper. Place on a wire rack to cool completely, about 2 hours.
While the cake cools, make the cream cheese icing. Place the softened butter in the bowl of a stand mixer and beat with the paddle attachment (or in a large bowl using a hand mixer) for 2-3 minutes until fluffy. Slowly add the icing sugar and beat until combined. Add the vanilla extract and scrap the sides with a spatula. While running the mixer on medium speed, add the cream cheese cubes one at a time. Mix until they are just incorporated. Over-mixing cream cheese icing will cause it to break down and have a runnier texture.
Place the completely cooled carrot cake on a serving board. Use an offset spatula to spread the cream cheese icing all across the top of the cake. It will be a thick layer of icing. Top with candy or crushed nuts. Use a sharp knife to slice the cake into 9 large pieces or 16 smaller pieces. Be sure to wipe the knife after each cut for clean edges. Enjoy!