Orb Health – Сare Management as a Virtual Service

Our company had the chance to work on such an amazing service. In this article, we are going to tell you about it. 

Orb Health project description

Orb Health’s Care Management as a Service enables health centers, systems, hospitals, and unions to scale contact centers and deliver care management programs as a guided service. It simplifies the healthcare journey, maximizes patient outcomes, and enables financial success from fee-for-service to value-based care, without adding staff, apps, or infrastructure. 

Orb Health scales patient access through remote contact centers that seamlessly deliver care management as an EMR-connected, data-driven virtual service. We rapidly enable unparalleled clinical patient outcomes and satisfaction while transforming the economics of patient service for health systems, FQHC/community health centers, payers, and unions without adding staff, apps, or infrastructure, 

How does Orb Health help customers? 

  • Reduce ER/Hospital Visits 
  • Seamlessly Extend Practice 
  • Expand Critical Services 
  • Provide Interactive Patient Care 
  • Increase Patient Engagement & Satisfaction
  • Keep Patients In-Network 
  • Increase Revenue 
  • Improved HCC Scoring
  • Reduce Patient Leakage


From obsolete to technology-driven tech stack:

  • Migrate data storage from on-premise to cloud to improve accessibility, security, and cost-efficiency
  • Setting up fault tolerance infrastructure with monitoring, alerting, data backup, data recovering, and autoscaling
  • Implementing automation testing before release to prevent human factor in the production 
  • Actualize technologies to increase maintenance and speed of delivering new features 

Complete redesign and development of a new way of interaction with patient clinical information. Medication, Problems, Allergies, Appointments, Demographics, and much more in a new and easy to navigate format.  

We created a new approach to working with patients in customer practice, maximizing efficiency. This allows navigation between assigned patients, easily keeping up on priority and general que.

A powerful tool aimed to process the Orb Data Base quickly. This allows identifying patients by specific parameters to group them for further treatment.

This cutting edge feature allows creating connections between smart health devices at the patient’s home, gathering, analyzing, and processing data for making peoples’ lives more secure and accountable.

We worked closely with a clinical team to make logging time more manageable and effective – complete redesign legacy Time Tracking with a new and modern look. 

Complete redesign of dashboards, created new metrics, making executive board accountable for every vital indicator.

A new tool aimed to create patient programs. Powerful  enhancements that allow adding programs and campaigns in a couple of clicks.

Want To Build a Healthcare Mobile App?

Download Free Ebook

Universal Patient Engagement Center Experienced, licensed, and certified medical practitioners empowered by Orb Health’s EMR-centric patient intelligence provide care delivery that exceeds expectations. The core functionality of the Orb Health app is:

Mix and match services to meet your various patient population needs without adding resources.

Scalable patient access and high-quality care management empowers a new level of careful attention that keeps patients healthier, more satisfied, and in-network.

Repeatedly proven and independently validated Care Management as a Service drives significant outcomes while lowering costs and increasing revenue.

There are two web applications for internal users: Clinical Site and Program Manager Site.

A Step-by-step Guide on HIPAA Compliance 

Key Soltions

Connecting digital health products to provider systems is fundamental to delivering value, but the industry hasn’t made that easy. Healthcare providers are running dozens of different EHRs with various protocols, which means connecting can be a tangled mess of ad hoc solutions. Product teams who use Redox skip the mess and get every provider’s connection in a single developer-friendly API designed to support their product’s functional needs.

Protect your existing workforce management software and technology investments with off-the-shelf integrations that hook into your current solutions. Out-of-the-box integrations with a CRM system, PBX, ACD, workforce optimization, case management, and other legacy systems reduce time to value and quickly get a contact center up and running.

Power BI is a collection of software services, apps, and connectors that work together to turn your unrelated data sources into coherent, visually immersive, and interactive insights. For example, your data may be an Excel spreadsheet or a collection of cloud-based and on-premises hybrid data warehouses. Power BI lets you easily connect to your data sources, visualize and discover what’s important, and share that with anyone you want. 

Data security is one of the significant challenges of developing any service that deals with sensitive data. Therefore, the first requirement was to be able to store patient data as securely as possible.

BuenoPR – 360° Approach to Health

  • C# .Net 
  • Angular
  • WebAPI 
  • Azure SQL
  • Project Manager
  • Business Analyst
  • Power BI Engineer
  • QA engineer
  • AQA engineer
  • 2 Frontend developers
  • 5 Backend developers
  • Designer
  • DevOps

Calmerry Online Therapy Platform

Healthcare App Development 

A White Label Telemedicine Platform


During the development of this project, we utilized a streamlined, agile workflow. This approach helped us deploy an operating prototype of the system, ahead of the planned date, and dedicate more time to its testing and refinement.


Calmerry – online therapy platform

The backstory

Mental health isn’t something you can see or measure. Yet, our mental health influences all aspects of our lives: work, friends, and family members. 

When faced with problems, most people prefer to stay silent instead of asking for help or going to a counselor. There are many reasons for such behavior. 

Some people think that nobody cares about their problems. Some can’t visit therapists because in-person therapy offices are located too far from their homes or workplaces.

COVID-19 only adds fuel to the fire and causes extra reasons to get nervous. People are anxious about losing their jobs and getting infected in crowded places.  

The private tech entrepreneur, whose name we can’t disclose due to a Non-Disclosure Agreement (NDA), saw an opportunity in this situation. He saw mental help services striving to keep up with the growing demand and realized there was a business opportunity and a good cause at the time, so he started his own company in this niche and hired our team to create Calmerry – an online therapy platform.

Client requirements

For the Calmerry project, the client had the following requirements: 

  • The project should include three different interfaces — account for patients, account for therapists, and CRM account
  • The project must meet U.S. regulations (GDPR, HIPAA) for healthcare software on storing and using patient-sensitive data.
  • Patients should receive online therapy via secured online chat and secured video sessions only from counselors licensed in the U.S. 
  • The project should be integrated with Epic and, later, Cerner.
  • The project’s first version should include a basic feature set, but the feature scope will scale in the future.

Project goals and objectives 

Our main goal for the Calmerry project was to develop a secured platform that brings together patients and licensed clinical psychologists via online counseling and chat rooms. We wanted the online therapy platform to be equally useful for both patients and therapists, giving them a secure therapy space. 

Our challenges 

During the project development process, we encountered the following challenges: 

Monetization model. We needed to suggest a monetization model that could be applied to this project. 

To make this happen, we conducted market research and gathered several monetization strategies, most commonly applied in such projects. 

  • Next, we matched business models with the client’s business needs and decided that a monthly subscription business model was the perfect match for this project. 
  • We also developed different subscription types — a basic tier with online chat and an advanced tier with video calls.  

Therapist validation. According to U.S. legislation, therapists are allowed to provide therapy only to patients from the same state. We also wanted only experienced family therapists to join the online therapy platform. 

We met these challenges by integrating a matching algorithm and an initial survey, which is mandatory for both patients and therapists. 

  • During the survey, users select their state from the drop-down menu 
  • The matching algorithm connects patients and therapists from one location 
  • We integrated a mandatory “Licence number” field into the survey for therapists to validate their experience.  

GDPR compliance. Since an e-therapy platform falls into the medical software category, it must comply with GDPR (General Data Protection Regulation). 

These regulations involve handling and storing sensitive personal data. The same regulations apply to data exchanged in text and live video chats. 

The project challenged us to provide a secure connection and data encryption. Since creating video conferencing software from scratch didn’t fit the client’s budget, we also needed to find a third-party video conferencing provider compliant with GDPR. 

We ensured GDPR and HIPAA compliance by:

  • Using SSL-secured connection protocol that encrypts text messages, user data used by a matching algorithm, and user data stored in databases
  • Using on-premise servers located in the U.S. for storing encrypted user data 
  • Leveraging securing MongoDB clusters as data storage to protect user accounts, passwords, and encryption keys
  • Utilizing Daily.co frontend javascript library to embed and control video calls
  • Integrating Pusher service for sending push notifications to users that don’t send user-sensitive data

Architecture. We needed to select the architecture for this project carefully for several reasons. 

Video conferencing functionality requires huge loads on servers that may impact the overall performance of the online therapy platform. 

The client expects to launch the project in all U.S. states, so the architecture should handle hundreds of simultaneous actions made by thousands of users. 

There are many interactive functions to add to the project’s second version. 

We considered all these factors and decided that microservice architecture suited this project the best. Overall, the architecture included: 

  • Backend server’s API, powered by Node.js
  • Micro frontend applications developed with Angular that calls backend API server via secured encryption
  • Data storage made of secured MongoDB clusters 

