Make the caramel: Add sugar and water to a small saucepan and melt over medium heat. The sugar water will bubble a lot at first, then as the sugar caramelizes the bubbles will get bigger but slower and the mixture will turn amber. You can swirl the pan if the sugar is caramelizing unevenly, but do not stir or the sugar will crystallize.
Once the sugar turns amber, turn off the heat and stir in 1 tablespoon of HOT water. It needs to be hot or the caramel will harden. The caramel will sizzle a lot when you add the hot water, so be careful and keep your face away from the saucepan.
Quickly transfer the caramel to purin molds/jars. You can dip the bottom of the jars in hot water first so the caramel doesn't harden right away, but I usually skip this.
Set the caramel aside at room temperature while you prepare the purin filling.
Make the filling: Add all filling ingredients except soy milk to a blender and blend until smooth.
Pour the filling into a saucepan and gently stir in soy milk.
Bring the mixture to a boil over medium heat and stir constantly. Once boiling, reduce heat to medium low and simmer 1 minute. Remove from heat.
Strainthe filling: Place a small sieve over the purin molds and strain the filling into the purin molds, on top of the caramel.
Tap the purin molds on the counter a few times to remove air bubbles.
Loosely cover the purin with plastic wrap and cool at room temperature for 15 minutes. Tightly cover the purin and chill in the fridge until thickened, at least 30 minutes.
To serve, you can eat the purin straight out of the container, or invert the purin onto a plate so the caramel covers all the purin. If you have trouble removing the purin, gently slide a small rubber/silicone spatula or knife around the edge of the purin to release the sides, then invert onto a plate.