MTV Trax: Voucher System
API-based voucher redemption and management, in Meteor and Node/React flavours


Build in-app web view pages and an administration system that communicate with the MTV Trax voucher API, to allow users to redeem vouchers (for example, free membership for 2 months) and staff to manage voucher schemes.

The app was available until late 2017.

Voucher Redemption

The in-app voucher redemption web views were hand-coded in HTML5 from provided designs. An initial proof of concept built with Angular gave way to a Meteor-based product to enable secure voucher redemption.

When the user submits a voucher code, the Meteor server makes an API call to a Google App Engine-based back end. Depending on response, Meteor routes the user to an appropriate template. This is either a success page containing their name and new membership length, or an error page specifying what went wrong.

The redemption flow also supports multiple languages and there are additional pages to catch users who do not have the app installed or are on an unsupported device.

Voucher Administration

The admin system for the voucher API allows staff to create and activate/deactivate voucher campaigns (and the voucher batches contained within). It also provides a support function, as staff can search for and view the status of specific vouchers by user email address or voucher code in order to assist end users.

The system is again built on Meteor, with a Bootstrap-based layout. When the user makes a request, the Meteor server uses a Meteor JWT package for secure JWT-based API communication with the GAE back end.

Redemption 2.0: React/Node

After the first (Meteor-based) version of voucher redemption was released, the decision was taken to move the tech stack over to a React and Node based solution. This of course meant rebuilding Voucher Redemption in the new stack...

Picking up JSX templating, props, states and AJAX on the Node server was an interesting challenge and the new version was created within two weeks.

Where's the source?

Oh come now Manu, you know I can't share that!

If you would like more detail on this project or the web apps' construction, please get in touch and I'll be happy to talk you through the processes and principles in general terms.

Manu from My Kitchen Rules Australia