Callmerry, a mental health platform convenient for all users

calmerry telemedicine platform

We included the following functionality into the project first version: 

For patients 

Entry survey. The user must answer a 3-minute survey so the platform receives one’s age, gender, family status, location, previous and current mental health conditions (eating disorders, anger management, emotional abuse), and mental issues that presently bother the user. 

patient app calmerry entry survey

Matching flow. Within 24 hours, the platform matches patients with therapists based on their specialty and state. If the patient isn’t satisfied with the therapist, the platform suggests another therapist for free. 

calmerry mobile app for patients

Text messages. Registered users can communicate with their therapists via online chat from anywhere.

calmerry text messages

Video conferencing. Patients can buy additional video chat functionality to receive counseling during on-demand video sessions. 

calmerry video conferencing

Subscription. Users select the subscription plan that matches their needs – to communicate with the therapist via text messages or add video conferencing functionality. Users can also cancel subscriptions at any time and get a refund if they’re not happy with the services provided.

calmerry subscriptions

Therapy space. Therapists can set up the patient’s goals and track progress in real time in the therapy space.

calmerry thepary space

Therapy management. Patients can put unfinished sessions on hold or pause an account for the desired period.

For counselors

License. Therapists offer a short survey to provide information about their location, the state they are licensed in, and the number of the highest clinical licenses in their state that allow independent clinical practice.

calmerry therapist survey
calmerry therapist app

calmerry theparist survey

Text and video chats. Therapists receive access to patients in need via online chat and video sessions during working days.

Caseload management. Therapists can set up their caseload and provide therapy to as many clients as they want.

Technical details 

  • Angular for the fronted
  • Node.js for the backend
  • Flutter for developing a hybrid mobile app
  • MongoDB for secured database
  • InterSystems for EHR Integration
  • Redis for session queues
  • Kafka for exchanging messages between microservices
  • S3 Bucket for developing the messaging feature from scratch
  • Pusher for sending push notifications without sensitive data
  • Daily.co for secured video calls

Team composition 

  • 3 Frontend developers
  • 2 Flutter developers
  • 2 Backend developers
  • 1 CTO
  • 1 Business analysts
  • 1 Project manager
  • 1 Product manager
  • 1 QA engineer


We delivered a GDPR and HIPAA -compliant e-therapy platform with essential functionality. You can see the project’s website on the link. 

After delivering the first version of the Calmerry online therapy platform, we started to create the next project version. Right now, we are improving the user experience for patients and therapists, integrating therapist notes into video chat and session booking via a calendar. We are also considering enabling file exchange via a messenger between users. 

Related reading:

Looking for a team to develop a GDPR-compliant platform for online consultations? 

Google – Real-time sepsis diagnostic


Digging deeper into the smallest details always brings valuable insights. The same is relevant for Genomics, an interdisciplinary field of biology that focuses on the structuring, functioning, evaluating, mapping, and editing of genomes. A genome is an organism’s complete set of DNA, including all of its genes.

The main challenge in modern Genomics is real-time Nanopore DNA sequencer Processing. Despite the availability of nanopore DNA sequence devices, which you can buy for around one thousand dollars, there was no relevant software that could analyze DNA samples in real-time.

At the same time, existing genomic analyses require DNA sample transportation to a centralized facility, sequencing, and analyzing samples in a batch process, which takes weeks and even months. Such a slow analysis process may cost lives, especially for patients with sepsis, for whom each hour of delay decreases chances to survive by 4%, and death can occur in 24-48 hours.

The backstory

Digging deeper into the smallest details always brings valuable insights. The same is relevant for Genomics, an interdisciplinary field of biology that focuses on the structuring, functioning, evaluating, mapping, and editing of genomes. A genome is an organism’s complete set of DNA, including all of its genes.

The main challenge in modern Genomics is real-time Nanopore DNA sequencer Processing. Despite the availability of nanopore DNA sequence devices, which you can buy for around one thousand dollars, there was no relevant software that could analyze DNA samples in real-time.

At the same time, existing genomic analyses require DNA sample transportation to a centralized facility, sequencing, and analyzing samples in a batch process, which takes weeks and even months. Such a slow analysis process may cost lives, especially for patients with sepsis, for whom each hour of delay decreases chances to survive by 4%, and death can occur in 24-48 hours.

It started out when Allen Day, a data scientist and senior developer advocate from Google Cloud Platform, was looking for a cloud architect with a GCP certificate. During the search, Allen got in touch with us. After he ensured that we had a certified GCP architect, (Allen has found only two developers with relevant experience), we started to clarify more of the project’s details.

Allen needed such a specialist for the Queensland University of Technology project. The project should combine Machine Learning capabilities, Google Cloud Platform tools for data analytics, and existing genomic datasets with streaming data analytics.

Initially, Allen needed just one professional from our team. But, with time, Allen appreciated our technological expertise, proactivity, and product mindset, which allowed us to extend the development team to 10 members.

What is real-time DNA sequence analysis application

The application analyses DNA nanopores in real-time. It detects taxonomical proportions, potential viruses, and pathologies, antibiotic resistant genes, etc. Then, the app visualizes the results received via the interactive Sunburst tool. Thanks to convenient and detailed data visualization, medical experts can make an informed decision on a patient treatment plan.

Nanopore DNA sequencing has numerous applications in the Healthcare and Agricultural industries:

  • Infection diagnosis from a blood sample and taxonomical counting
  • Monitoring, profiling, and tracking the evolution of antibiotic resistance genes
  • Pathogen detection in sewage or public health
  • Identification of viruses in cassava crops

How does it work

Blood and other DNA samples are collected from a portable nanopore sequencing device. We used a MinION device, developed by Oxford Nanopore Technologies. Then, the received data is sent to the platform and goes through the following workflow:

  • Ingestion – files are uploaded to the Google Cloud Platform and streamed into the processing pipeline
  • Base-calling stage – machine learning model infers DNA sequences from electrical signals
  • Alignment stage – via a DNA database, the samples are analyzed to find pathogen sequences, taxonomy enrichment, and other anomalies
  • Summarization stage – calculation of each pathogen’s percentage in the particular sample
  • Storage and visualization – the results are saved to Google Firestore DB and subsequently visualized in real-time with D3.js.

Project objectives

To develop an application for DNA nanopore sequencer analysis, we needed to go through the following steps.

  • Investigate Genomics domain data formats
  • Develop of a raw sequencer data simulator
  • Empower the app with a source data reading
  • Develop logic for the alignment stage
  • Develop flow for the summarization stage
  • Find relevant solutions and tools for analyzed data storage and visualization
  • Write documentation on how to use the application and make it available on GitHub

Our Challenges

During the development of the DNA nanopore sequencer application, we faced the following challenges:

  • Build scalable and reliable system architecture. Nanopore Sequencer DNA Analysis is a resource-demanding procedure. Due to the high volume of data and tight time constraints, the system needs to scale accordingly. We eliminated this challenge by leveraging Google Cloud Platform compute, storage, and data processing tools. Thanks to such an approach, we achieved a smooth, streamlined, and reliable scalability for data processing operations.
  • Data processing logic. The project required fine-tuned data processing operation for providing a broad scope of results in minimal time. Thus, we needed to develop a data processing logic that connects the analytics application to the cloud platform and guarantee an effective information turnover. To achieve this goal, we used the Apache Beam library that runs on Google Cloud Dataflow and supports integration with other Google Cloud services. We also integrated the Compute Engine to build the auto-scaling Alignment Cluster in the application.
  • DNA Analysis Tools integration. DNA Analysis tools for Nanopore sequencers were just desktop utilities, thus we needed to adjust them for cloud platforms. We also needed to integrate the desktop-based DNA analysis tools into a unified, scalable system. We reinterpreted the desktop-based DNA analysis tools for HTTP format and distributed them as web services so they could process large quantities of data in a shorter time span.

How we did it

System architecture

For the system architecture, we applied a bunch of Google Cloud Platform data processing tools, as well as compute capabilities. Data collected from a nanopore DNA sequencer becomes available in the New DNA read file and uploaded to a Cloud Storage bucket. Once all files are uploaded, they go through a workflow that converts the input files into actionable reports.

Machine learning engine

The application should include a machine learning algorithm that would analyze genetic engineering databases to come up with relevant DNA test results. For this goal, we applied a machine learning model on TensorFlow, previously trained with several genomic databases.


