Sometimes a platform limit turns into a design lesson.
We had a workflow that pushed large request bodies through an API Gateway. It worked — until we ran into a hard constraint on payload size.
Instead of forcing a workaround, we stepped back and changed the architecture.
The shift was simple in principle:
- The API focuses on orchestration and validation
- Large data movement happens outside the request lifecycle
- Processing runs asynchronously, with progress visible to the user
Success wasn't "everything finished before the response." It became "accepted, observable, and resilient."
That single change improved reliability, reduced coupling, and made the user experience feel faster — even though the actual processing didn't change much.
The reminder: Constraints often point to better boundaries in system design.