Fayno Market
Grocery App Development
What the
client needed
Fayno Market is a Ukrainian supermarket chain that positions itself as “shops next door”. Its philosophy is based on the concept of big and small local grocery stores where neighbors meet and chat casually. The company thus refers to its patrons as “neighbors”.
Currently, the chain is taking measures to go green and digitize offline processes, namely, moving from physical to virtual loyalty cards and providing personalized promotional offers. In line with its social responsibility goals, Fayno Market offers loyalty programs for several categories of patrons:
- Сustomers
- Senior citizens
- Healthcare professionals
- Fayno Market employees
The business idea behind
the grocery store app development was:
- To involve more customers in the loyalty program;
- To gain a competitive advantage in marketing;
- To adapt the business to the customers’ changing needs using the analysis of users’ activity.
Fayno Market was looking for a grocery app development company that could develop a solution from scratch in a very short time.
Are you interested in shopping
or grocery ordering app development?
How the grocery app development began
Fayno Market approached Onix having a basic visual design of the future app but also with a negative experience with another outsourced software development company. Although we are not an exclusive food and grocery app development company, our managers convinced them that our specialists have the necessary experience and skillsets for the job.
Unfortunately, it wasn’t feasible to realize all of the client’s ideas and wishes in the first version of the mobile application due to the tight deadline. Together, we reviewed, discussed, and approved the proposed app features and software requirements again, reducing the task to building a minimum viable product.
The grocery store app functionalities
- Grocery store customers (including seniors and healthcare professionals);
- Employees
The customers’ mobile app
The customers’ app enables users to join the Fayno Market community and access its benefits. For example, a virtual loyalty card enables them to receive bonuses and discounts at the local grocery.
The user doesn't have to carry a physical card with them when shopping. Instead, they need to show the barcode on the phone for the cashier to scan and apply the discount.
In the mobile application, a user can:
- Register in the system as a regular customer;
- Choose the nearby Fayno Market grocery as their home grocery store;
- View special offers in the home grocery or other Fayno Market groceries;
- Use their loyalty card while shopping;
- View their purchases history: list of products, date of purchase, grocery address, bill sum, and the amount of money saved;
- Download the fiscal check of any purchase they’ve made;
- Acquire bonuses and discounts;
- Track the bonuses’ accumulation;
- Evaluate a particular store experience;
- Manage their user profile information;
The customer app’s
main screens include:
- Sign-up/Login
- Home screen with the news banner
and special offers; - Loyalty card screen featuring its number
and a barcode to scan at the checkout point; - Bills screen with the history
of the user’s purchases
- Review screen to evaluate a visit
to a grocery store; - Support screen where users
can contact Fayno Market; - Profile screen with the user’s personal
information and all banking cards linked to the account; - My loyalty program screen with information
about available programs.
The employees’ mobile app
Fayno Market app for employees facilitates the management of the employees’ workflow and provides the same benefits associated with the loyalty program as the customers enjoy. Each employee has a loyalty card and is eligible for special discounts.
Using the mobile app, employees can:
- View their work schedule;
- Send and receive push notifications, e.g., to call a selected employee or employees to a certain work station in the store;
- View their loyalty program details;
- View special offers for employees;
- Have the loyalty card barcode scanned at the checkout point;
- Manage their profile information;
Please feel free to share your ideas, plans,
and concerns with Onix’s software developers!
The grocery mobile app development
process, technology stack, and challenges
Onix team developed for Fayno Market:
- A native iOS application;
- A native Android app;
- A database for the marketing department.
The grocery app development tech stack included:
- iOS app front-end – Swift;
- Android app front-end – Kotlin;
- The common back-end application with Rest API – CakePHP framework
The latter enables marketers to collect vital metrics by analyzing, for example, the most frequently viewed products, most popular purchases, and other customer activity data that would enable them to personalize special offers, among other things.
This stack provided the most sophisticated way to customize the application’s functionality. PHP-based back-end development has proven an optimal solution for massive database integration and content management.
As the client didn’t want to use an admin panel, we built a tool that allows Fayno Market to administrate the database themselves. The integration with the client’s internally developed customer relationship management and enterprise resource planning systems was challenging, but we worked out an architecture that met their needs perfectly. The DB is set up on the client’s server.
CakePHP is very convenient when it comes to DB requests management settings. Currently, the database stores information about 18 million receipts and 70 million product items in the receipts; it has to process requests fast. It took significant effort to build a DB management system in such a way as to speed up the request-response flow.
The indexes in the database were built for each request that was slowing down the processing. The requests themselves were also adjusted several times to improve performance. For example, we set up complex conditions, such as the verification of dates and other items not at once but selecting a limited dataset first and only then processing the data in bulk. We run the table analyzer periodically to improve search by indexes.
CakePHP itself ensures the optimal way to build requests to the database. For example, it pulls all belongsTo links with one request together with the main record. Custom requests were also built in this fashion, minimizing their number.
Our back-end team also created
separate endpoints
for the quality assurance engineers to initiate tests of automatic production processes,
such as sending push notifications.
One of the biggest challenges was to generate appropriate special offers for clients, taking into account numerous parameters:
- User’s city of residence;
- User’s favorite grocery;
- Personal information;
- In-app activity, etc.
A "Force-update" function has been implemented so that users don’t miss important app updates, such as a new feature or fixed critical bug. When the app developers activate this function, users who have not downloaded the update won’t log in. Users that are already logged in will be able to access only the loyalty card, the String-bag feature, and push notifications. The screen that blocks the app use has a button, clicking on which takes the user to the app’s page on Google Play or App Store to download the new version.
The mobile app design
The client provided the initial user experience (UX) design. However, our design team had to make changes as functionalities were being added.
Another contractor was responsible for the app’s initial visual design, but Onix’s design team created some parts of the application, such as:
- Receipts screen and the Receipt details screen;
- Set of screens with flexible questionnaires.
Onix’s designers used Figma for creating
the graphic design and clickable prototypes
The current
results & prospects
The Fayno Market mobile app has been
published on Apple’s App Store and Google Play store.Currently, they count 100,000 active users
in several regions of Ukraine.The client is happy with the MVP
application and is going to develop it further.
Two major features
are being developed already:
Fayna Avoska (“String-bag”)
This loyalty program option aims to reduce the use of plastic bags at grocery stores. Fayno Market sells branded green string-bags with embedded NFC tags.
When a customer buys one, they use the application to add it to their account. They apply their phone to the tag, it sends a request to the server, and the string bag’s number is linked to the user’s loyalty card. Multiple string-bags can be attached to a single account or removed as needed.
When a user takes a string-bag to a store, the cashier scans its NFC tag at the checkout as they would scan a barcode in the application, and Fayno Market’s system identifies their loyalty card. The customer doesn’t need to get the smartphone from their pocket to receive bonuses and an electronic receipt.
Flexible Questionnaires
This tool will enable Fayno Market administrators and marketers to poll the customers for generating valuable insights and building productive customer relationships. The app will collect and process customers’ feedback on the grocery stores’ service and the mobile application use. Several events in the mobile app will trigger questionnaires to pop up: login, personalized offers view, user’s transactions, etc.
A third feature is
being planned: Fayno Coffee
Every grocery will have a coffee machine with a QR code. After an app user scans the QR code, the app will display the Online Products – Drinks – a particular coffee drink from the list. The user will pay for it via PrivatBank LiqPay, and the cashier will immediately receive a notification that a coffee drink has been paid for. Thus, the user would make their coffee themselves without waiting in line.
More features will be developed later on, so eventually, Fayno
Market can approve building a delivery app or another solution for its supermarket chain.