We needed to create a server-side with web and mobile developers in mind. Thus, to store databases and files, we leveraged Firebase, a document-storage system that can represent hierarchical data, essential for representing biological taxonomies.


Our primary concern was to shorten the time data is uploaded from the sequencer and visualized.

To keep things as fast as possible from the client-side, we implemented a dynamic dashboard with D3.js, which periodically polls a database for new data and updates the Sunburst chart visualization accordingly.

Our tech stack

Tech Stack:

  • JAPSA, a Java Package for Sequence Analysis.
  • TensorFlow, an open-source library for training an ML algorithm
  • Chiron Base Caller for translating raw nanopore signal
  • Samtools utilities for interacting with and post-processing short DNA sequence read alignments in the SAM, BAM and CRAM formats
  • BWA MEM algorithm for performing local alignment
  • Minimap2, a versatile sequence alignment program for aligning DNA or mRNA sequences against a large reference database.

Google Cloud tools:

  • Google Cloud Storage for storing and accessing data
  • Google Cloud PubSub for sending and receiving messages between application components at low latency with on-demand scalability
  • Google FireStore for storing, syncing, and querying data
  • Google Cloud Dataflow to simplify streaming data pipeline development with lower data latency
  • Apache Beam for defining and executing data processing workflows
  • D3 Data Visualization Library for producing dynamic, interactive data visualizations in web browsers
  • JavaScript for building Data Visualisation

Team composition

  • 2 Data Engineers
  • 1 DevOps Engineer
  • 1 Web Developer

Result and prospects

We developed Nanopore DNA sequencers that significantly reduce the time it takes to generate DNA sequence data. Now, medical professionals and genomic engineers can receive sequence data generated from samples (the patient, sewage plant, or crop field) within a few minutes.

The potential for nanopore sequencing is promising. The real-time nanopore sequencing platform we developed has a significant impact on the molecular diagnosis of human disease, in particular, sepsis. Together with the Google Cloud Platform team, we created an open-source set of packages of nanopore sequencers available on GitHub.

This project was just the beginning of fruitful cooperation.

Once, Allen Day visited our office in Kyiv to run a Data Science meetup that was quite successful among data scientists and data engineers.

After a year of working with Allen and the GCP team, our CEO, Pavel Tantsiura visited Google’s office in Singapore to sign an official partnership with Google and The APP Solutions and discuss an upcoming project.

Currently, we are working with Allen on the PopGen project in the Genomics field aimed at processing populations of genomes. The project’s directories with rice and human genome samples are available on the GitHub repository.

A white-label telemedicine platform

About the project

The client is the owner of a medical center in Berlin, Germany. After the COVID-19 outbreak, he faced the need to provide patients with a distance communication solution to decrease the number of offline visits, while enabling doctors to monitor vital patient health data and streamline communication with a laboratory. 

For his goals, the client decided to use a comjoodoc telemedicine app, popular in the German region, that includes: 

  • Two mobile apps: one for patients and one for medical professionals, developed on React Native.
  • A web application built on Node JS and Typescript. The web app also leverages Doker as app containerization technology and Kubernetes for automated deployment and management. 

comjoodoc web app

Unfortunately, the platform failed to meet the client’s business goals due to a lack of functionality. Thus, the client hired us to turn a comjoodoc telemedicine platform into a white-label solution. 


Client challenges 

In creating the telemedicine platform, the client wanted to accomplish three goals: 

Challenge 1. Change the UI design 

We needed to redesign the screens of both patient and doctor apps of comjoodoc EASY to match the new branding. 

Challenge 2. Add more advanced functionality 

We needed to enhance the existing comjoodoc EASY feature list by integrating more advanced features to a live-chat and main menu so that medical professionals could provide effective distant treatment to patients during the COVID-19 pandemic.

Challenge 3. Make the platform compliant with legal regulations

Since the platform handles and stores sensitive patient data, we needed to make it compliant with the legal regulations for patient data security, including:

  • German national regulations 
  • BSI IT grundschtung 
  • EU healthcare regulations 
  • HIPAA regulations


Our solution

To meet the client’s goal, we accomplished the following tasks:

Whitelabel setup 

We slightly redesigned the interface of patient and doctor apps by: 

  • Updating the app’s theme, icons, and splash screen 
  • Designing the new layout for both interfaces 
  • Adding the client’s information to the Terms and Conditions section 
  • Creating new onboarding screens for mobile applications 

Apart from changes in the user interface, we also made some improvements to the backend: 

  • Configuring Google services for app’s analytics
  • Changing the bundles of databases 
  • Doing architecture review to meet the business’ needs
  • Performing code refactoring by restructuring the existing platform’s code without changing its external behavior to make the code more efficient and maintainable


Want To Build a Healthcare Mobile App?

Download Free Ebook

Functionality integration in response to COVID-19 

We improved the functionality of both patient and doctor mobile applications by:

  • Integrating Push Notification center via the Firebase development platform
  • Increasing the chat capabilities with uploading and sending pictures and files 
  • Integrating medication prescriptions and laboratory test results, sent as structured data from doctors to the laboratory
while lable telemedicine app
  • Adding patient management feature to the doctor’s app, so medical specialists could monitor patient status based on one’s reported state of health 
  • Adding on-premise video conferencing as a custom integration of the ITC cloud video service
telemedicine app development
  • Enabling the calendar functionality for scheduling appointments with doctors, medicine, exercise reminders, and daily schedule for patients
  • Enabling online payments with PayPal payment gateway
while lable telemedicine app project


Data security to meet legal regulations

Both the platform and apps are rated as medical devices CE class IIa that store and handle sensitive healthcare information. 

We protected data from unauthorized access of third parties by: 

  • Using SSL data encryption for exchanging data from applications to server 
  • Adding an encrypted communication layer (SSL) to the client’s storage 
  • Adding end-to-end encryption to online chat and video conferencing 
  • Organizing data transmission in FHIR HL7 standard for health care data exchange using FHIR HL7 infrastructure


Project tech stack 

  • Node.js
  • Python
  • PHP
  • React Native
  • Kubernetes 
  • Dockers 
  • Firebase
  • ITC video conferencing software

Team composition 

  • Solution Architect 
  • Full Stack developer 
  • React Native developer
  • Designer
  • PM 
  • QA



After working with us, the client received a white-label telemedicine platform with advanced features that took us two months.

The while-label platform brings benefits to both types of users:

Medical professionals can exchange files with patients via secured live chat, send, and receive laboratory tests in a more streamlined way. 

Patients can receive high-quality medical services in the comfort of their homes, schedule appointments with doctors, attend medical meetings online, get receipts for medication, and medical treatment plans with a daily schedule. The app also allows patients to pay for medical services online. 

Nioxin Consultation

The Back story 

Our appearance has a significant impact on how we feel about ourselves, our confidence, and our actions. At the same time, thinning hair is a broad issue, affecting 50% of men and women, leaving them with low self-esteem. Nioxin, a Coty Inc. sub-brand, effectively solves the problem of thinning hair by applying its 25 years of heritage and dedicated research. 

It all started when Romolo Ganzerli, Global Digital Marketing Director at Coty Inc., sent us an e-mail. 

Hi The APP Solutions, 

I’m looking for a team that will develop a consultation web and mobile app for hairstylists and everyone with thinning hair concerns so that people can receive more personalized treatment with Nioxin products. 

Currently, I’m in Geneva, Switzerland, but I can come over to Kyiv to discuss our project in more detail.

Romolo Ganzerli, Global Digital Marketing Director at Coty Inc.

Once Romolo arrived at our office, we started to dwell on the project’s goals and objectives and shaped the project vision.

How Nioxin Consultation Works 

Nioxin, one of Coty Inc.’s brands, is a market leader for professional salon products in over 40 countries around the world. The Nioxin Consultation mobile app aims to help professional stylists suggest to clients proper hair care, making the client’s hair thicker and fuller-looking without side effects so they can thrive with newfound confidence. 

To find out about the client’s hair care needs, the app analyses the client’s scalp and identifies the three signs of hair thinning (Derma, Density, and Diameter), each with innovative skincare-inspired technologies to address scalp and hair needs and deliver thicker fuller hair. 

personalized hear care treatment
nioxin personalized hair care treatment

Then, the Nioxin application delivers a complete program with personalized hair care products for a tailored treatment that works. 

The app also includes quick links to NIOXIN’s market-specific websites and salon finder.

Client’s requirements 

The client already had a design for his app and wanted us to do the following: 

  • Create a web plugin and mobile app for both iOS and Android for professional stylists and their clients with thinning hair 
  • Integrate a scalp and hair analytic tool and suggest personalized treatment programs depending on the client’s hair condition.
  • Set up the logic throughout the mobile apps and web plugin backend to provide a quality consultancy test.

