Preheat oven to 375°F (190°C). Line 2 baking sheets with parchment paper, or silicone mat.
In a medium saucepan, combine water, butter, sugar and salt. Slowly heat the mixture over medium heat, stirring frequently to dissolve sugar and melt the butter. Once sugar is dissolved and butter is melted, increase the heat to medium high heat and bring the mixture to a boil.
Meanwhile, sift the flour.
When the butter mixture comes to a boil, remove the saucepan from heat and add flour all at once. Quickly mix the mixture until all the flour is absorbed. (We just made panade!)
Put the saucepan back to burner and reduce the heat to medium. Cook the dough, continuously mixing with a wooden spoon. The dough will start to form into a ball. Keep mixing for another 3-4 minutes until light crust forms on the bottom of the pan. (Note: It’s important to cook for at least 3-4 minutes to dry out the panade.)
Transfer the dough into a mixing bowl with paddle attachment and mix it for a few minutes on low speed until the mixture is at room temperature, about 2 minutes. (No mixer? No problem. You can mix it with a wooden spoon!)
Then add eggs one at a time, mixing the batter well after each addition. This will help to get egg absorbed into the dough quicker. Don’t add more than 2 eggs at a time! This is important, as you might not need to add all the eggs. The dough should be smooth and shiny, thin enough to slowly fall into a ribbon, but too runny.
Transfer the batter into a large pastry bag, fitted with a round or star tip. Rest the batter for at least 1 hour at room temperature, or refrigerate for up to 2 days. (Note: Make sure to close any opennings to avoid drying out the batter.)
Pipe the batter into 4-inch skinny logs at least 2 inches apart. Level the peaked tops with a wet fingertip.
Bake the shells for 30-35 minutes, or until the shells are puffed up and golden brown, one baking sheet at a time. (Note: Don’t open the oven door the first 25 minutes.)
Once the shells are baked, cool until safe to handle, cut out 2 wholes on the bottom using a round piping tip, or simply make a small slit on the side of shells, using a small sharp paring knife. Arrange the shells back on the baking sheet with the holes facing up. And bake them again for another 5 minutes. This dries out the inside of pastry shells and make them extra crisp.
Transfer the shells onto a wire rack and cool completely before filling.