Community Events
A shared odometer for a live player base, and a first run designed to measure rather than to win.

Players join, race, and their mileage accrues to one shared odometer. If the community clears the Bronze, Silver, and Gold thresholds, the rewards unlock for everyone who joined, not just the players who logged the most miles.
I built a new event service with a cron-driven schedule that opens and closes the window, and surfaced event state through APIs the game client consumes via the SDK. In-game race telemetry flows to Kafka and onward to the data lake; the event service subscribes to the race-completed stream and aggregates from it, with Redis holding each player’s own contribution alongside the community total. Those two numbers have different requirements — the community total can lag a few seconds and nobody notices; a player’s contribution gates reward eligibility and has to be right. That is the same split Audience Hub needed, in a much smaller system: different guarantees by the cost of being wrong.
The calibration decision is the one that mattered. A shared goal has an ugly failure mode: set the threshold too high and every participant gets nothing, so on day one the feature reads as broken to the entire player base. The threshold could not be guessed, because it depends on aggregate throughput nobody had measured. So the first run shipped unmarketed, on a low-traffic day, with week-over-week race data setting the initial tiers. The event measured the community’s floor before any goal was promoted as real. The deliverable was a reusable scheduling and aggregation service plus a number nobody had.
- A Community Odometer: calibrating a shared goal against a live player baseThe full architecture and the calibration run, with diagrams.
- No Limit Drag Racing 2 on the App StoreThe shipped iOS build this event ran in.
- No Limit Drag Racing 2 on Google PlayThe same title on Android, published by Battle Creek Games.