Project Goals and Objectives 

Our main goal for the Nioxin Consultation app was to suggest relevant products to clients and improve their hair condition. We needed to develop an intuitive mobile application and web plugin for salon professionals, empowered with a product recommendation algorithm that could be used not only in salons but also at home. 

Our challenges

Comprehensive architecture. The main problem was to set up the logic that would connect two mobile applications on different platforms with the server. In addition, we also needed to build a web plugin backend that would deliver relevant product recommendations. 

Tight deadlines. At the very beginning of the project, our main priority was to build the product’s architecture from the ground. In this way, we streamlined the project’s production in order to meet the deadlines. 

How we did it 

The client came to us with a ready-made UI/UX design for all app screens and very detailed technical documentation, so he required us to do the coding part.

For this project, we applied Scrum methodology since the project had particular tasks to be done, as well as estimated time and budget. 

  • We started the project development by estimating the time developers would require for one or another feature. Then, we broke down all elements and evaluated time in iterations, two weeks, during which we would implement the project functionality. 
  • At the end of each iteration, we ran a demonstration session to show the client our progress and receive timely feedback. Our team also had to send weekly reports to the client with a list of tasks done. 
  • Having assessed the requirements of the project, our team worked on building the proper project architecture first, followed by mobile apps and web plugin development, alongside the project’s backend.
  • After we implemented all functions for the first app release, we did a final demo with the client, received feedback, and implemented the required changes. 
  • Thanks to detailed documentation, clear client requirements, and skillful mobile developers, we managed to deliver the project on time. 
  • The development began around the middle of May, and the first project was released on August 1, so it took us less than three months from start to finish.

Interesting Features We Implemented

Client profile

The app enables saving client details in personal profiles, identifying hair characteristics, and adding DERMA and DENSITY photos. In this way, hairdressers can produce a seamless salon experience and have instant access to all client profiles registered to their salon.

nioxin client profile consultation app

Salon Management

Salon chain owners track the performance of their staff and clients’ hair improvement over time via built-in statistics. Whether it’s one location or multiple, salon owners have access to statistics of how their employees performed in regards to recommending a Nioxin hair care product.

salon managment nioxin consultation app

Consultation Tool

Nioxin’s mobile apps, as well as a web plugin, include test-based recommendations of Nioxin hair care products that would be most fitting for the given client’s hair type. To identify the client’s hair condition, the app offers a short questionnaire and saves answers to keep track of the client’s progress.

nioxin app consultation tool

Our tech stack 

  • HTML for web-based application
  • Swift SDK for iPads and iOS mobile devices 
  • Android SDK for Android-powered devices 
  • Rest API 
  • Google Analytics 
  • Cocoa Pods
  • Dagger 2
  • RxJava 
  • Retrofit 
  • Realm 
  • Butter Knife 
  • Crashlytics 

Team composition

  • 2 iOS developers
  • 2 Android mobile developers
  • 2 Quality Assurance engineers
  • 1 Backend developer
  • 1 HTML developer
  • 1 Designer
  • 1 Project Manager 


Nioxin Consultation Tool was an exciting and challenging project to create. It required a lot of proactive thinking and methods that, in the end, helped to fit into the deadlines without compromising quality. Currently, we are implementing more features and adding a multi-language feature to make the app available for new markets. 

Check out our app at Google Play and App Store

Client’s testimonial 

It’s a real pleasure to work with The APP Solutions because it never feels like a client/supplier relationship. In essence, it’s a true collaboration aimed at delivering the best possible experience to our users, on time and within budget.

Romolo Ganzerli, Global Digital Marketing Director | Coty Inc.

Ready to start your mobile app project?

Contact Us


The backstory

London is not only the capital of England, as we all know, but also a capital of fashion & luxury business that attracts millennial millionaires, fashion designers, and brands.

Once we got an email from Matthew, our client, who was inspired by our blog post about taxi-hailing mobile app development.

“Hi The APP Solutions team,
I have both an exciting and challenging project for you.
Can you develop a taxi booking app for the luxury segment?
Keep in mind that here, in London, the app will be promoted by fashion influences, like Virgil Abloh, the artistic director of Louis Vuitton menswear”.

We were more than excited about such an opportunity.

Client Requirements

After we contacted Matthew, we clarified more details about the project.

HYPR is a-first-of-its-kind supercar booking taxi app that works on the subscription basis in the London area. Its vehicle fleet includes Rolls Royce, Gelentwagen, Lamborghini, and other supercars, popular among wealthy millennials who prefer to rent cars than buy them.

Matthew already had several screens of his mobile app design, so he was looking for a development team that would build the code part for four standalone products, as well as back-end logic and stable infrastructure.

He also emphasized the limited time frames. We had only four months to develop the app’s MVP so that the client could show it to the commission of Transport for London(TFL). It was quite challenging to book an appointment in TFL, which is possible only every 6 months. We had to demonstrate the product and receive certification, so knowing the strict deadlines, we had no room for mistakes.

Project Goals and Objectives

  • We needed to create a luxury taxi-hailing app that gives users the feeling of belonging to a closed community of VIPs. The concept of private membership clubs is pretty common in the UK.
  • The app should operate on a subscription basis. Thus, every potential member should be verified by the Admin.
  • We needed to build four distinct products, such as a subscription website, an Admin panel, driver and passenger apps, equally useful for all participants.
  • We also needed to make the apps compliant with the Technical Solution Requirements of Transport for London.
  • Find appropriate payment gateway for Subscription website and a develop custom price calculation algorithm

Our challenges

During the development phase, we faced the following challenges:

  • UI/UX design. Since it’s a luxury product, our team had to make the UX very smooth and user friendly.
  • Detailed documentation. Due to tight deadlines, our developers needed to develop a clear code without bugs from the first attempt. Thus, we needed to create super-detailed technical documentation and determine all possible user stories and scenarios beforehand.
  • TFL compliance. Our technical documentation had to be compliant with the Transport for London Technical Solution Demonstration Guidance and Technical Documentation Guidance for PHO Applicants. Transport of London pays extra attention to features connected with lost and found property, complaints and compliments, vehicle details, bookings records, and private hire drivers.
  • Four products at once. Apart from creating the Admin panel and Subscription website, we needed to develop fully-fledged mobile applications for Drivers and Passengers with geolocation, personal profile, estimated pickup time, optimize the road to avoid traffic jams, and make both apps work simultaneously.
  • Price aggregation algorithm. We needed to create a custom price generation algorithm that would generate the ride price by analyzing multiple factors. The algorithm determines the ride price by combining the car’s rate, driver’s location, the amount of time the driver waits for the passenger, the passenger’s desire to extend the ride, ride length, and so on. In the case of the driver’s location being too far away from the passenger, we needed to develop functionality that would offer similar cars nearby and calculate the ride’s cost.
  • Money refund logic. Since the app is targeted at the luxury segment, the first project release must work without bugs. At the same time, we faced issues with money refunds when the passenger canceled the ride. In this case, the money refund depends on many factors, including when the passenger hailed a car, passenger’s membership type, driver location, and others.
  • Hidden phone numbers. Since the app’s users belong to a luxury society, they respect their privacy. Thus, we needed to hide real app users’ phone numbers and mask them with random phone numbers from the London area.
  • Real-time geolocation. The app should always show the current driver’s position using GPS integrated into the mobile device. The main challenge here was to choose the right geolocation API because most third-party geolocation modules work with delays.
  • Limited resources. During this project, we often compared ourselves with the team that developed the Uber mobile app. But, unlike the Uber team, we had limited resources, including developers, funds, and timeframes, making our mission to develop bug-free luxury mobile apps almost impossible.
  • Bonus programs. At this step, we needed to develop the logic for HYPR’s bonus program, which included several user groups. The app awards some users with 100 pounds they can use for rides. Also, some users receive a free subscription for several months, while others receive a life-time free subscription.

One Solution, Four Products

We developed HYPR, a transportation platform that offers exclusive service of supercar hiring for its customers. The platform consists of:

Subscription site

A web portal allows applicants to submit forms for registration in the HYPR app.

Admin dashboard

A web portal allows Admin to view and manage Applicants and Customers, Drivers, vehicles, manage car models, prices, and review statistics from both driver and passenger apps.


A mobile application for Members, i.e., passengers who were approved for registration and can use the HYPR App. Members can hail a supercar, schedule the departure time, choose the available supercar model.

