to build a resilient & flexible system, you need iteration. it’s inevitable. a system can only prove its value when exposed to multiple different contexts. if it fails to adapt to a new context, it’s not a great system yet. as you iterate on multiple contexts, the system will progressively adapt to cover more edge cases, and patterns will start to emerge naturally. this takes time, effort and refactoring – you have to put in the work & not be afraid to break things in the process