There was a period on a Django project where a simple question of "is this field actually used on the frontend?" would trigger a small investigation. You'd check the backend, grep through the React code, and ask someone who might know. The answer was always in there somewhere, but it was never in one place. Not like anyone was being careless. There just wasn't a contract. So every question got answered by digging. My stack is Go on the backend and Flutter on the frontend. Before I settled on the current approach, adding an endpoint meant the same work twice. Define request and response structs in Go, wire the handler, add middleware. Then repeat the whole model layer in Dart, and build a repository around Dio to actually call it. Every change paid the same tax. Low-grade, but it compounds. The fix I landed on isn't novel in isolation: generate code from an OpenAPI spec. But the way it fits together took a few projects to get right. The spec isn't documentation.…