The existence of extremal combinatorial objects, such as Ramsey graphs and expanders, is often shown using the probabilistic method. It is folklore that pseudo-random generators can be used to obtain explicit constructions of these objects, if the test that the object is extremal can be implemented in polynomial time. In this paper, we pose several questions geared towards initiating a structural approach to the relationship between extremal combinatorics and computational complexity. One motivation for such an approach is to understand better why circuit lower bounds are hard. Another is to formalize connections between the two areas, so that progress in one leads automatically to progress in the other.