We present a simple framework for proving tight hardness of approximation. In this framework, the question of proving lower bounds is reduced to the (simple) task of proving graph product inequalities. The technique has been used to prove new hardness results for almost 10 problems so far.