Cash-back app with built-in bank integrations

Paymi is a cashback app that required our expertise to develop a secure and scalable platform, enabling seamless integration of cashback offers from various retailers and providing users with personalized rewards and insights.

TIMELINE: APRIL 2020
- PRESENT
COUNTRY: CANADA

Paymi a cash back app with built in bank integrations

About

Paymi is a cashback app that connects users with personalized offers from a wide range of retailers, allowing them to earn cash rewards on everyday purchases.

The platform integrates secure payment processing and advanced data analytics to deliver tailored deals, while providing users with detailed insights into their spending habits and savings.

An incon with an exclamation mark

Did you know?

Paymi tracks purchases through linked bank cards, allowing users to automatically earn cashback on everyday spending without manual entry!

React Native logotype

Leo Li
VP of Product Engineering
EQ Works

TeaCode has kept an excellent development standard and delivery pace within our requirements and month-to-month budget planning.

Main Goal

Paymi wanted to help people save money while shopping by providing them with a cashback app. Users can receive percentage discounts or coupons from vendors that registered to the program if they do shopping using the Paymi link.

Paymi already had a web application for brands and companies that allowed them to post offers, choose target groups (based on age, gender and location) and see analytics. There was also a mobile app for users where they could register to access their personalized offers and submit their credit card information to automatically gain a refund based on card transactions.

The main goal was to redesign and improve the mobile app to gain more loyal users and increase the conversion rate.

Needs and Requirements

Paymi needed us to redesign the app within three weeks. Apart from that, we were to make it stable and bug-free (we implemented the Sentry tool for error tracking).

While creating the accounts, users provide Paymi with their full name, age, gender and location. This voluntarily-provided data defines the offers that people see in the app. Creating such a profile with credit card details is considered a conversion, and we had to make the conversion rate the highest possible (so we needed to implement an A/B testing tool – Google Firebase).

The mobile app was also the place where users could manage their email notification preferences and turn them on/off.

To spread the news to the world, users can also invite their friends and family to the Paymi program (using their own unique referral code) and receive a reward thereby (either a cashback or a new offer).

Challenges

Our ultimate challenge was a complete redesign and redevelopment of the app within a very strict deadline of three weeks.

The app was based on bank account details (e.g. the Canadian CNBC bank), so we had to provide Paymi with credit card integration.

Analytics setup can also be considered a challenge as we needed to implement analytics systems for internal Paymi marketing purposes like Google Analytics, Facebook, Kochava, Locus and systems maintained by a 3rd party company (with sophisticated events). For the latter, we needed to develop custom native apps in Kotlin and Swift to integrate them with the main app and then export the data to react native.

The app had been huge as it weight around 100 MB, so we needed to optimise it and decrease the size to around 20 MB currently.

As credit cards from Canadian banks were integrated, the solution had to be ultra-secure. For this reason, in such situations banks enforce a cyclic re-connection, so the app must have been ready to cope with that.

Process & Communication

We started the cooperation with a strict-deadlined 3-week redesign, and then we were to maintain the app, fix issues and add new features.

Now, we aim to improve performance, decrease the app size, and restructure the code.

We don’t work on weekly sprints but on app versions. Together with Paymi, we define the scope of work and priorities for a particular app version, but we can implement additional improvements on our own.