First, set all of your cups/ramekins out on the counter so you're ready to pour in the panna cotta mixture (and make sure you have enough room in your fridge for all of them!).
Then, make the panna cotta! Put the 3 Tbsp of cold water into a shallow, wide bowl and sprinkle the gelatin over the water so that all of the powder gets some liquid/can hydrate. Let sit on the counter away from the stove for 5-10 minutes to bloom/hydrate.
Separately, start warming your coconut cream and sugar in a small-medium saucepan over med-low heat – stirring constantly so that the mixture does not boil or burn. Using a candy thermometer attached to the pan, heat the mixture until it reaches 170° F then turn off the heat, remove the thermometer, and stir in the bloomed gelatin (make sure you scrape all of it into the cream!), salt, and ube extract until fully combined. Finally, add in the coconut milk and stir until smooth. If you're worried about lumps, strain liquid through a sieve. Then pour the mixture evenly into your six receptacles.
Place six cups/bowls carefully in the fridge and let chill for at least 8 hours or just overnight (we made ours right before bed).
Once the panna cotta has set, it should be still a little jiggly but should stay in the cups if turned over. You can find instructions online for turning your panna cotta out onto plates to serve, though we like to serve it still in the glasses, especially if you're using nice dessert cups/glasses! Plus, it's way faster if you need a fancy dessert served in a pinch!
Finally, top each of your panna cotta with about a tablespoon of toasted coconut flakes! To toast coconut flakes, heat them in a flat-bottomed frying pan (no oil), stirring constantly, until golden brown, then remove from heat immediately and pour flakes onto paper towels to cool. Once your panna cotta is topped with coconut, serve! Keep refrigerated until serving.