Mobile Pharmacy App Developed with Flutter
We created a pharmacy app for the largest pharmacy chain in Europe and a member of a large group of pharmaceutical companies.
The chain incorporates over 3,000 pharmacy stores in 54 constituent entities. It is represented by three brands: pharmaceutical supermarkets, small-format pharmacies and discounters.
The Client planned to launch a new sales channel — an online pharmacy store. In order to do so, the chain needed to have mobile pharmacy apps for its three pharmacy brands.
All apps were supposed to have the same functionality — an online pharmacy store integrated with a loyalty program. However, given that each brand had its own target audience, geography, pricing, and loyalty program, the Client needed 3 different apps. And since native pharmacy app development suggests that each of them had to be written both for Android and iOS – it would have resulted in six apps.
Sure enough, the company wasn’t OK with this scenario. They planned to launch their pharmacy app as soon as possible, cutting back on time and costs of development. With this idea in mind they reached out to Surf.
The challenges we faced were as follows:
- Find the best solution and make six apps avoiding extra expenses.
- Create three pharmacy apps with similar functionality but different design.
- Digitize the loyalty program.
- Implement the project on a tight schedule.
A single code base for 3 pharmacy apps = 40% of the budget saved
What we suggested to the Client was to write all of the apps on a single code base. In order to do so we opted in favour of Flutter app development — a cross-platform solution by Google enabling programmers to write one code for both iOS and Android.
Apps made for each brand interact with their own backend. All three apps have a single code base: a continuous integration system — Jenkins — provides builds for a corresponding brand using a single code base. The process is automated: a Flutter app developer only needs to write code once and all six apps are updated at the same time.
The project is well-documented — thanks to that it’s easy for new developers to get on board or for the client to turn it into an in-house project. The Flutter pharmacy app is based on standard SurfGear architecture making it much easier to support.
Apps tailored to customers’ needs
Before we got down to development we analyzed apps of other pharmacy chains: compared their functionality, studied user feedback, and built a Customer Journey Map.
What we found out was that there are two types of customers in a pharmacy:
- “Routine” customers. They know what medicine they need.
- “Emergency” customers, e.g. people with acute pain. They have no idea what to buy.
The group a customer belongs to defines their behaviour both at a store and in a mobile pharmacy app. For example, the second type of customers is likely to ask a pharmacist for advice. We kept this in mind when we made the app — apart from a regular search option we added search by conditions and major symptoms.
We came up with the design for the new app using the UX prototype as a starting point and then adapted it to guidelines set for two pharmacy brands our Client’s has. The resulting UI kit is a set of graphic elements available in different colors depending on the brand. There is a clickable UX prototype: the Client tested it on the iPhone and offered the feedback.
We’ve established guidelines for the client’s content managers explaining how to create banners that look good in a mobile pharmacy app.
Compliant with particular aspects of drug distribution logistics
Pharmacies are bound by strict regulations. For instance, it was illegal to sell medicines online until very recently in our Client’s country. We took different delivery terms set for medicines and cosmetics into account as well as products in stock in each pharmacy and the fact that orders can be divided into lots. Eventually we were left with seven possible checkout scenarios. Here are the three most common ones:
- Some of the items can be delivered from one of the stores, while the rest are left for customer pick-up in a store where the items are in stock.
- All items are transferred for customer pickup to a single outlet, but only in a few days.
- The whole order is delivered to a customer.
In order for users to feel comfortable in any scenario and notice no constraints, we created a “multi cart” with complex business logic.
All three pharmacy brands presented by our Client have got their mobile apps. The cross-platform apps development took us less than 4 months from the very start. The apps were written with a cross-platform framework — Flutter, which helped the client save 40% of the budget they would have spent on native development.
All mobile pharmacy apps have smooth animation and are designed in accordance with respective brand colors. The flypages provide all the necessary information on a product: description, patient information leaflet, reviews, and availability. Checkout can follow a number of scenarios: e.g., prescription drugs are only available for pickup, and the rest of the items in the cart can be delivered. At this point customers can also take advantage of the loyalty program.
70% of all online customers in our Client’s pharmacy chain make purchases via the mobile app. An average purchase size in the app exceeds an offline purchase.
Head of Online Sales