Bloom the gelatin: Sprinkle gelatin over 2 tablespoons cold water in a small bowl. Let it sit 5 minutes until spongy.
If using xanthan gum instead, skip this step.
Warm the dairy: In a medium saucepan, add heavy cream and almond milk. Heat over medium-low until steaming, not boiling. You want it hot enough to dissolve sweetener but not scalding.
Whisk the yolks and sweetener: In a separate bowl, whisk egg yolks, erythritol (or allulose), and salt until smooth and slightly lighter in color.
If using stevia or monk fruit drops, wait and add them later to fine-tune sweetness.
Temper the eggs: Slowly drizzle 1/2 cup of the hot dairy into the yolk mixture while whisking constantly. This gently warms the yolks so they don’t scramble.
Cook the custard: Pour the tempered yolk mixture back into the saucepan. Cook over low heat, stirring constantly with a silicone spatula, until it thickens slightly and coats the back of the spatula, about 5–7 minutes.
Do not boil.
Add gelatin: Remove from heat and stir in the bloomed gelatin until fully dissolved. If using xanthan gum, sprinkle it in while blending with an immersion blender to avoid lumps.
Flavor it: Stir in vanilla and 1/2 teaspoon banana extract. Taste and adjust: add a few drops more banana extract if needed and stevia/monk fruit to round out sweetness.
If using a tiny bit of real banana, whisk it in now.
Strain for silkiness: For the smoothest pudding, strain the mixture through a fine-mesh sieve into a clean bowl or large measuring cup.
Chill: Divide into 4–6 small ramekins or one larger dish. Press a piece of plastic wrap directly onto the surface to prevent a skin. Chill at least 3 hours, preferably overnight, until set.
Serve: Whip extra heavy cream with a pinch of sweetener for a soft topping.
Add keto-friendly vanilla wafers, toasted coconut, or a few shavings of dark chocolate for texture.