Every day, 1 million visitors generate 7 million ad views and submit 6,600 leads on Autotrader. We want these interactions to be the most relevant for each visitor, ensuring they have an optimal experience on our site — whether that means tailoring listing recommendations for buyers or highlighting high-priority leads for retailers. I’m going to break down how we’ve achieved this using Spark structured streaming, transitioning away from a purely Java application.