Starbucks is one of the most valuable food and beverage brands in the world. Their clientele typically spends $1,100 a year in their stores, so having a fun and engaging way for customers to track those rewards is paramount.

Our good friends at Rally Interactive had already built out the iOS and Android versions of the rewards experience and asked us to help build out a Windows version that was identical to the other platforms. We worked closely with Rally, and they were a great resource for us when we had questions around how the physics worked.

The rewards experience we needed to imitate in the Windows version consumes the user’s rewards data from Starbucks, sets the user’s rewards tier, calculates how many stars they need, and then pours the stars into a cup on a screen.  All of this happens in fractions of a second.

Since we had never done any kind of Windows development before, we reached out to some of our buddies at Daz3D who were more familiar with it. The feedback we received was that Windows Universal was so new that we were going to have a hard time finding a quick and easy solution. 

With that in mind, we bought a Microsoft Surface computer and started to learn how to build apps in the Windows ecosystem. We learned from Microsoft online developer courses and from users in the Windows Development StackOverflow community.

The iOS and Android versions used Box2d as their physics engine. This didn’t work in Windows Universal, so we found a physics library called Spritehand Physics Helper that incorporated Farseer Physics Engine for the platform. The difference of the forces being applied was significant between the two libraries, so we had to tweak variables over and over to make sure that the Windows version felt just like the other existing versions.

The finished product was a fun and satisfying experience for users. Stars float in space with zero gravity, bouncing off each other when they collide. As you touch the screen, the center of gravity shifts to where the screen is being touched, causing all stars to zoom to that spot.

And when a user reaches the maximum number of stars, it indicates that a reward is available. All an excited user has to do is tap the screen to make the cup explode with stars shooting outwards in celebration.

This project was great because we gained some awesome experience working with physics in a game-like environment. We also learned a lot about building Windows apps and working in C#. There were a ton of takeaways from C# that we now apply to our everyday workflow with Javascript, which is what we typically work in. Overall, we were excited to get the opportunity to learn so much so quickly and collaborate with old friends.


Riley Bracken

Let's talk

about your big idea.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.