HYPR Driver

A mobile application for Drivers. Driver app users can sign in to the app, add car details, view all orders nearby, pick up passengers, and complete rides.

How we did it

Step 1. Make the apps compliant with TFL requirements

Firstly, our business analysts checked all Transport for London requirements concerning essential app features to make the project technical documentation compliant with it.

Step 2. Write technical documentation

Secondly, our business analysts, together with tech leads and developers, started to write technical documentation for the project, highlighting all possible scenarios and user stories for both driver and passenger apps. We also created the best possible infrastructure of the HYPR platform.

Step 3. Prioritize features and plan MVP

Thirdly, we analyzed all user stories from Technical documentation and prioritized the essential functions of both driver and passenger app for the project’s Minimum Viable Product (MVP). As a rule, we start all sophisticated projects as MVP so our clients can achieve the proof of concept of their business idea.

Step 4. Develop the MVPs back-end

Fourthly, we started to implement user stories and main scenarios for the passenger app, driver app, and admin panel. At this step, we also developed a Subscription website and integrated a payment gateway.

Interesting Features We Implemented

Payment Gateway

The HYPR application required a reliable and accessible payment processor to handle:

  • Subscription fee management
  • Ride payments

In addition, we needed a solution that would refund money on the different ride’s stages. Thus, we decided to integrate Stripe because it perfectly met the client’s requirements.

  • User-friendly interface
  • Merchant account features
  • Multiple payment methods
  • PCI DDS compliance + AVS, SSL, CCV features
  • Flexible API

Google Maps and Google Places

Geolocation was another essential app component, requiring integration of third-party APIs for general map navigation, vehicle monitoring.

We used:

  • Google Maps for general web mapping and vehicle movement monitoring
  • Google Places to streamline the navigation and provide additional information regarding different locations

Data security

One of the client’s requirements was to make the app GDPR compliant. This meant that the app should meet strict guidelines for user data management, include transparent data use policy, and guarantee data safety. To make HYPR GDPR compliant, we used the following solutions:

  • HTTPS, TLS, SSH for data-in-transit encryption;
  • BCryptfor database encryption;
  • DDoS protection;
  • PCI DSS compliance;
  • Activity Logging and Access Management;
  • Limited access to the production database at the network level.

Our tech stack

  • Subscription website – JavaScript, PHP, Firebase
  • iOS passenger and driver Apps- Swift
  • Admin Dashboard- Sonata and WordPress
  • Payment gateway – Stripe API
  • Geolocation and maps – Google Maps, Google Places API, Visar Maps
  • Use analytics tool – Google Analytics
  • Data Center for the environment, disaster recovery and backup site- Telehouse London

Team composition

  • Project Manager
  • Business Analyst
  • 2 QA engineers
  • Front-end developer
  • 2 Back-end developers
  • 2 iOS developers
  • DevOps


We nailed delivery of the MVP of two mobile apps, Admin panel and a website with subscription on time, Matthew presented our project to the Transport of London committee, who approved our applications for the London area. After the MVP launch, we entered the second development phase and integrated other features for the app’s public release. Currently, we continue working on the app, and soon we will release a new app version with more features for both drivers and passengers.

New HYPR’s release will include

  • Alternative car suggestions with the same amount of passenger seats
  • Driver mode will allow app users to rent a car and drive it themselves
  • Convoy mode will enable users to book several cars at once

For us, working on the HYPR project was a better experience than riding all supercars at the same time.


The backstory

Ibiza is the mecca for nightlife enthusiasts. However, the pandemic has changed the way people attend night clubs. Due to restrictions, all clubs on the Island were closed to prevent a second wave of COVID-19. Thus, millions of party goers had to come to the Island and organize their parties in private villas.

In such circumstances, party enthusiasts were looking for an on-demand delivery solution to order their favorite food, alcohol, and groceries with no hassle.

Enrico, our honored client, envisioned this opportunity. There was also no intense competition or big players like Uber Eats on the Island. He managed to launch the product in just two months, earning his first customers and reputation before the season ended.

What is Alfred Ibiza

Alfred Ibiza is an on-demand delivery mobile app that connects restaurants, stores, couriers, and customers in Ibiza. The app allows customers to order from restaurants, pharmacies, and supermarkets, listed on the platform.

  • The app charges you the cost of products and delivery services, and withdraws money from your credit card.
  • Once you place an order, the app finds the nearest courier to deliver your order.
  • The app also includes particular product groups, delivered exclusively by the company’s employees.
  • You can connect via a restaurant with email and track the courier’s geolocation in real-time.

Our Goals

Our main goal for the Alfred Ibiza project was to build a platform that would simplify ordering and delivering products on Ibiza island and help party goers to receive their orders on time. We wanted the platform to be equally useful for business owners, couriers, and customers.

Project scope

We needed to design all the business processes that an on-demand delivery mobile app requires and ensure the final result would have similar features to those the most popular food delivery mobile apps include (such as UberEats, Doordash, Glovo, etc.).

We needed to develop a complete infrastructure from scratch for three mobile apps – one for buyers, for sellers, and one for couriers, that would work on both iOS and Android, a web-based admin panel, and a marketing landing page to promote Alfred Ibiza.

We were also responsible for the UI/UX design for all the platform’s components (mobile and web applications).

Our challenges

  • Limited timeline. This project was not the first time that clients contacted us after being rejected by other development teams due to tight deadlines. In this case, we needed to build cross-platform mobile apps and an admin web panel for restaurant owners within two months.
  • No technical documentation. The client came to us only with a business idea. Thus, we needed to develop project documentation in-house, which is the core of any IT project. For this, we needed to conduct a business analysis of existing on-demand food ordering apps, define their core features, and suggest technologies to implement them.
  • Comprehensive payment calculation algorithm. The client’s business logic required building a complex pricing algorithm that calculated the delivery fee based on the product category and distance of delivery.
  • Courier online geolocation tracking. Since most popular food ordering apps include courier services, we also needed to integrate live position tracking of couriers into the client app and an admin panel.
  • Live-chat. One of the client’s business goals was to ensure transparency in communication between restaurants and customers. Thus, we needed to integrate a live messaging functionality to the app.
  • Couriers provided by businesses. According to Ibiza’s regulations, products from Alcohol,Tobacco and Pharmacy categories must be delivered by the brand’s employee. To enable this option, we needed to empower the restaurant’s admin panel with the function of delivering their products without third-party couriers.

One Ordering Marketplace, Four Products

The customer app
The customer app includes the following sections:

  • Home page

The home page is the first screen you see after opening the app. You can find different product categories, such as Food and BeveragesAlcohol and Tobacco, and Pharmacy. As a user, you can select the necessary category, browse the product catalog, select products, and order them.

  • Push notifications

Once the order placed is approved by the provider, you service a push-notification about the new order status In progress, and another notification when the courier delivers your order.

  • Inbox

You can exchange messages with restaurants and other businesses within the app using the built-in messaging feature.

  • Manage orders

This section includes order history, which allows you to cancel or reorder products anytime.

  • Add new order

Apart from the Home page, you can place the new order in the Add new order section. You can also select the Take-out option and get the order at the seller’s physical location yourself.

  • Favorites

If you enjoyed a particular dish or restaurant, you can save it to your favorites and access them in the Favorites section.

  • Offers

This section includes special offers and discounts from sellers and food providers.

  • Settings

As a user, you can save your address, add credit card information, etc., in the Settings sections.

  • Helps

Here, you can receive help from the platform’s admins anytime you need it.

  • Reviews

Here, you can rate restaurants, meals, and couriers.

The courier app
The courier app includes the following features:

  • New orders

Once the courier receives the new order required, one can accept or decline it.

  • Map

If the courier accepts the order, the app automatically changes the order status to In progress. The couriers see the pickup and delivery address on the built-in map with the shortest delivery route.

  • Order history

Couriers can access the history of completed orders in the Order History section.

The provider app
After login, all providers access their mobile application with the following features:

  • Menu management

Business owners can add, edit, and delete products in their menus, upload images, change descriptions, and prices.

  • Receiving orders

Once a customer places an order, the provider receives a message from the platform with other details, customer name, total order sum, and delivery address.

  • Replying to customer reviews

After the customer leaves a review of one’s products, the provider can reply to the customer’s review.

  • Live chat with customers

As the customer places a new order, one can connect with providers in the live chat and discuss order details.

  • Placing and tracking delivery requests

After the provider approves a new order, one places a delivery request to the courier app and tracks delivery progress.

