Preheat oven to 350°F. Line two cookie sheets with silpat liners or parchment paper.
Cream butter and sugar in the bowl of a stand mixer fitted with the paddle attachment. Beat in egg and both extracts. (Almond extract is optional, but adds amazing flavor!) Mix in baking soda, cream of tartar, and salt. Slowly mix in flour. **See note for a fun funfetti twist**
Scoop 2 tablespoon balls of dough (use a cookie scoop if you have one) onto cookie sheets.
Bake for 10-12 minutes (10 for slightly underdone, 11-12 for more done). I like to take them out as soon as the bottom starts to turn brown (about 10 minutes for my oven). Cool 5 minutes before removing from cookie sheets. Place on a wire rack to cool completely before frosting.
Make the frosting: Beat butter until creamy with a hand or a stand mixer. Mix in salt if desired. Slowly add in powdered sugar until mixture is crumbly. (It will be very crumbly if using a hand mixer, more smooth if using a stand mixer.) Add vanilla and 3 teaspoons milk. Mix until the frosting comes together and becomes smooth, adding additional teaspoons of milk as needed for consistency. If you want your frosting to be a color, tint it now.
Frost cookies and decorate with sprinkles. Store at room temperature loosely covered. Frosting will semi-dry and cookies are stackable but some frosting may transfer.