Preheat oven to 400 degrees F. Lightly grease a 9×13 baking dish with nonstick cooking spray.: The warm air of the oven will begin to soften the zucchini shells so they cradle the filling without collapsing. You should notice a gentle, faintly sweet vegetable scent as the oven comes to temperature. A common mistake is not preheating fully, which can lead to uneven roasting, so wait until the oven reaches the target temperature before placing the pan inside.
Trim the ends of the zucchini and slice in half horizontally. Score zucchini 1/4 inches from the edges with a knife then scoop out flesh using a teaspoon or melon baller, leaving 1/4” shell all the way around to create a “boat.” Reserve 1/2 cup chopped flesh to use later and save the rest for another use.: As you scoop, you will feel the resistance of the raw zucchini flesh, and small wet shavings will collect in your bowl. Scoring helps you maintain a sturdy rim so the boats do not break during baking. One pitfall is scooping too deep and weakening the walls; stop at that 1/4 inch rim to keep the vessel intact.
Place zucchini boats in baking dish and coat well with the olive oil. Sprinkle with freshly cracked salt and pepper. Cover with foil and bake zucchini for 25 minutes.: The olive oil will sheen on the surface and encourage gentle browning at the edges. Covered baking steams the shells a bit so they soften evenly, and when you remove the foil you should be able to pierce them with a fork easily. Overbaking can make the boats too limp, so watch the time and test for tender but still intact shells.
Meanwhile, add all of the Shrimp Ingredients to a bowl and stir to combine. Let sit while you chop your veggies.: Letting the seasoning rest on the shrimp helps the spices bloom and adhere better when searing. You will notice the aroma of the chili powder and cumin intensify as they sit. A common mistake is under seasoning; taste the finished filling and adjust salt and pepper at the end.
Heat 2 tablespoons olive oil in a large skillet over medium-high heat. Add shrimp in a single layer and cook 2-3 minutes per side, just until opaque and cooked through. Remove to a plate and chop off tails once cool enough to handle.: When the shrimp hits the hot oil you will hear a lively sizzle and smell the spices toasting. Cook until the flesh turns opaque and the edges curl slightly; this signals they are done. Avoid overcooking as shrimp become rubbery quickly. Let them rest briefly before chopping so the juices redistribute.
To the now empty pan (don’t clean), heat one tablespoon olive oil over medium high heat. Add onions, corn, zucchini and jalapenos and cook for 2 minutes. Add bell peppers, tomatoes, 1/4 teaspoon salt and 1/4 teaspoon pepper and cook an additional 2 minutes or until veggies reach desired crisp tenderness. Add garlic and sauté 30 seconds.: The pan will carry flavor from the seared shrimp , which deepens the sauté. You want the vegetables to sing with a little caramelization, hearing a soft pop from the corn and smelling the sweet onion as it softens. Adding the garlic at the end prevents burning, which would lend bitterness to the filling.
Add shrimp back to pan along with lime juice and cilantro. Season with additional salt and pepper to taste.: When the shrimp rejoins the vegetables you will see the mixture come together visually, with pops of orange bell pepper , green cilantro , and kernels of corn . The lime juice will brighten aromas immediately. Taste and adjust seasoning; too little salt can make the dish flat, so be bold but measured.
Divide shrimp mixture between zucchini boats and garnish with Cotija cheese and additional cilantro if desired. Serve immediately.: Stuffing while everything is warm preserves texture and delivers the best mouthfeel, where the tender zucchini meets warm filling. The crumble of Cotija cheese on top adds a salty contrast. A common oversight is letting the boats sit too long, which can cause the shells to become overly soft, so serve right away for peak enjoyment.