Admin panel
We empowered the web-based admin panel with the following functionality:

  • Dashboard

Here, admins can count the total number of users, restaurants, current orders, and other platform stats.

  • User management

As an admin, you can add new users, access their details, and block users.

  • Category management

In this section, you can add new product categories, manage existing categories, and delete them.

  • Order management

You can view new and completed orders, edit order information, and cancel orders.

  • Promo cards

As an admin, you can issue promo cards that give customers discounts.

  • Rating and reviews

You can add, manage, and delete user reviews.

  • CMS management

Here, you can access your customer management system’s information, add, edit, or delete users.

  • Helpdesk tickets

In this section, you can view messages from customers who need support on your platform and solve issues.

  • Banners

Here, you can add, manage, and delete banners on the landing page.

  • Manage settings

As an admin, you can manage user settings for customers and restaurants.

How we did it

  • Step 1. Business analysis

We analyzed the most popular food delivery applications and created a list of selected features to integrate. We decided to build a cross-platform application with React Native, so both iOS and Android device users could access it.
We gathered our core technology expertise in on-demand projects and applied it to create an ordering engine to avoid building it from the ground up. In such a way, we significantly reduced the project development time and costs.

  • Step 2. Business processes

As the client came to us with only a business idea, we were also responsible for developing and maintaining all related business processes. We made the project’s account on the Stripe payment system, a cloud platform for hosting the app’s architecture and other project-related services.

  • Step 3. Technical documentation

We developed the project documentation for Alfredo Ibiza, in which we described the platform’s primary functions. The documentation also included user stories on how the platform should behave in different scenarios, such as a money refund.

  • Step 4. Four product categories

We were also cautious with different product categories and their use cases since they required a different delivery approach. Thus, we decided to divide app products into three major categories, such as Food and BeveragesAlcohol and Tobacco, and Pharmacy, to simplify the delivery calculations process and ensure orders from alcohol and pharmacy would be delivered by business representatives only.

  • Step 5. Price calculation algorithm

Since the platform calculates delivery fees based on the product category (from 15% to 30%), the delivery distance and total project sum, we decided to work with an existing payment gateway and customize it for the project’s needs. For this project, we decided to use Stripe because it is a popular payment gateway that supports the main payment options, including Apple Pay, Google Pay, Visa, American Express, and Mastercard.
To make Stripe calculating custom pricing, we gathered main product categories and created calculating price rules first on Google Spreadsheets. Then, we agreed on the price-forming algorithm with the client and our developers made all the necessary changes into the Stripe code, so it met the project’s needs.

Results that we achieved

We managed to develop the Alfred Ibiza platform within just three months, at a total project cost of $70,000, 50-60% cheaper than the average development cost of a food delivery app.

The platform includes an app for customers, couriers, an admin panel for restaurants with only necessary functions. Besides this, we also developed a marketing landing page to promote the Alfred Ibiza platform.

Our tech stack

  • Node.js
  • React.js
  • React Native
  • Stripe

Team composition

  • 1 Back-end Node.js developer
  • 1 React.js developer
  • 2 React Native developers
  • 1 Quality Assurance manager
  • 1 product owner

Want to develop your food delivery platform?

Ask a demo


The backstory

Wildfires are one of those natural disasters we cannot control. However, by applying modern technologies, we have a chance to predict them and reduce the consequences for both individuals and businesses.

We want to share our experience of working on GlideFinder, a platform that uses images from NASA satellites to analyze information about wildfires in real-time, and alert people nearby.

Once we got an email from Dmitry Kryuk, GlideFinder Founder and CTO, who was looking for experienced Google Cloud developers. He wanted us to improve the product by making several changes to the product’s architecture. In particular, he needed to integrate streaming data analytics tools and connect additional NASA satellites for more accurate and precise wildfire information.

How does it work

GlideFinder is a platform that locates wildfires, alerts subscribers, and provides analytics on time. Initially, GlideFinder was developed for the California region, where fires are especially dangerous and annually destroy hundreds of homes, resulting in multi-billion dollar damages, business bankruptcies, and lives lost. Now, the company wants to help people all over the world to reduce the consequences of wildfires.

The GlideFinder platform leverages both historical and real-time data sources. For real-time alerts, the platform gathers data from:

  • NASA’s Suomi NPP (National Polar-orbiting Partnership) satellite
  • VIIRS (Visible Infrared Imaging Radiometer Suite) satellite

To make predictions about the spread of wildfires, the product analyses data from:

  • Historical NASA MODIS/VIIRS fire data gathered during the previous 17 years
  • The US Fire Administration database
  • United States Census Bureau’s data

Once GlideFinder detects a wildfire, it alerts users about the danger via SMS. Users can also monitor the fire’s movement, direction, speed, and size on real-time maps integrated to the GlideFinder website.

GlideFinder users can also see how far the wildfire is from their homes, their children’s school, parents’ homes, and offices.

Most of the data analytics happens on the Google Cloud Platform, which reduces latency and provides all the necessary data analytics tools.

Client Requirements

Dmitry needed a team to upgrade the product. For this task, he had the following requirements:

  • Integrate streaming data analytics. Since the main project’s architecture operated on batch data processing, we needed to upgrade it so that the product could better perform real-time data analytics.
  • Integrate additional Geostationary Operational Environmental Satellites (GOES-16 and GOES-17) that will run new scans every 5-15 minutes so that the platform can receive more detailed information about a wildfire. But also, the platform can merge the satellite data into a particular format. So, we needed to configure data preparation with geospatial transformations.

Our solution and the obstacles we faced

To integrate streaming data analytics, we developed an ETL (extract, transform, load) pipeline that builds on Google Cloud components such as Dataflow, PubSub, Cloud Functions, BigQuery, etc. We also materialized the views with the required business logic and used a Dataflow job to process that data and write into JSON files in Cloud Storage and Cloud Firestore.

During Data Flow integration, we needed to use Python SDK, because the entire architecture was developed using this programming language. Since Python architecture is less documented (unlike Java, which we apply more often), we dedicated a significant amount of time on the investigation process.

To add open-source geostationary operational environmental satellites, we had to dig deeper into how to work with geo-data, so we conducted further research. We took images received from the satellite and split them into geographical zones using geospatial transformations.

At this stage, we also applied to the Geospatial Data Abstraction Library, a computer software library for reading and writing raster and vector geospatial data formats.

It took us about four months to complete all these tasks.

How we did it

For this project, we created new Buckets (essential containers that hold the project’s data) on Google Cloud Storage. Then, to upgrade the product’s infrastructure, we gradually migrated batch data components to streaming infrastructure.

The integration of GOES-16 and GOES-17 took us through the following actions:

  • Communicated with National Oceanic and Atmospheric Administration engineers and asked them to mirror GOES satellite data into the GCS buckets
  • Connected Glidefinder ETL system to the GOES GCS notifications
  • Processed GOES historical data
  • Stored GOES historical data into BigQuery datasets
  • Added Dataflow Streaming processing of GOES data
  • Added geospatial transformations to align GOES data with satellite data (like VIIRS) already collected

Our tech stack

Google Cloud Components:

  • Dataflow
  • PubSub
  • Functions
  • Storage
  • BigQuery
  • Firestore
  • CloudBuild
  • AppEngine


  • Python
  • JavaScript


  • GDAL documentation
  • netCDF4 API documentation

Team composition

  • 1 Project Manager
  • 2 Data scientists


We empowered GlideFinder with a new infrastructure best suited for streaming data analytics. We also integrated geostationary satellites GOES-16 and GOES-17 that make new scans every 5-15 minutes, so the platform’s users can receive even more relevant data about nearby wildfires. You can try the platform on the link.

We are proud to have participated in GlideFinder’s development because we had the unique opportunity, not only to enhance our Google Cloud Platform expertise, but also to help others save lives.


How it started

When we travel on vacation, the last thing we want is to spend extra time at the hotel reception desk during the check-in procedure. Now, we have PassportScan, an app that allows travelers to register at hotels seamlessly via mobile devices and tablets. 

The story began when David Palo, CEO of PassportScan, was looking for an answer to a fundamental yet straightforward question “whether to develop an iOS or Android app for an existing software?”. 

To find the answer, he searched the web and came across our blog post on the subject. After reading our article, David still had specific issues that remained unresolved, so he decided to contact us and find out more about the mobile app development process.

Once we got in touch with David, he told us more about his challenges. David already had the existing hotel front desk software for document scanning and classification, but he needed an app for tablets and mobile devices that would automate the rest of the check-in procedures done manually by hotel personnel.

