Track Record

Tim Hortons Roll Up the Rim to Win — Online Double-Play, 2015

Roll Up the Rim to Win® is the spring contest Tim Hortons® has run since 1986 — the under-the-rim ritual that turns every coffee cup in the country into a lottery ticket for a few weeks each year. By 2015, the contest had picked up a digital companion: a website where someone holding a winning cup could type the code from under the rim, take a second shot at a different prize, and find out instantly whether that second shot had paid off. That site, for that year, is what this engagement built.

The double-play

The mechanic was a layer added on top of the original analog game. A winning cup still won what it said it won — a coffee, a doughnut, a higher-tier prize on the lucky cups. The online surface offered something different: enter the same code at the website and take a second draw, with a prize pool the original cup didn’t have access to. A reader who came in holding a coffee won could leave the site holding the chance at something larger.

The build had to take a code printed on a paper roll inside a coffee cup, decide whether it was authentic, decide whether it had already been redeemed, decide what prize tier it drew from, log the entry, and return an answer that the entrant could trust within seconds. At the contest’s scale, every one of those decisions had to hold up under millions of entries compressed into a few weeks.

ASP.NET, because the rest of the stack was Microsoft

This was one of the few engagements in my career where I worked in ASP.NET. The rest of the campaign’s surrounding infrastructure was Microsoft-shop, and the right call when a senior practitioner steps into someone else’s stack is to write the new code in the language the existing team will continue to maintain, not in the language I’d reach for if the choice were starting from scratch. A stack decision is a maintenance decision. Maintenance happens long after the developer who made the original call has moved on.

That principle is part of why a senior engineer doesn’t introduce themselves by their preferred stack. The stack the work needs is rarely the stack you’d build a personal portfolio in. The work is the work.

Audit trails are the actual job

A national contest at this scale is, underneath its branding, a regulated system. Every entry could be a winning entry. Every winning entry will eventually be examined — by the prize-fulfilment team, by the contest’s outside auditors, and, when something out of the ordinary happens, by lawyers. The build has to be the kind of system whose audit trail will answer questions nobody is asking yet, because the questions will arrive after the contest is already over and the digital surface is already taken down.

Here is what that meant in practice that year. A neighbour of mine in rural New Brunswick won one of the cars. The kind of coincidence that, in a country of forty-million-odd people running a contest with millions of entries, lands on someone every year. Because the winner happened to live near a developer who had touched the contest’s code, the prize-validation team did the extra step they would do in any case of that shape — a formal legal review to confirm no connection between the developer and the win, on the record, in writing. The records answered the question the moment it was asked. The neighbour got the car. The contest moved on. That is what an audit trail is for: not for the cases everyone expects, but for the one out of millions where someone has to be able to show their work.

The records held because they had been built to hold. That is the part of contest-software work that doesn’t show up in a marketing brief and doesn’t make it into the campaign launch announcement, but it is the part the lawyers and the auditors are looking for the moment something unusual lands on someone’s desk.

  • Platform: ASP.NET (matching the campaign’s existing Microsoft stack)
  • The build: Double-play online entry layer for the year’s Roll Up the Rim to Win contest — code authentication, redemption tracking, prize-tier draw, instant-result return, full audit trail
  • Period: Spring 2015 contest season
  • Client: Tim Hortons — Roll Up the Rim to Win campaign

Where this pattern transfers

Any high-volume, prize-bearing, time-bounded promotion has a version of the same architecture problem. Manufacturer rebate programs. Scratch-and-win promotions tied to product packaging. National lottery second-chance draws. Retail loyalty redemption events. The marketing brief talks about the surface — the look, the messaging, the prize hierarchy — but the build is mostly about the parts the marketing brief assumes will simply work: authenticity, idempotency, audit, the formal record that survives the campaign and answers the questions that arrive after the campaign has ended.

The visible deliverable was the double-play site, live for the few weeks of the spring contest and taken down when the season ended. The work that survived the season was the records.

Product names referenced on this page — including Microsoft — are trademarks or registered trademarks of their respective owners. Training offered here is independent and is not affiliated with, endorsed by, or sponsored by any of these companies.

Have a project in mind? Book a discovery call.