TL;DR: You have to reimplement the application or features to understand the "why" regarding technical decisions.