Prep the shrimp: Pat shrimp dry with paper towels. This helps them sear instead of steam.
Make the marinade: In a medium bowl, whisk together lime zest, lime juice, cilantro, olive oil, garlic, cumin, chili powder, smoked paprika, salt, pepper, and red pepper flakes.
Marinate briefly: Add shrimp to the bowl and toss to coat.
Let sit 10–20 minutes at room temperature. Don’t go longer than 30 minutes or the lime juice can start to toughen the shrimp.
Cook the base: Warm your rice. If you want cilantro-lime rice, stir in chopped cilantro, a squeeze of lime juice, a drizzle of olive oil, and a pinch of salt.
Make the crema: Stir sour cream (or yogurt) with lime juice, cilantro, salt, pepper, and a splash of water until drizzleable.
Set aside.
Sauté the shrimp: Heat a large skillet over medium-high. Add a little olive oil. Lay shrimp in a single layer and cook 1.5–2 minutes per side until pink and opaque with light char.
Work in batches if needed to avoid crowding.
Warm corn and beans: In the same pan, add corn and black beans with a pinch of salt. Stir just until heated and slightly blistered, 2–3 minutes.
Assemble the bowls: Divide rice among bowls. Top with shrimp, corn, black beans, shredded cabbage, avocado, and pico de gallo.
Add toppings: Drizzle with cilantro-lime crema, sprinkle cotija, and add extra cilantro.
Serve with lime wedges.
Taste and adjust: Finish with a squeeze of lime and a pinch more salt if needed. A little extra acidity wakes everything up.