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.