Preheat the oven to 200°C (400°F). Grease the muffin pan well, or line with paper cases.
Whisk the flour, baking powder, bicarbonate of soda, salt and pepper together in a large bowl.
In a jug or separate bowl, whisk the sourdough discard, eggs, milk and melted butter until smooth.
Pour the wet mixture into the dry and fold together with a spatula until just combined. A few streaks of flour are fine. Don't overmix, or the muffins turn tough rather than tender.
Spread the grated courgette over a few sheets of kitchen paper and press firmly (not a full wring) to remove the worst of the surface water. Fold it through the batter along with most of the cheddar (save a handful for the top) and most of the spring onion.
Divide the batter evenly between the 12 muffin cups, filling each almost to the top.
Scatter the reserved cheddar over each muffin, with a final crack of black pepper. This is what gives you the crackly, lacy cheese edge as it bakes.
Bake for 20–24 minutes, until well risen, deep golden and a skewer inserted into the centre comes out clean. Check the centre specifically, not just the edges, as this batter is denser than a standard muffin mix. The cheese on top should look bubbled and crisp.
Cool in the tin for 5 minutes, then turn out onto a wire rack. Best eaten warm, ideally with the crackly bits still crisp.
Notes
1. Press, don't wring, the courgette. A firm press between kitchen paper removes the unpredictable excess water without stripping out the moisture that keeps these tender.2. Grate your own cheddar. Pre-grated bagged cheese is coated to stop it clumping, which also stops it melting and crisping properly on top.3. Want more crunch instead of the cheese top? Swap the topping for a savoury crumb: rub 20g cold butter into 30g plain flour and 20g grated parmesan until it looks like breadcrumbs, then scatter over before baking.