In a large pot, add the brown rice and enough water to cover by 3-inches. Bring to a boil over high heat, then reduce the heat to medium to maintain a gentle boil for 30-35 minutes, or until the rice is cooked through, stirring occasionally. Drain thoroughly, then transfer back to the pot and spread into a thin layer to cool off.
In a large pot over medium heat, add the oil, onion, and ½ teaspoon salt. Cook for 3-5 minutes, stirring occasionally, until softened.
Stir in the garlic, curry powder, and black pepper for about 10 seconds. Then stir in the tomato paste and cook for 30 more seconds, stirring often.
Stir in the coconut milk, water, soy sauce, veggies (if using asparagus, don’t add yet, see note), and remaining 1 teaspoon salt. Increase the heat to high and bring to a boil, then reduce the heat to medium-low to simmer rapidly for about 10 minutes, or until veggies are tender and liquid has reduced a bit.
In the last 2 minutes of cook time, add the shrimp. Increase the heat to bring the broth back to a simmer, then reduce the heat again and simmer for the remaining 2 minutes, or until shrimp are cooked through. Remove from heat and stir in the lime juice.
Serve the shrimp curry over rice and top with fresh herbs.