DigiYatra is an initiative by the Ministry of Civil Aviation in India, designed to create a seamless, paperless, and streamlined air travel experience. It leverages biometric technology and aims to authenticate travelers' identities at various checkpoints at the airport.
This means smaller wait times and fewer errors at checkposts.
As of June 2023, DigiYatra had more than 1 million app downloads. The most avid users, by percentage of usage, are from Varanasi!
Through this blog we will try to demystify the High-Level System Design of DigiYatra’s Ticket Vault system and how it’s helping us go to airports "face-first":
- Passenger Identity Processing: Utilizes a facial recognition system at various checkpoints like entry points, security checks, and aircraft boarding.
- Enrolment Process: Passengers can create a Digi Yatra ID by providing personal details such as name, email ID, mobile number, and identity documents (like Voter ID, Driving License, Aadhaar, etc.).
- Privacy and Security: Protection of Personally Identifiable Information (PII) with encryption, no central storage of data, and purging of data within 24 hours of the flight.
- Availability: High availability for users to access the service whenever needed.
- Performance: Efficient processing of biometric data and quick identity verification at various checkpoints.

1. The architecture diagram for DigiYatra
Let’s discuss the architecture by putting flight passengers as the user of this mobile application:
This aspect of the architecture is crucial as it involves the initial user registration by obtaining their Aadhaar card details. There are two methods to acquire this information: either by retrieving the data from DigiLocker or by prompting the user to register and upload their Aadhaar details directly from the authorized website.
Once the necessary details are gathered, the user is prompted to undergo a facial scan. Subsequently, as a final step, the traveler is requested to upload their boarding pass.
The application then integrates the traveler's boarding pass with the Facial Recognition System (FRS), ensuring their identification is confirmed. Consequently, this streamlines the process at the boarding gates and expedites the pre-security checks.
After authentication, The User Service maintains all user data in a MySQL database to ensure data integrity and adherence to ACID properties. Additionally, it employs Redis to provide frequent travelers with lower-latency data access, also for security purposes the data of the user is cleared beyond 24 hours.
The Authorize Service, a crucial component deployed at airports, verifies and authorizes passengers. It interfaces with the User Service to validate passengers' credentials and connects to the Flight Service to confirm that the boarding pass is accurate and authorized by the airline.
Once the system confirms a passenger as the intended traveler for a flight, the Notification Service dispatches the information to both the passenger’s mobile device and the flight service, updating them on the passenger's status.
Analytics Service is an Apache Spark Cluster in conjunction with a Hadoop Cluster could be utilized to track the increase in user numbers, assess engagement levels, and explore potential enhancements. These analytical tools can also monitor the facial recognition system's accuracy and processing speed within the application, providing valuable insights for continuous improvement.
By analyzing trends and user interaction data, we can further refine the application to meet evolving passenger needs and predict future usage patterns, ensuring the platform remains resilient to failures.
Currently, we are managing a million users by augmenting MySQL with multiple read replicas and caching, which ensures efficient service. However, considering the ever-increasing number of air travelers, we may soon encounter scalability bottlenecks. To address future scalability concerns, we could consider transitioning to a NoSQL database. This would enhance our system's ability to scale horizontally and better manage the substantial read and write loads anticipated with user growth.
Digiyatra is a fascinating tech success. The app idea is simple: make airport security checks contactless.
The Face Recognition Algorithms are developed especially for Indians. This was necessary because traditional face recognition algorithms are optimized for non-brown skin, and are notorious for errors in India.
This tech deep dive showed us what are the possible technologies working behind the scenes. For more examples of system design, go to System Design Simplified.