We rebuilt scoring from an hourly batch job into a 15-minute rolling window. Here is the architecture, the tradeoffs, and why naive graph aggregation fails at network scale.