As a result, we started a long-term co-operation and developed a PassportScan app for iPads and Android devices, a web service for hotel employees, and a subscription web portal. 

What is the PassportScan app?

Passportscan app development

PassportScan is a SaaS for hotels, currently used by Mariott, Four Seasons, Hyatt Regency, and Hilton. The app turns the check-in process into a 30-second operation and streamlines data gathering using image scanning tools. 

By using PassportScan, hotel employees can scan a guest’s documents, let guests sign registration cards digitally, manage the information via the app, and send data to the hotel’s property management system or customer relationship management system. 

PassportScan app

PassportScan helps to get rid of paper documentation and reduces the number of human errors in the client’s profile by leveraging optical character recognition (OCR) features and the integrated Address Validation Engine. 

passportscan app

Our goals 

  • Develop an app for iOS and Android. We needed to develop an app for tablets and iPads that would allow managers from different hotels to log-in to the PassportScan system via personal accounts, scan guest documents, and send the data to the hotel’s database. 
  • Integrate the app into the client’s eco-system. Each hotel has its own in-house system to track check-ins and information about guests. Thus, the app should send scanned data and other guest info to the hotel’s database seamlessly and error-free. 
  • Build a data management system. Apart from scanning passports, users need a platform to manage data, set up owner and branch settings, payment information, and user access.
  • Enable user payment. Since PassportScan applies a subscription payment model, we needed to create an e-commerce module for online payments via credit card. 
  • Protect personal data. Since the app deals with sensitive data (customer data, document images, and biometric signature), we needed to apply advanced security measures and make the app compatible with new European regulations regarding personal data privacy, such as GDPR.  

Our solution – PassportScan app 

PassportScan consists of three main parts.

PassportScan Workspace 

Workspace is a web portal designed to manage apartment bookings in hostels and hotels. Workspace stores guest profiles, booking details, ID information, and signed documents. 

PassportScan Workspace keeps data received from

  • A mobile PassportScan app
  • A PassportScan desktop software
  • Hotels PMS (Property Management System)

PassportScan Workspace supports integration with Oracle products, such as Suite 8 and Opera, to import and export data. The web portal also includes the support ticketing system so that hotel employees can get in touch with developers in case of bugs or system failures. 

PassportScan Billing System 

This is a web-based app for PassportScan users to pay their subscriptions via the Stripe payment gateway. Initially, users have a one month trial period. At the end of each month, users receive auto-generated invoices based on the number of scans and signs added to the system, and the number of gigabytes used. 

PassportScan’s billing system includes the following features:

  • Billing details validation
  • Credit card validity checking
  • Online payments via Stripe payment gateway 
  • Editing payment methods
  • “Payment history” with digital invoices 

PassportScan Native Apps for iPads and Android tablets 

Native applications allow hotel employees to scan a guest’s documents with iPads and Android tablets, then send data to the Workspace.

Apps for both platforms include the same feature set:

  • Search for available bookings in the PassportScan system
  • Scan front and back sides of documents 
  • Edit the guest’s details
  • Digital Signature 
  • PassportScan privacy policy 
  • GDPR compliant Data Use Agreement 
  • List with additional hotel services 

PassportScan’s check-in takes six steps:

Step 1. Hotel employee starts the registration/check-in process and finds the guest’s booking 

Step 2. Hotel employee updates guest info by scanning documents using the PassportScan app

Step 3. The app recognizes the image from the guest’s passport, captures the data, then classifies and verifies it

Step 4. Hotel employee edits the identified elements if needed

Step 5. The guest agrees with the privacy policy with the GDPR compliant Data Use Agreement 

Step 6. The guest puts a digital signature and may ask for additional hotel services

Our challenges and solutions


Due to the system’s complexity, we developed the project’s back-end system with a potential high load in mind by applying a microservice architecture approach that enabled the system with both vertical and horizontal scaling. 

In this way, the application is divided by functionality (vertical scaling), and each microservice can run as multiple instances behind a load balancer (horizontal scaling). Also, we achieved a more effective consumption of computational resources, since, under high load,  the architecture scales horizontally. 

Passport scan case study

The project’s core consists of 8 back-end services for reading, scanning, and saving documents, digital signatures, etc., and three public components:

  • The Public API provides an interface to the back-end for a native application, as well as integration capabilities for 3rd party external systems
  • The Admin panel with a dashboard for configuration management
  • The Workspace, a web interface to manage the system for hotel staff
Passport scan public api


For every type of app user, the system provides an authentication procedure with personalized credentials and password security provided by Admin. The system interacts with the outer world via SSL with 128-bit keys. Services without external connections, placed on the private cloud, are entirely isolated from external access. The system protects sensitive customer data by encrypting with AES 256 algorithm.

Tight deadlines 

The biggest challenge we faced was keeping tight deadlines during the development stage. The main reason for such a rush was that David and the PassportScan team had already scheduled presentations of the app’s MVP at several RoadShows and Hospitality conferences. Thus, there was no room for error.

We nailed the project’s release within the deadlines, thanks to defined Milestones, a carefully prepared back-end, and microservices project architecture. Thanks to microservices technology, we managed to develop several modules simultaneously, and the further module orchestration helped us to avoid any kind of server shut down. Thus, if any of the modules fail, other modules quickly help (less than 5 sec) to retrieve all the data.

Project tech stack 

  • Symfony 4.3 for web-based WorkSpace and Billing systems
  • Document reader SDK for identifying letters and numbers in passports 
  • Signature module SDK for capturing digital signatures 
  • Scan module SDK for scanning passports 
  • Storage Module SDK for sending data to the cloud storage
  • License and modules management SDK for managing the owners, hotel data, and native clients device identity
  • User management API for setting different levels of user access
  • Stripe SDK as online payment gateway
  • JSON (JavaScript Object Notation) for generating custom invoices
  • Google Maps API for address validation
  • Google Cloud Platform Storage for secured data storage
  • Amazon Web Services Mailer for ticketing system and streamlined technical support 
  • Google Cloud Platform Pub/Sub messaging for connecting microservices architecture components 
  • Swift SDK for iPad app version 
  • Android SDK and Android Studio for Android-powered devices

Team composition

  • 4 Back-end developers
  • 1 DevOps
  • 2 Project managers
  • 2 iOS developer
  • Android developer
  • 2 QA engineer
  • 2 Business Analysts


PassportScan is shaping the hospitality industry by showing how technology can eliminate routine tasks and paperwork for hotel employees. 

Thanks to clear project goals and timely communication with David and the PassportScan team, we managed to build the first app version in just one month from the project launch. We are proud to be a part of such products as PassportScan because they improve the world we live in today. Watch the video where we share our thoughts on the PassportScan project. 

Recently, we launched the discovery phase of the Self-check-in app for PassportScan to enable guests to make check-ins via the app with their own mobile devices. This is very important right now with the situation of the Pandemic of COVID-19, allowing the possibility of non-contact services in the Hospitality industry. 

Client’s testimonial 

Want to develop an application for your business? 

Tell us about your app idea so we can find a solution tailored to your needs.

Contact the team


What is Meet The Table? 

meet the table project description

Meet The Table is an online platform for business networking we developed for StepintoCity, a business accelerator of entrepreneurs and international companies based in New York.

The platform matches Guests – entrepreneurs from Korea who want to start their business and Hosts – New York-based service providers, such as distributors, financial services, marketing agencies, etc. 

Both parties can discuss business opportunities in more detail at a virtual meeting table. Such a table includes a built-in calendar to schedule meetings and enables communication via video conferencing and text messaging with live translation to your native language. 

The platform also includes City Mates – New York residents who bridge the language and culture gaps by coordinating communication between guests and hosts while advocating guests’ rights and needs. 

Our challenge 

Junhwan Paul Kang is CEO of the New York-based business accelerator StepintoCity, inc. The business accelerator includes over 30,000 Korean entrepreneurs who want to open a business in New York.

Junhwan Paul recognized that it is hard for Korean entrepreneurs to enter the U.S. market with their business due to several reasons. They are – lack of an online base of reliable service providers, cultural and language differences. 

Junhwan Paul hired us to build a project that will combine a networking platform with matching functionality, a virtual solution for business events, and a job marketplace to face those challenges. 

The client wanted the platform to support three user roles: guests, hosts, and city mates. For this project, we needed to develop three different user cabinets for three user roles. We also needed to provide users with networking opportunities via secure text messaging and video calls. 

Our solution – Meet The Table, the online networking platform

meet the table business event marketplace

Let’s take a look at the features we implemented for each of the three user cabinets. 

