Medtech company that develops an IT ecosystem for medical providers, doctors and patients. One of the key app features is based on the ML-algorithm designed by our client.

    Project idea

    Create an MVP of B2C and B2B apps for symptom screening and online health consultations

    The company had developed an ML-based symptom checking system, and needed to build an application shell for it. In addition, the client wanted to give users the ability to get a qualified doctor’s opinion on the results of the symptom check. So at this point the company turned to Surf.

    Our key tasks were:

    • To develop an accessible application for users that would allow them to check their symptoms, interpret tests, get a consultation and an initial doctor’s report at any time of the day or night
    • Create an app for doctors where they could more quickly collect and analyze users’ medical history and give opinions and recommendations


    Provide users with a convenient health monitoring platform

    First, we needed to identify users’ key needs and the emotional state they were in when they logged into the app, and design the UX/UI accordingly.

    Second, we needed to integrate the ML algorithm created by the Client’s team for symptom checking and the backend as a whole into the app.

    Make it easier for doctors to collect and observe medical history

    The doctor’s app had to be both simple and concise, so as not to distract from anything during the consultation, and functional, so that the specialist could get the most complete information to give the opinion.



    Since the app conceptually had to be functional for different roles—user and doctor—we had to study the needs and expectations of each group and develop the main features.

    Together with the Client’s team, we created detailed customer journey maps for each user group. This methodology allows us to:

    • Identify user needs. This way we could understand how users come to the app and why they stay there, as well as what needs the app closes.
    • Explore the user journey in the app. Together with the product team, we explored the user’s psycho-emotional state as well as the barriers that may arise when interacting with the product.
    • Synchronize the teams. This step was necessary for synergy between the Client and Surf teams.

    Modern design that inspires confidence and sense of safety

    At first we created the interface concept according to the initial requirements of the customer, but in the course of discussions and receiving feedback from the Client’s team and users we finalized it. 

    Our team spent over 1,000 hours working on the design, and they paid off. Thanks to the coordinated work of our and the Client’s teams, as well as the focus group of doctors and users, we were able to create a design that meets the needs of all development process participants and user groups. The final version of the app design inspires confidence, a sense of safety, and a positive emotional response.

    Features that meet the needs of each user group

    Mobile app for patients

    The app is designed to make the process of monitoring and managing users’ health easy and convenient. They can take control of their own health with the help of only a few clicks and at the same time be confident about their data security. They key features of the app for individuals are:

    • Symptom checker to quickly get information about one’s condition

    We integrated the ML algorithm created by the Client’s team into the app. It is based on a probabilistic model: the logic of the algorithm is identical to the logic of the doctor’s work when making a conclusion, when a diagnosis is determined according to certain rules and on the basis of the provided data. The probabilities are calculated on the basis of real clinical decisions of hundreds of doctors.

    • Filling out a medical history to prepare for consultation

    With this app feature, users can provide the doctor with all of the relevant information to better understand the health background and condition.

    • Booking a consultation and paying for it

    With just a few clicks, users can book an appointment and make a secure in-app payment.

    • Answering clarifying questions from the doctor

    This feature is designed to streamline communication between patients and medical professionals. Users can answer questions in their own words or by marking desired answers in the questionnaire or on the grading scale, as well as by attaching additional documents or photos.

    • Canceling a consultation

    For example, if plans have changed or if the person wants to go to a face-to-face appointment, users can cancel a consultation by selecting a reason from the list.

    Mobile app for doctors

    At the same time, the app version for doctors allows them to:

    • View incoming consultation requests and requests in progress on the main screen

    In the incoming consultation request, the doctor can view the user’s complaints, probable diagnoses that the ML algorithm of the built-in symptom checker has suggested. The doctor can also reject incoming requests.

    • Start and finish work at any time convenient for the doctor, and viewing statistics on working time

    Doctors can choose to start or end their work whenever it is most convenient for them, and track their working time.

    • Check users’ medical history and complaints (text description, photos, documents)

    Doctors can quickly assess a patient’s medical history, symptoms, and complaints, including a visual inspection by photo and a review of available laboratory tests with greater accuracy and precision.

    Developed and tested native apps

    The native app is designed for both iOS and Android platforms, which improved performance greatly.

    One of the Client team’s main requirements was to allow real doctors to test the app. We completed one work sprint and handed it over to a focus group of practicing doctors for testing. Their feedback turned out to be not only useful from a product point of view, but also productive for subsequent iterations of development. The final version passed extensive testing with the participation of dozens of doctors on real cases of real users.

    The latest development stack for the Android version

    We used Jetpack Compose and MVVM architecture to develop the Android version.

    Jetpack Compose is a toolkit for creating a custom user interface. It simplifies and speeds up UI development. The tool allows developers to reduce the number of lines of code, and therefore make the code base more compact and readable. This is especially important for inhouse application support – your developers won’t have to spend a lot of time on immersing themselves into the project.

    MVVM (Model-View-ViewModel) is an architecture design pattern. It is used to design the user interface and separates the layers responsible for business logic and display logic.


    • Designed and developed an MVP — 2 native apps in 10 months: for patients and doctors
    • 4.8 average rating in app stores
    • The app won gold in the “Best Mobile MVP App” category

    Contact us
    Let’s discuss your project together
    CEO photo white

    Vladi Makeew

    CEO of Surf
    Drop a file here or click to upload
      Hidden span