Combine the spices (cinnamon, ginger, cardamom, and cloves) in a small bowl and stir to combine. For a finer consistency, put the spices in a spice grinder.
Combine the boiling water, tea bags, and spice mixture and steep for 10 minutes.
Once the mixture is done steeping, remove the tea bags and stir. If you didn't use a spice grinder, strain the mixture to remove the excess spices. Line a strainer with a couple of layers of cheesecloth. Position the strainer over a pitcher and pour the mixture through to remove the spice particles. You now have homemade chai concentrate to use in this and other chai recipes. Note that this is unsweetened, and when using the concentrate in other recipes, you may want to add a sweetener such as simple syrup or other flavored coffee syrups.
Combine the caramel bits and half-and-half in a small saucepan and heat over low to medium heat.
Once the caramel bits have almost melted and the milk is warm, pour it into a small bowl.
Use a hand mixer to add froth and to break up any remaining pieces of caramel. Once the caramel is thoroughly mixed in, add the vanilla extract.
For the iced version, fill your favorite Mason jar with ice. Pour the vanilla/caramel milk into your mug and add 1/4 cup chai concentrate. Stir.
Finish with homemade soft top by combining the heavy whipping cream and dry pudding mix. Use the mixer and mix for approximately 5 minutes until it forms stiff peaks. You will need to mix it for longer than you think, so keep mixing if it has yet to form stiff peaks! Scoop the soft top onto your drink and finish with a generous drizzle of caramel syrup or melted caramel bits. Enjoy!