Fishka mobile app
A loyalty program that unites more than 6 million customers.
About the project
Fishka is the largest coalition loyalty program in Ukraine. It has more than 6,000,000 customers and dozen of partner companies in various business sectors. Fishka calculates points for transactions that users can later use to pay for fuel, goods, and services within the affiliate network. Fishka participants can manage their accounts, set goals, receive personal promotions and discounts, and pay for fuel in the OKKO petrol stations.
OKKO has more than 400 petrol stations. They are one of the leaders in the industry, but in catering establishments on the road, they are number one. Their chain of about 30 restaurants is the largest in the country. They have 10 oil depots and 19 stationary and mobile laboratories for quality control of oil products in the OKKO network.
FISHKA BY THE NUMBERS
A loyalty program that unites more than 6 million customers who make their daily purchases more profitable with the Fishka card.
Creating Fishka loyalty program app, we faced a few challenges:
- creation of a reliable IT system that would include front-end, back-end, integration with partners, and the ability to manage a mobile app and its content using a special tool
- upgrading a loyalty program from a plastic card to an online app, creating an additional product value
- making the mobile app the main communication channel between Fishka and the end user
But the main challenge was to find a simple, reliable, and useful set of tools that we need to develop to fully meet the needs of the end user of the Fishka loyalty program.
Problems we faced
There wasn’t any software infrastructure
The long-term product value of the mobile app was absent
Content management point was not centered
The data integration point was not centered
The need to build a multilevel structure of notifications to interact with customers via mobile app
The necessity of real-time customer, promo campaigns, special offers management
Solutions we propose
The development of a native mobile app for iOS and Android
Building a long-term vision for the mobile app by running sets of design sprints with the client’s team as well as defining its structure
Test product hypothesis and confirm product value for end-users by conducting 30+ in-depth user interviews with the different target audiences
Unique content and data management system building with hierarchy access for different types of admins regarding their objectives
Google Cloud platform exploitation for the project software environment
Microservices software architecture usage with a stack of independent services
The process of creating Fishka project
Regardless of the size and scope of your project, following this development process will make your enterprise mobile app development initiative a success.
- > Trend Canvas
- > Key business ideas
- > Customer journey map
- > Value proposition canvas
- > Backlog creating
- > Job & user stories creating
- > BPMN modelling
- > Business tasks describing
- > PRD completing
- > Figma hi-fi prototype creating
- > User flows mapping
- > Clickable prototype creating
- > Clickable prototype realtime testing
- > Iteration changes
- > Software architecture diagram
- > Data flow diagram
- > API methods specs.
- > 3d-party services integration model
- > Full technical specification creating
- > UI styles
- > Design system
- > Design QA
- > Design color tockens
- > Regression testing
- > Testing result documents
- > Security report & APP protection
- > Promotion materials completed
- > Beta testing began
- > List of key metrics. North Star
- > Deploy to markets
- > Analytics gathering
- > Interview session after the release
- > Feedbacks collecting
- > Next iteration scope planing
- > A/B testing
- > Funnels bulding
- > New engagament model building
DESIGN SPRINT and solution
During this stage, we outline our goals, test hypotheses, sketch a prototype and after creating the prototype, we test it. Then we deliver the final solution to client and move on.
Initial workshop with the client
The next step is deep work with the client, which gives us answers to the most important question. During this workshop, we discovered problems and requests that clients had and found the best suitable solutions for them.
Value Proposition Canvas
helped ensure that a product was positioned around what the customer values and needs.
Business Model Canvas
created visual representation of a business model, highlighting all key strategic factors, customers, revenue streams and more.
Customer Journey Map
mapped user journeys, measured touch points, and examined all of the most challenging areas.
To understand the problem, we need to move on to qualitative research. And in-depth interviews are just that. It involves receiving detailed answers from the respondent and not filling out a formal questionnaire.
The interview cannot confirm/disprove the hypothesis, it only gives an understanding of the context in which the problem occurs, how users are solving this problem now. That is, it directly describes the experience. It is also one of the most inexpensive and simplest studies.
Before recruiting people for interviews, we need to form a sample of respondents – what characteristics describe the user, whose experience will be relevant to us. Because not every user suits us.
To do this, we form a general profile of the respondent and prescribe the criteria by which we will select respondents. Based on these data, a screening questionnaire is formed which filter questions for the selection of respondents.
- Age (20-55 years old).
- Income (average/above average/ high).
- Over the past six months, the respondent has used loyalty services.
- Who is our user, what is his goal and motivation.
- What is his current experience – what steps he goes through, what actions he takes on them, what problems he has, what pleasant moments arise along the way.
solution providing an end-to-end business application d business .
Duration of each
After the interview, we translate three respondents’ answers into text form. We analyzed and placed on separate stickers what actions the person performed (yellow stickers), what problems he had at that moment (red stickers), and what pleasant moment he had while moving toward the goal (green stickers).
Also we note the context that facilitated these actions. We define the Big Job for which all actions were performed. Next, let’s group the stickers by topic. As a result, we get a certain number of groups of stickers and then try to give them names. This process is called theming.
Based on the data obtained from in-depth interviews, we draw up a general user persona that reflects the customer segment we have intensified as a key.
Occupation: Working Professional
Viktor does not know much about existing loyalty-reward apps. His colleague introduced Fishka to him and told him about the possible rewards that he can redeem with the use of the app. However, he was hesitant to create an account due to privacy concerns. He felt that he needed to know more about the app and how it functions first before signing up for an account. He also wanted to make sure that the rewards available were enticing to him and were catered to his needs.
- Needs to know what the app is all about and the rewards it offers
- Understand the process of collecting chops and redeeming rewards
- Merchants and rewards that are catered to his needs
- Doesn’t like to sign up before knowing what the app is all about and what it offers
- Unable to identify and sieve out promotions that are relevant to him
- Rewards were just not worth the trouble
- Fishka Card
- Fishka Online
- Map of Partners
- Online and social media
- Online advertisment
- Mobile apps
- Social network
We plan the high-level design of software so that detail can be added later, allowing software teams to sketch out the big picture and begin preparing a prototype.
Our plans included adding the high-level software design later. This would allow software teams to sketch out the big picture and begin preparing a prototype. For this, we created Entity Relationship (ER) Diagram that visualizes relations between «entities» like people, objects, and concepts within the ecosystem of an app.
High-fidelity wireframes are often built in the advance stages of the design process to communicate design decisions to the development team prior to coding the final product.
We prototype the main screens and their possible variants of them to select the most fitting vector for our design system. Few options of design are going through our targeted audience reviews to check if it’s clear and understandable for them.
A clear and consistent technical specifications document ensures that the app works properly, and meets your expectations and business goals. For our customers, we create technical documentation during the Discovery phase to be certain we are on the same page as our clients.
RESULTS OF DESIGN SPRINT
- Load for all interfaces – 1 million sessions per month. 200 sessions simultaneously.
- Processing at least 10,000 orders per month.
- Regular synchronization time with the bus is not more than 4 hours.
- Order creation time (from the user’s click “Place order”
to the result of registration) no more than 3 seconds.
- Warehouse inspection time – 12 sec
- Normal page load time – 1 sec
As the load increases, the system must allow horizontal scaling to ensure the above speed;
- System availability is 99.6% per year.
- The system may be unavailable from 12:00 to 05:00 (technical window). Unavailability time cannot exceed 15 minutes.
- Expected number of system users – 200 000 users
- Expected number of items in PIM – 3200 items
Requirements for WEB client: Browsers:
- Mozilla Firefox (version 60.0 and higher)
Finally, we are happy to share with you finalized design screens!
The effortless-looking and friendly design are what we resulted with after all the previous stages of hard work and deep research. Looks neat, doesn’t it?
For the management of project development, we used the scrum process. It is an iterative and incremental software development methodology designed to build products faster. It is based on breaking down the workflow into short-time boxed development cycles (called sprints). Each sprint ends with potentially shippable functionality delivered.
Here is a team of brilliant experts who were responsible for delivering the tasks and aims outlined in the project plan. Each of them is in his place and knows his business perfectly.
This scheme illustrates how the Fishka ecosystem works. It consists of a mobile application and a webpage that are backed with a CRM system, notification system, and Payment service.
The Dashboard section provides insight of key analytics of your app.
The project was quite complex and voluminous. Not to miss anything we decided to build an analytic system to track the data, define user behavior, find bottlenecks, and define insights to build a better application version. Here are the primary indicators and analytics dashboards from Firebase:
In Fishka we use benefits onboarding, or feature promotion to highlight the benefits of our app and how it can improve your users’ lives
all the features
It is a convenient payment service that includes several services: card-to-card transfer, points transfer, points purchase, charity transfers, Fishka purchase points, and transfer via the phone number
Digital loyalty card, which is always at hand and available for use in the chain of about 25 partner companies
Users can earn additional loyalty points for online purchases with it
Here customers can exchange their points for real goods of the partners from the reward catalog
Map of partners
All offline partner companies can be found here as well as their offers and rout construction to them
mobile application security
- Multi-factor authentication – it is essential for any enterprise app that stores, processes or accesses sensitive corporate data or personally identifiable information.
- Transaction security – one of the best solutions to avoid cyber threats with end-to-end encryption that makes transactions a lot safer.
- Encryption data security – a security method where information is encoded and can only be accessed or decrypted by a user with the correct encryption key.
The clear and functional tool for service administrators to control all the existing entities and events in the system
In this menu client can manage webpage for end-users
In this menu client can manage promotion for app and web-page
In this menu client can manage discount program
- In this menu client can run survey about application and general information to understand end-users better
Devlight’s team was flexible and fast, and communication was simple. The apps work well, and the Devlight team held to all deadlines. The team is talented, and they utilize non-mainstream, top-notch techniques.