Prepare several hours or a day ahead to allow it enough time to reduce and cool prior to serving.
In a small saucepan, combine onion, peppers, ginger, garlic, and salt over medium-low heat. Cook until softened but not browned. Add the remaining ingredients and stir well. Once the sugar begins to dissolve, turn the heat to low. Let simmer and reduce, stirring occasionally, for about 2 hours.
Let cool to room temperature and use right away or store covered in the fridge and serve cold. It will thicken as it cools.
Make the shrimp:
Rinse and pat the shrimp dry with paper towels. Leave the tails on for added flavor or remove for easy eating.
In a medium mixing bowl, combine shrimp with oil/ghee and vanilla. Stir to coat evenly. Note that if the shrimp are very cold and you are using butter or coconut oil, it may begin to harden and clump. Sprinkle with garam masala, turmeric, salt, and chili powder, if using. Stir to coat evenly.
Heat a skillet to medium-high heat and add the shrimp, stirring to cook evenly and quickly until just barely opaque (about 2 minutes). Alternatively, place the shrimp on a well-greased baking sheet and broil on high on the highest rack of your oven for 1-2 minutes or until just barely opaque.
Make the topping:
Over medium-high heat, heat the remaining oil in a small skillet. Add the mustard and cumin seeds. In about 1-2 minutes, they will sizzle and pop and the cumin will brown a bit. Serve right away.
To serve:
Transfer the cooked shrimp to a serving dish. Drizzle with the topping, then scatter with chopped cilantro. Serve with rice and mango chutney.