Why We Built a Personalization Engine (And Why It Doesn't Use an LLM) | ExecReps Blog