Warm the base: In a medium saucepan, add half-and-half and milk.
Heat over medium-low until warm and steamy, but not boiling. Aim for small wisps of steam, not bubbles.
Whisk in the flavor: Add cocoa powder and whisk until fully dissolved with no dry streaks. Stir in espresso (or instant espresso), vanilla, almond extract (if using), and salt.
Sweeten it up: Whisk in sweetened condensed milk until the mixture is smooth and uniform.
Taste and adjust sweetness if needed.
Add the creamy tang: Off the heat, whisk in mascarpone or cream cheese until fully incorporated. If you see tiny specks, keep whisking or blend briefly with an immersion blender for silkiness.
Cool and bottle: Let the creamer cool for 10–15 minutes, then pour into a clean glass bottle or jar. Seal and refrigerate.
Serve: Shake well before each use.
Start with 1–2 tablespoons per 8 ounces of coffee and adjust to taste.