Understanding the evolution of altruism requires knowledge of both its constraints and its drivers. Here we show that, paradoxically, ecological constraints on altruism may ultimately be its strongest driver. We construct a two-trait, coevolutionary adaptive dynamics model of social evolution in a genetically structured population with local resource competition. The intensity of local resource competition, which influences the direction and strength of social selection and which is typically treated as a static parameter, is here allowed to be an evolvable trait. Evolution of survival/fecundity altruism, which requires weak local competition, increases local competition as it evolves, creating negative environmental feedback that ultimately inhibits its further evolutionary advance. Alternatively, evolution of resource-based altruism, which requires strong local competition, weakens local competition as it evolves, also ultimately causing its own evolution to stall. When evolving independently, these altruistic strategies are intrinsically self-limiting. However, the coexistence of these two altruism types transforms the negative ecoevolutionary feedback generated by each strategy on itself into positive feedback on the other, allowing the presence of one trait to drive the evolution of the other. We call this feedback conversion “reciprocal niche construction.” In the absence of constraints, this process leads to runaway coevolution of altruism types. We discuss applications to the origins and evolution of eusociality, division of labor, the inordinate ecological success of eusocial species, and the interaction between technology and demography in human evolution. Our theory suggests that the evolution of extreme sociality may often be an autocatalytic process.