In a medium bowl, combine fish pieces, jalapeño peppers, garlic, and 2 tbsp. chopped cilantro; stir well.
Pour in lime juice just enough to cover and gently press down with a spoon to make sure the fish is submerged.
Cover the bowl and refrigerate for 2 ½ to 3 hours.
About ½ hour before removing the fish from the fridge, in a large bowl, add shallots with a pinch of salt and pour in warm water, enough to cover; let it rest for about 10 minutes.
Drain them in a fine sieve and transfer back to the bowl.
Combine the drained shallots with bell peppers and tomatoes. Add ¼ cup lime juice, stir and let the mix marinate for at least 10 minutes. It can also be prepared ahead of time and refrigerated until ready to mix with fish.
Once the fish is cooked, it should be completely white (opaque), remove it with a slotted spoon and discard jalapeños, seeds and garlic cloves; reserve ¼ cup lime juice.
Add the marinated shallot mixture to the fish. Add remaining chopped cilantro, reserved ¼ cup lime juice, oil, and ground sea salt; stir. Add freshly ground black pepper and hot sauce; taste and adjust if needed.
Let it rest for 25 to 30 minutes at room temperature before serving.