Guest profile

The profile includes a guest’s personal information, contact details, and localization (time zone and language). Allows a guest to add a payment method and view the history of payments. 

Meet the table guest profile

The Product section allows guests to place a request for services they need with a description of the work scope. 

meet the table guest products section

The Host catalog includes a list of service providers, the type of services they provide, the project’s duration, and the price for consultations. 

host catalog section guest profile

The Citymate catalog allows the guest to select a city mate with relevant experience, service category, and availability. 

citymate catalog guest profile

My Booking allows the guest to schedule virtual meetings with hosts and citymates by selecting available time slots in their calendars.  

my booking section  guest profile

Upcoming Meetings include virtual meetings accepted by both parties (the guest and host), information about the participants, and payment status. 

upcomming meetings

The Inbox allows the guest to communicate with hosts and city mates via text messages with live translation by clicking on a message. 

guest inbox with online translation
Online translation prototype the app solutions

[The prototype of in-app message translation by The APP Solutions]

Video Calls allows the guest to join a visual meeting with the host and a city mate and exchange text messages in a built-in life chat with online translation. 

video conferencing with built-in live chat

Feedback enables the guest to share their experience with a host and a city mate by writing feedback and rating.

feedback section guest profile

Host profile

The dashboard includes weekly, monthly, and annual booking statistics and their status (initiated bookings, progress, completed).

host dashboard

The profile includes a host’s personal information, contacts, specialization, and location, payment details (Stripe account), and setting of business hours when the host is available for a consultation.  

guest profile meet the table

The Guests Products section includes requests from guests, the type of service they are looking for, and a detailed description of the service to be provided. 

guest products

Create Tables enables hosts to create new tables, add their description, and specify its price.  

create table

Tables include the history of services provided, their type, status, and the amount of payment received. 

host tables

Booking includes all virtual meeting requests from guests. 

host meeting details

Citymate profile

Profile with information about a detailed description of one’s specialization, provided services category, hourly rate, and a Review section with feedback from other platform users. 

citymate profile

Booking includes a list of requests for virtual meetings from guests. 

The Upcoming Meetings section includes virtual meetings accepted by hosts and their details. 

citymate booking details

Project details 

The delivery of the project took us through the following steps: 

Step 1. Discovery phase

To ensure the scope of the project was aligned with the client’s business needs, we divided the discovery phase into two stages: 

Analysis of competitors

After we defined business requirements, we analyzed several job marketplaces, such as Fiverr, Freelancer, and TaskRabbit, and found some drawbacks in their functionality. 

  • Fiverr does not protect sellers from unfair buyers. Buyers can request some extra work from sellers for free threatening to leave negative feedback. Also, buyers can cancel the project after it is done and get a refund. The chat is very buggy. Users do not receive clear explanations in case Fiverr deletes their user accounts.
  • The Freelancer platform has fraud issues when freelancers/employers must pay the security and may disappear after money is transferred. There are cases when employers pay for work done and later take money back from freelancer wallets by closing their accounts. There are issues with the synchronization of web and mobile apps. Users cannot connect to their accounts via web and mobile at the same time.
  • TaskRabbit allows service providers to cancel tasks at the last minute and cause issues for clients. Users have problems with the “forgot password” flow. The system takes a “one-time sign-up fee” from taskers, and as a result, many potential taskers refuse to register in the system.


After we learned about the competitors’ weaknesses, we made up a list of recommendations for the project’s functionality which we considered during the development:

  • We must avoid fraud from guests, hosts, and city mates. We need to validate hosts and city mates to ensure that they are reliable contra gentes. The system must not include any security payments and show guests that they should not perform direct costs. 
  • We need to check all cases when guests request money back.
  • Rating of host or city mate should not significantly influence their possibility of being involved in service requests. In such cases, guests will not be able to request any extra work for free, threatening to put a low rating for host or city mate.  
  • The payment system must be stable because issues with payment flow always harm the user experience.
  • We should avoid canceling the meeting at the last minute by any user. The system must block such requests or charge a fee.

Step 2. Project documentation phase 

We created a product vision and roadmap and built an architectural design in line with business goals. 

The project documentation consisted of several parts: 

General description – we gave an overall vision of the project, explained prominent user roles, and the project’s primary business goals. 

General functional and non-functional requirements  – we clarified that functional requirement as “The system must send emails to Users in defined events.” We also determined the primary non-functional requirements as “The system must handle approximately 3000 users at the MVP (Minimum Viable Product) phase”.

Payment flow. To avoid issues and fraud with payments from both clients and service providers, we documented all scenarios in which the platform withdraws charges and sends them to hosts and city mates. Based on those scenarios, we wrote a detailed payment flow for the project. 

As a payment solution, we decided to use Stripe, a third-party payment gateway that includes high-end security. Using existing payment solutions is much cheaper than developing a payment gateway from scratch. 

MVP scope. We start working on most new projects by developing a Minimum Viable Product (MVP), and this project wasn’t an exception. Before defining the MVP scope, we wrote user stories for three types of users (actors). Then, we isolated MVP user stories for the Meet The Table app’s core from the rest of the project scope to be implemented during the second development phase. 

Step 3. Product development phase 

With a formalized product vision in Technical documentation and the MVP project scope for the development team, we arranged a Kickoff meeting with stakeholders from Step into City and performed the initial project setup. 

The development phase took us through the following tasks: 

Design creation 

Since Meet The Table includes three user roles, we made the UX convenient and clear by adding only the necessary functionality to each user profile type. We also used a navigation tab on the header available on any page for quick access to essential information. In a nutshell, we did the app’s design in the following ways: 

  • Mockups. We made several mockups of the approximate layouts of main pages and user flow, described in the project’s tech documentation. As the main color scheme, we used yellow and gray, previously agreed with the project stakeholders.  
  • Prototype. We added more elements, such as widgets and buttons, to the initial mockups. We combined ready screens into a clickable prototype, which we also agreed with project stakeholders. 
  • Polished the design. Once we agreed on all the pages and their elements with the StepintoCity team, we polished the design with minor changes. Then, the front end developers implemented all the necessary functionality. 

Backend development 

While part of our team worked on the platform’s design, the backend developers did the following tasks: 

Code refactoring. We decided to use an existing marketplace code as a core backend. So we needed to do a code refactoring at the initial stage of the backend development phase. 

Code refactoring is a process used in the DevOps software development approach that involves editing and cleaning up previously written code without changing the code’s function. The essential purpose of code refactoring is to make the code more efficient and maintainable. 

The developers performed code refactoring by getting rid of switch statements, making conditionals descriptive, and eliminating code duplication. 

Data storage. We integrated cloud data storage into this project. As a cloud storage solution, we used Google Cloud Platform since it ensures the necessary data storage level and scalability in real-time, thus, ensures main non-functional requirements, i.e., handling over 30,000 users during the MVP phase. 

Calculation logic. We developed the price calculation algorithm that calculates the platform’s revenue and revenues for host and city mate received from guests. 

Feature implementation. As the tasks backlog, developers used the functionality described in the MVP project scope and user stories from the tech documentation. Developers spend from one to two weeks of coding to implement one user story, based on its complexity. As soon as a user story was implemented, QA managers tested the ready-made functionality and returned them to fix errors. 

Project Tech Details

  • Backend: Node JS
  • Frontend: React JS, jQuery
  • Database: MongoDB
  • Cloud Storage: Google Cloud Platform 
meet the table project architecture

[Meet The Table architecture diagram]

Third-party software integration with API

We decided to use existing solutions for some of the project’s functions. Right after the project core functionality was ready, we integrated the following REST APIs:

  • Stripe for online payments
  • Twilio for online text messages
  • Socket.io for real-time bi-directional communication between the web client and server
  • Google Translate for multi-language online chat
  • WebRTC for online streaming and video calls

Team composition 

  • 1 Designer
  • 2 Frontend Developers
  • 3 Backend Developers
  • 2 QA Managers
  • 1 Business Analysts
  • 1 Project Manager

Value delivered

The Meet The Table platform was developed as a networking tool that ensures secure and fraud-tolerant cooperation of U.S. based service providers, New York residents, and Korean entrepreneurs. You can check out the project by visiting the official Meet The Table website.

When we created Meet The Table, we focused on making the project to complement Stepinto City’s value proposition as a company to make it easier for global entrepreneurs and companies outside of the U.S. to open their business in New York.

To see more results of our work, visit our Portfolio

Need to develop a business events platform? We'll help you to make a secured job marketplace with video streaming

Contact us

Related readings: