Preheat your oven to 350°F (175°C). Line a cupcake pan with cupcake liners.
In a large mixing bowl, cream together the softened butter and sugar until light and fluffy using an electric mixer.
Add the eggs one at a time, mixing well after each addition.
In a separate bowl, whisk together the flour, cocoa powder, baking soda, baking powder, and salt.
Gradually add the dry ingredients to the wet ingredients, alternating with the buttermilk, beginning and ending with the flour mixture. Mix until just combined.
Stir in the vanilla extract and purple food coloring until you achieve your desired color.
Fill the cupcake liners about two-thirds full with batter.
Bake in the preheated oven for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cupcakes to cool in the pan for 5 minutes, then transfer to a cooling rack to cool completely.
While the cupcakes are cooling, prepare the cream cheese frosting by beating the softened cream cheese and butter together until smooth.
Gradually add the powdered sugar, mixing until combined. Add the vanilla extract and a pinch of salt, and mix until the frosting is light and fluffy.
Once cupcakes are cool, frost them using a piping bag or a spatula.