Brew your coffee: Brew a strong cup of coffee or espresso. If using instant coffee, dissolve in a small hot-water splash. Let stand to cool.
Warm the dairy & sugar: In a saucepan over medium heat, combine milk, heavy cream, and half the sugar. Heat gently until steam rises and tiny bubbles skirt the edges. Take care not to bring to a boil.
Whisk together yolks & sugar: Meanwhile, in a bowl, whisk the egg yolks with the remaining sugar until the mixture turns lighter in color and a little fluffy.
Temper the yolks: Slowly pour about ½ cup of the hot dairy mixture into the yolks, whisking constantly (to avoid scrambling). Then pour that mixture back into the saucepan with the rest of the dairy.
Cook into custard: Over medium-low heat, stir constantly until the custard thickens enough to coat the back of a spoon (aim for ~170-175°F / 77-80°C). Do not let it boil.
Stir in coffee, vanilla & salt: Remove from heat. Add the cooled brewed coffee (plus optional instant if using), vanilla extract, and pinch of salt. Stir well.
Chill well: Strain the mixture through a fine mesh sieve into a clean bowl to catch any cooked bits. Cover and refrigerate until very cold; best overnight.
Churn: Pour into your ice cream maker. Churn per manufacturer’s directions until it reaches soft-serve consistency.
Harden: Transfer into a freezer-safe container. Smooth the top, cover, and freeze for at least 4 hours (or until firm).