Prep the lettuce cups: Gently separate the lettuce leaves, rinse, and pat dry.
Choose the larger, cup-shaped leaves. Keep them chilled for extra crunch.
Make the lime crema: In a small bowl, whisk sour cream (or yogurt), mayo (if using), lime zest, lime juice, and a pinch of salt. Adjust with more lime if you like it tangy.
Set aside.
Mix the spice blend: In a separate bowl, combine chili powder, smoked paprika, cumin, garlic powder, onion powder, salt, pepper, and cayenne if using.
Season the shrimp: Pat shrimp dry with paper towels. Toss with oil and the spice blend until evenly coated.
Cook the shrimp: Heat a large skillet over medium-high. Add a drizzle of oil, then the shrimp in a single layer.
Cook 1.5–2 minutes per side until pink and opaque. Squeeze fresh lime over the shrimp right in the pan.
Prep toppings: While shrimp cooks, slice avocado, shred cabbage, and chop cilantro. Slice onion thinly so it doesn’t overpower.
Assemble: Lay out lettuce leaves.
Add a small bed of cabbage, then shrimp, avocado, onion, and cilantro. Drizzle with lime crema. Finish with a squeeze of lime and a sprinkle of salt.
Serve immediately: These taste best when the shrimp are warm and the lettuce is crisp.
Add hot sauce or cheese if you like.