Pile the diced pepper, onion, and garlic at the center of a large rimmed baking sheet. Coat in the olive oil, 1/2 teaspoon salt and 1/4 teaspoon pepper (reserve remaining salt and pepper). Gently toss and then spread the vegetables across the baking sheet in an even layer. Roast in a pre-heated 400° oven for about 20 minutes or until softened and slightly browned. Remove from the oven and let cool on the baking sheet until ready to use.
Meanwhile combine the eggs, milk, flour, baking powder, 1/2 teaspoon salt, and 1/4 teaspoon pepper in a large bowl (reserve remaining salt and pepper). Whisk vigorously (or use an immersion blender for optimal results) until everything is thoroughly combined. Then gently stir in the chopped herbs and roughly two-thirds of the gruyere cheese (reserve remaining cheese). Set aside.
Lightly spray a 10-inch oven-proof skillet (preferably cast-iron) with cooking spray. Add the butter to the pan and melt over medium-low heat. Arrange the potato slices in a single layer across the bottom of the pan and up the sides (they should overlap slightly to eliminate any major gaps). Use the thicker pieces of potato on the bottom and the thinner pieces up the sides. Sprinkle with 1/4 teaspoon salt and let cook for 5-6 minutes over medium-low heat until slightly translucent.
Pour the egg-herb-cheese mixture over the potato crust. Sprinkle the roasted vegetables and remaining gruyere cheese evenly over top. Give the entire frittata a finishing sprinkle of 1/2 teaspoon salt and then carefully transfer the skillet to the middle rack of a pre-heated 400° oven. Let cook for roughly 20 minutes or until puffed-up and fully set.