Derives First Zap / Regular / Generous / Patron / Top 10 from the batched 30-day supporter leaderboard and shows earned vs locked badges in the profile sidebar. Client-side recognition only — publishes no events.