Season the chicken. Pat the chicken pieces dry and sprinkle lightly with salt and pepper on all sides.
This first layer of seasoning helps flavor the meat.
Make the buttermilk brine. In a large bowl, whisk together buttermilk, hot sauce, and eggs. Add the chicken and toss to coat. Cover and refrigerate for at least 2 hours, or up to overnight for the juiciest results.
Mix the coating. In a separate large bowl, combine flour, cornstarch, salt, black pepper, paprika, garlic powder, onion powder, cayenne, and thyme or oregano.
Stir well so the spices are evenly distributed.
Set up your dredging station. Remove chicken from the buttermilk, letting excess drip off. Place it on a rack. Keep the flour mixture nearby.
Line a sheet pan with a rack for the coated chicken to rest.
Dredge for the first coat. Toss a few chicken pieces at a time in the flour mixture. Press the coating into the chicken so it adheres. Shake off excess and place on the rack.
Double-dip for extra crunch. Dip each coated piece back into the buttermilk, then return it to the flour mixture for a second coat.
Press firmly. Set back on the rack and let it rest 10–15 minutes so the coating sets.
Heat the oil. Pour oil into a heavy pot to a depth of about 2 inches. Heat to 325–350°F (165–175°C).
Use a thermometer for accuracy. Maintain this range throughout frying.
Fry in batches. Add chicken pieces carefully, without crowding. Fry dark meat for about 12–15 minutes, white meat for about 10–12 minutes, turning occasionally.
Aim for deep golden brown and an internal temperature of 165°F (74°C).
Drain and season. Transfer fried chicken to a clean rack set over a sheet pan. Sprinkle lightly with salt while hot. Let rest 5–10 minutes to finish carryover cooking and keep the crust crisp.
Serve. Enjoy hot with your favorite sides like coleslaw, biscuits, mashed potatoes, or honey.
The crust should be crisp, the meat tender and juicy.