Back

Food Tech App Development and Sanctions: How We Dealt With the Restrictions

The start was perfect: a minimalistic app, clear terms of reference, and a green light for all the ideas. Nothing could possibly go wrong. Still, 2022 messed up everything. Now we are eager to tell you how we — the Purrweb team — survived under the hardest sanctions and collaborated with our client to redevelop the app as the foreign services were blocked.

Reading time: 7 minutes

Table of contents

    Setting a scope of work

    The client turned to us in 2021. They wanted to create an app called “ZaEdoi”. This app would enable users to sell and buy ready-made meals or farmer products. Something like Craigslist but for food.

    We started from scratch. The client only provided some design references and monetization ideas. Users were supposed to transfer money right through the app and pay a commission for that.

    When a client doesn’t understand the project logic, we do a careful analysis. We discuss the project in detail, make a concept with a functioning monetization, and create the app mockups. This time, the routine was the same. The client took an active part in the process and provided feedback regularly.

    We broke the task into a few steps:

    • define the business logic: how to monetize the app;
    • put the app’s work under a microscope: how users register, communicate with the sellers, view food in the catalog, and make orders;
    • create a catchy design: the app must attract the target audience, but differ from the major food delivery aggregators;
    • develop the app: release the frontend & backend and test it to avoid bugs; and
    • launch the product: publish the app in AppStore and Google Play.

    The task seemed pretty simple and resembled some of our previous projects. For example, our portfolio includes a Marketplace for Content Makers and a similar Delivery App

    Then our monetization method turned out to be illegal and Google, along with the other foreign services, blocked the users from Russia. At that point, things got complicated.

    But let’s not get ahead of ourselves.

    How we selected a business model and broke the law

    The client insisted on the monetization scheme they had in mind: users make deals and transfer money in the app. This way, our client could make revenue through the transaction fees. 

    The analysis helped us see this solution as illegal. The law says that deals between individuals must involve not only an app but also a fiscal data operator. In other words, an intermediary must issue checks and send them to the taxation organ. It is not clear how to do this when an intermediary must redirect a part of the sum to the seller after a check is issued. 

    After we discussed this issue with an accountant and lawyers, we decided an intermediary bank with a Safe Deal service could help us here. Tinkoff bank provided such a service, but our clients trusted only Alfa Bank.

    So, we rejected this scheme, and came up with another monetization idea: listing fees. The client was OK with that, so we developed a system of tariffs and paid service packages. Hey, Craigslist!

    Tariff mockup pagesThese are mockups for tariff pages. We made them in 2021, so payment methods include Apple Pay and Google Pay. 2021, come back, we miss you

    How we developed the app’s logic and structure

    We — the Purrweb team — make a detailed mind map and black & white wireframes for an app. If we miss this stage, a user gets lost in the app and never makes it to the Contact Seller button.

    We skipped nothing: it was even possible to block a user or add a dish to the Favorites. No vague Breakfast, Lunch, and Dinner options! Instead, users could filter the dishes by ingredients. The food search became more convenient. To make an easy-to use app, we avoided extra functions.

     Food search filtersOur UI designer made a food search where food categories never overlap

    Sometimes the clients had ideas that could complicate the UI. In such cases, our managers called them to find out what they wanted and why. Usually we were able to convince our clients to refuse extra functions to make a user’s life easier.

    For example, the client wanted customers and sellers to have different UIs. Luckily, our manager persuaded them to unite these roles. Thus, any user can sell and buy stuff, and the app functions like an advertisement board. A user doesn’t have to make a new profile if they want to sell strawberries from their farm or taste some dish.

    Quickly approved an Uber-style design

    The client provided a few design references. In particular, they mentioned minimalism and Uber. They didn’t want ZaEdoi to resemble popular food delivery aggregators. The app was supposed to stand out from the army of competitors, but not too crazy— we had to stick to minimalism.

    Positive references for the appThe client sent us references: minimalism, rounded buttons, and restrained colors

    Our designers wanted to make a consistent and integral concept. The icons match rounded buttons. The Rubik typeface looks great in this design too. The minimalist color scheme comes from Uber. We added orange accents to highlight the important details.

    Design concept of the appIt is a bright and minimalist design. The name is easy to remember, as the З and А letters make the logo

    More screeens from the design conceptMinimalism is perfect for food apps, as nothing distracts users from food

    The client approved our design and changed nothing — we nailed it on the first try. We owe our success to the references and our manager who questioned the client about their expectations. 

    How we made the app’s innards — and remade them because of the sanctions

    We agreed on the logic and created the concept. Development was the next stage and we didn’t expect any trouble. We had a similar experience, so we knew what stack and services to use.

    We started the development… then February 24 came. Foreign companies blocked the users from Russia, and half of our solutions turned useless.

    — Auth0 was blocked in Russia. We use auth0 to quickly add authentication and authorization services via various platforms like Gmail or VK. With auth0, we don’t have to write a code manually each time we need an authorization service for an app.

    The comparison between Auth.0 authorization and authorization via sms-codeThe left screenshot shows the auth0 authorization and the services you can use to log in. It doesn’t need a lengthy code and is configured semi-automatically. The right screenshot demonstrates authorization through Twilio

    At the beginning of March, we found out auth0 doesn’t function any more. Our entire authorization code was of no use. We had to start from scratch and develop authorization manually: it took 8 hours per platform. When we had auth0, it took 8 hours to configure the whole authorization system with all the platforms included. We were in low spirits, as the task was unexpected, but we managed it.

    — The payment systems were blocked. That was a hard blow. At that time, we had a full-fledged tariff system and monetization scheme. The sanctions destroyed everything: users couldn’t spend money in the app, so our clients couldn’t earn anything. This was fair for both iOS and Android.

    A natural idea crossed our minds: we could replace the tariff system with ads. Google AdMob was an obvious option. But… Surprise, surprise! Here goes another block!

    Yandex Ads saved us. The Google service is much easier to handle, of course. We use React Native — it enables us to develop apps for iOS and Android at the same time. But Yandex Ads and React Native make a hell of a combination. Still we wanted them to get along, so we used other programming languages for ad codes: we selected Swift for iOS and Kotlin for Android.

    Video ad presentationA user sees an ad before they publish their announcement

    We nailed it, though we lost some time, as we couldn’t use the ready-made solution. We did the same stuff for other projects before. For example, we had a case with the EnerGo App for power bank rent. As a result, we preserved monetization and made sure that the Russian apps could generate money even under sanctions.

    Now users don’t have to pay for a tariff plan — they just see the Yandex ads as they post announcements. Given the circumstances, it was a perfect and only solution.

    — Authorization confirmation got twice as expensive. As a user logged in, they received an SMS code for registration and authorization. We chose Twilio for that, but they doubled the price because of the sanctions. Our client was disappointed with the platform, so we changed the scheme. 

    We replaced Twilio with SMSAero Flashcall. Now a robot makes a call, and a user has to enter the last four figures of the phone number.  This is a less convenient, but 10 times cheaper solution.

    SMSAero Flashcall authorizationThis is how SMSAero Flashcall works: a user must enter the last four figures of the phone number. Image source: smsaero.ru 

    Happy end: the app hits AppStore and Google Play

    The client got the final version of the ZaEdoi app for iOS and Android. It took us 1469 hours to develop the app and 320 hours to test it. It cost roughly 82 thousand USD.

    This app allows users to order and sell dishes as well as the farmer products. It generates money through ads. Once the sanctions are canceled, we will return to the listing fees. This function is ready to use.

    We released ZaEdoi on November 1, so anyone can download it from the stores now. The clients hired us to support the app.

    The 2022 crisis interfered with the development of the app. Unexpected circumstances ruined lots of processes in many companies including ours. Still, in the end it was clear that we can manage a project and get it done even in such severe conditions. Communication was the key: we listened to each other, met the deadlines, and found new solutions in no time.

    How useful was this post?

    Rate this article!

    3 ratings, аverage 5 out of 5.

    No votes so far! Be the first to rate this post.

    As you found this post useful...

    Follow us on social media!

    Share