Cut the fish into ½-inch cubes and place in a glass bowl; the pieces should be uniform for even curing.
Pour lime and lemon juice over the fish until fully submerged; gently stir to coat.
Cover and refrigerate for 20–30 minutes, stirring once halfway, until the fish turns opaque and firm to the touch.
Drain off most of the citrus juice, leaving a few tablespoons for moisture and flavor.
Add red onion, jalapeño, tomatoes, cilantro, salt, and pepper; gently fold until evenly combined.
Carefully fold in diced avocado and drizzle with olive oil if using; taste and adjust salt if needed.
Chill for 10–15 minutes to let flavors meld, then serve immediately while fresh and vibrant.