In a medium bowl, whisk together the sour cream, lemon juice, lemon zest, minced garlic, Dijon mustard, fresh dill, red pepper flakes, sea salt, and black pepper until well combined and smooth. Taste and adjust seasonings as needed—the dressing should be tangy, herbaceous, and well-balanced. I like to let this sit for a few minutes before adding the other ingredients so the flavors have time to meld together.
Bring a pot of salted water to a boil over high heat. Add the shrimp and cook for 2-3 minutes, stirring occasionally, until they turn pink and opaque throughout. Immediately drain the shrimp in a colander and transfer to a bowl of ice water to stop the cooking process. Once cooled completely, drain again and pat dry with paper towels, then cut into 1/2-inch chunks. This quick cooling prevents the shrimp from becoming rubbery and ensures a tender texture in the final salad.
While the shrimp cools, dice the celery into 1/4-inch pieces, peel and cut the cucumber into 1/2-inch cubes, and finely dice the red onion. Keep the vegetables separate until assembly to maintain their individual textures and prevent the red onion from discoloring the other ingredients.
Add the cooked shrimp from Step 2 and the prepared vegetables from Step 3 to the creamy dressing base from Step 1, folding gently to combine without breaking up the shrimp or vegetables. If using avocado for added creaminess, fold it in at the very end to prevent browning. Taste and adjust seasoning if needed before serving.
Transfer the shrimp salad to serving dishes or plates. Garnish generously with fresh dill and a light sprinkle of smoked paprika for color and a subtle smoky note. Serve chilled or at room temperature, depending on your preference.