Amanda Rettke, the food blogger behind I am Baker and the cookbook author of Surprise-Inside Cakes, goes beyond classic desserts with her creative ideas for making amazing over-the-top cakes. Here are her step-by-step instructions for how to make her stunning surprise-inside rainbow heart cake.

1. Set a rack in the center of the oven, then preheat the oven to 350°F. Prepare two 8-inch round cake pans with nonstick spray.

2. Sift together the cake flour, salt, and baking powder into a large bowl and set it aside.

3. In a standing mixer using the paddle attachment or in a large bowl, cream the butter and sugar on medium speed for about 2 minutes, or until light and fluffy.

4. In a large measuring cup, combine the milk, vanilla, and almond.

5. Add one-third of the flour mixture to the butter mixture and blend on a low speed for about 30 seconds. Add one-half of the milk mixture and blend until just combined. Add in half of the remaining flour mixture and blend until just combined. Add the remaining milk mixture, blend for a few seconds, then the remaining flour mixture and blend at low speed until the ingredients are just incorporated.

6. Pour the batter into a large bowl and clean the stand mixer bowl. Switch in the whisk attachment.

7. Add the egg whites and beat them on medium to medium-high speed to firm peak stage. (When the whisk is held sideways, the peaks will hold and the ridges will be distinct. It's okay if the tips of the peaks fold back on themselves.) Then gently fold the egg whites into the cake batter.

8. Transfer the batter to the prepared cake pans. Place the cakes on the center rack of the oven and bake them for 20 to 26 minutes, or until a toothpick inserted into the center of the cake comes out clean. Let the pans cool for 5 to 10 minutes. Carefully remove cakes and set them on wire racks until they reach room temperature.

For the Basic Buttercream:

Combine the butter, shortening, vanilla, and salt in a standing mixer using the paddle attachment (or in a large bowl with a hand mixer). Add the confectioners' sugar 1 cup at a time, alternating with the milk or heavy cream, and blend until you have used it all. If the frosting is too thick, add more milk. If it is too thin, add more confectioners' sugar.

For the Simple Syrup:

Combine 1 cup sugar and 1 cup water in a saucepan and bring to a boil. Stir occasionally until the sugar dissolves, then cool the syrup to room temperature.

3. Using the offset spatula, cover the top of 1 layer in a thin coat of 1/4 to 1/2 cup buttercream and top with another layer.

4. Repeat with the 2 remaining cake layers. You now have two 2-layer cakes.

Susan Power Photography

5. Refrigerate the cakes for 4 hours to overnight or freeze them for at least 1 hour.

6. Make the batter for the third recipe of white cake. Divide the batter among 6 bowls, about 1/2 cup to 3/4 cup batter per bowl.

7. Add 4 to 6 drops of food coloring to each bowl to make batter in each shade: red, orange, yellow, green, blue, and purple. (You can always modify the recipe to have 7 layers if you're a purist and want to see indigo in there!)

8. Bake each color in a 6-inch cake pan, working in batches depending on how many pans you have. Bake for just 10 to 12 minutes.

Susan Power Photography

9. Set the colored cakes aside to cool, then remove them from the pans. Stack the layers with parchment between them. Start with red on the bottom: Weight can often flatten cakes a bit, so at this stage, stack them in the opposite order they'll appear in the cake.

10. Freeze the stack for about 30 minutes, or until firm but not fully frozen.

11. When you're ready to begin carving, remove the 2-layer cakes from the freezer.

Susan Power Photography

12. Remove the rainbow layers from the freezer, turn them red layer up, and measure the stack to determine its height. The total height of my rainbow stack is about 4 inches. That means I need to carve down approximately 2 inches into each layer cake. Place the stack back in the refrigerator or freezer.

Susan Power Photography

13. Place a 3-inch cookie cutter in the center of each 2-layer cake and gently press down enough to make a shallow guideline.

Susan Power Photography

14. Start on the bottom of the cake (or the V part of the heart). Mark a toothpick or skewer at 2 inches and press it into the center of the cake just to the 2-inch mark.

Susan Power Photography

15. Insert a thin, sharp knife at the guideline at about a 45-degree angle; you should feel the bottom of the toothpick with the knife. Cut around the perimeter of the circle.

Susan Power Photography

16. Remove the cone shape and put this layer cake back into the refrigerator or freezer.

Susan Power Photography

17. Insert the marked toothpick or skewer into the center of the second 2-layer cake to the 2-inch mark. At a 45-degree angle, insert the knife at the guideline again, but almost vertically. You're trying to make a valley with a raised point in the center; this is the top of the heart. Move the knife in around the cake in one smooth motion, making sure your knife goes in only about 2 inches deep.

Susan Power Photography

Susan Power Photography

18. Next, insert the knife at a 45-degree angle into cake closer to the center of the cake. In one smooth motion, cut an even inner circle to make a channel, cutting only about 2 inches deep. Remove the section you've carved out. Put the layer cake back in the fridge or freezer if it's at all crumbly; it needs to be very chilled.

Susan Power Photography

19. Using a soup spoon, carve around the channel to make a smooth, rounded top to the heart. Remember to carve out a bit of the "wall" of the heart, but stay within the guideline so that the top and bottom halves will match up nicely. If your cake feels too soft or crumbly, just place it in the freezer for a bit.

Susan Power Photography

20. Remove the rainbow layers from the refrigerator and have ready the simple syrup and a glazing brush.

21. Place the red layer next to the cake with the channel cut from it. Eyeball where the center is and cut a circle from the red layer. Use the 4-inch cutter to trim around the edges to be sure it will fit the cavity of the cake.

22. Carefully place the red layer into the cavity. If it doesn't fit, remove it and make the necessary cuts and adjustments. A very chilled cake will allow you to handle it with less risk of breaking.

Susan Power Photography

23. Once the red layer fits snugly, gently brush it with no more than 1 tablespoon of simple syrup.

Susan Power Photography

24. Now set the orange cake layer next to the cake. Estimate how much you'll need to trim from around the edges and to remove from the center so that it fits snugly in the cavity. This can be a rough estimate--it doesn't need to be perfect. Make the cuts and adjustments, then gently place the orange layer into the cake and brush it with simple syrup.

Susan Power Photography

25. Next, lay in the yellow layer, which will only need to be trimmed around the edges. Set this cake in the refrigerator or freezer and bring out the other 2-layer cake.

26. Lay out the purple layer. Roughly estimate the size of the bottom third of the cavity where the cone was removed; a small cone of purple cake goes there. Insert the knife at a 45-degree angle and cut out a small cone from the purple cake.

Susan Power Photography

27. Insert the purple cone into the cavity of the white cake. If you've miscalculated the size of the purple cone, go back and make another--you have plenty of cake! Brush with a thin layer of simple syrup.

Susan Power Photography

28. Repeat with the blue layer; making the circle slightly larger. Brush with a thin layer of simple syrup.

Susan Power Photography

29. Finally, trim off the edges of the green layer so that it fits snugly on top of the blue layer.

Susan Power Photography

30. Spread a thin layer of buttercream around the top perimeter of the white cake, avoiding the green cake.

Susan Power Photography

31. Remove the other cake from the refrigerator, invert it, and carefully place it on top so that the yellow layer meets the green layer.

32. Freeze the cake for at least 2 hours. Don't skip this step! It's important to make sure those individual layers inside really bond together.

33. Cover the cake in a crumb coat. Place the cake in the refrigerator for about an hour to set.