Rajesh Krishnan presents a case study of rewriting a customer analytics and personalization system using Apache Spark. The original system was based on SQL and scripts that was difficult to scale and flexibly use different data sources. The new Spark-based system reduced code by 80-85%, used 50% less memory and 25% less compute, and was 20% faster. It provided a flexible framework that could handle different data sources and algorithms. The key was to understand the roles of different stakeholders and have the right mindset including patience, focus, and willingness to change approaches.