Highlights
- an Android app built from scratch with modern technologies
- smooth facial recognition without delays
- integration with a Bluetooth device
Technologies Used: Kotlin, Kotlin Coroutines, Retrofit, Android Jetpack, Android SDK
Methodology: Scrum
Customer
The customer is a Japanese company that offers IT infrastructure for HR and business management as well as face recognition systems.
Need
Our customer was looking for a partner to update or rebuild their existing Android app for breath alcohol concentration testing with simultaneous facial authentication for truck drivers. The app connects to a specific Bluetooth device and is used to record the driver’s alcohol status before driving.
Solution
To conduct breath alcohol testing, a user needs a Bluetooth device that functions as a breathalyzer. Before starting, one needs to choose the region, route, and one of two available modes.
In the first mode, the app simply takes a picture of the user conducting the breath alcohol test and sends it to the server.
The second mode is basic and involves facial recognition. When logging into the app for the first time, a user takes a picture of their face, which turns into a sample for later comparison. While the user is interacting with the Bluetooth device, the app scans the user’s face and compares it to the original sample. This allows for identifying the person taking the test and eliminates possible cheating and false results.
User data is transmitted in the background to be processed and stored on the customer’s server.
Challenges
During our collaboration with the client, the development team had to solve several essential tasks that required strong technical and communication skills.
Since the client already had an outdated Android app, the first task was to investigate the existing solution and assess what would be more cost-effective: to update the app or create a solution from scratch. The client also had an iOS app that needed a minor upgrade. So, after a comprehensive code review, our team provided the customer with three options:
- update the existing app;
- build an Android app from scratch;
- create a cross-platform app for Android and iOS.
Based on our technical expertise and time-cost comparison, our specialists recommended the client build the Android solution from scratch, using more modern frameworks to gain better app performance. The client heeded our advice and decided to create a new app.
To enable facial recognition, the app is connected to a library developed by our client some time ago — that is, using rather outdated technologies. So, another challenge was to establish a stable connection between the app and the library and ensure reliable operation and seamless data flow. At times, the library had worked with slight delays, which reduced the solution’s productivity. Our team was able to adapt the app in a way that would eliminate latency and boost app performance.
As the solution needed to be designed for the local market only, we also faced the challenge of positioning text content in Japanese correctly. Here we benefited from the client’s deep involvement in the process. They quickly provided us with a translation of text materials from Japanese to English and checked placement in the final app version.
So, drawing on extensive business and technical experience, our team helped the client choose the most beneficial option for project development and delivered a high-quality solution, according to requirements.
Process
The solution was developed following the Scrum methodology. Our team divided the workflow into three main sprints lasting 2 weeks and a one-week preliminary sprint. In total, the app development took about 2 months. After each sprint, the customer received the APK file to assess the development progress and test new features.
With strong team management, we succeed in completing project development within the deadlines. Each app version sent to the customer complied with the one set in the project development roadmap.
Team
- 1 Android developer
- 1 QA engineer (part-time)
- 1 Project Manager (part-time)
Outcome
In collaboration with HQSoftware, the client has received a new Android app with improved performance for breath alcohol concentration testing with facial authentication.
The application has now passed the acceptance testing phase and has been released to the market. The new app is 50-60% faster than the outdated one, which increased the satisfaction of end-users. The customer is satisfied with its cooperation with HQSoftware, as the app was delivered on time and within budget, meeting all project requirements.
Need more info about our IoT development services? Contact us and get a free consultation.
Check Out Other Works
See How We Approach Business Objectives
We are open to seeing your business needs and determining the best solution. Complete this form, and receive a free personalized proposal from your dedicated manager.
Sergei Vardomatski
Founder