Preheat oven to 180 degrees Celsius (350 degrees Fahrenheit)
Place the coconut oil in a large bowl and melt over a saucepan of boiling water or in the microwave (skip this step if using any other oil)
Once melted, add the milk to the same bowl along with the vinegar, maple syrup, vanilla, salt and ground almonds
Sift in the flour, baking powder, bicarbonate of soda and cocoa powder
Mix well, adding a tiny splash more milk if it’s looking too dry
Transfer the mixture into a greased baking tin lined with baking paper (either a round tin or a square tin is fine- I used a 23cm/9inch square baking tin)
Bake in oven for 20-30 minutes until risen slightly and an inserted skewer comes out clean
Once out the oven, transfer the cake onto a wired rack and leave to cool completely before applying the frosting
For the buttercream:
Cook the sweet potatoes by boiling, steaming or roasting them until very soft and tender
Discard any skins, and add to a food processor or blender (or hand-held blender) along with all other ingredients
Whizz until completely smooth
Taste and adjust ingredients as necessary – add more maple syrup for sweetness, more tahini etc
Leave to cool before using to frost the cake
To frost and decorate:
Once the cake is completely cool, spread the buttercream evenly over the top
Scatter over cacao nibs and freeze-dried raspberries if desired
Tastes best on the day it's made, but keeps covered in the fridge for up to a few days