Virgil: A bespoke recruitment platform for hospitality domain
Category: Hospitality, Career & Recruitment
Services: Managed Engineering Team, Cloud-Native Development and Microservices Architecture, DevOps Engineering, OpenSearch Configuration and Customization, Advanced Query Optimization, Scaling and Performance Optimization:Cost Optimization, High Availability and Disaster Recovery, Data Visualization and Reporting
- 600,000+ Users accessing the platform during a day
- 60% reduction in search query response times
- Reduced data indexing time by 45%
About Virgil
Virgil specializes in developing technology-enabled solutions that help individuals and businesses streamline the recruiting process. Hcareers is one of their most popular recruitment platforms that connects employers with hospitality talent.
Challenges
- The platform needed to be modernized in order to improve code performance.
- Bulk job posting was a time-consuming process.
- Quickly parsing resumes and building a match-making engine using Machine Learning.
- For further visibility into the ROI, improved analytics and a customized solution were necessary.
- Integration with existing ATS (Applicant tracking systems) for better recruitment management.
Proposed Solution & Architecture
- During the first few weeks, our managed engineering team spent time learning about the current code, platform architecture, and business logic. Following that, we re-architected the architecture to be built on microservices, allowing the services to be decoupled and the application to be fail-safe.
- Increasing the platform’s scalability was one of the major concerns. Hence, the system is containerized using the AWS Fargate to delegate the scalability.
- The data was centralized using AWS Athena for faster analytics and report generation.
- We devised a system to keep track of messages in the queue while implementing a queuing mechanism for submitting job postings. It will check for job posting notifications on a regular basis and act on them instantly. Employers were having to wait longer earlier when AirSchedular was used to execute this task.
- This also increased debugging visibility for developers, allowing them to know if there were any errors in uploading files.
- For faster resume processing and better application performance, we improved the existing code.
- The caching approach was put in place to reduce the number of times the Google location search API billed for frequently searched job locations. We used ElastiCache for two months and preserved the caching limit, which allowed us to cache locations several times while only being paid once.
- We enabled a mass job posting mechanism in the system for large-scale recruiting and candidate screening based on the preferences of thousands of relevant profiles.
- Our team implemented Amazon OpenSearch to enhance data search capabilities, enabling faster and more precise search functionality.
- We leveraged Amazon OpenSearch to bolster analytics capabilities, empowering Virgil with deeper insights into data for informed decision-making.
- Our experts utilized Amazon OpenSearch to centralize data storage, facilitating streamlined data access and analytics for improved efficiency.
Metrics for success
- Significantly improved scalability of the platform.
- Significantly enhanced application performance, resulting in an increased number of users.
- Increased visibility into credit usage by clients using the newly developed credit-ledger system.
- Using AWS managed services, the platform can handle more than 600,000 users per day, which is 10 times the previous figure, without compromising the user experience.
- Achieved a 60% reduction in search query response times, enhancing user experience with faster data retrieval through AWS OpenSearch.
- Reduced data indexing time by 45%, enabling real-time data updates and faster access to the latest information using AWS OpenSearch.
Architecture Diagram
AWS Services
- AWS Lambda: Transfers files between Amazon S3 locations, facilitating global data access and updates applicant records in the database for compliance and user management. It also triggers email confirmation notifications, enhancing user engagement.
- AWS Fargate: Manages containerized code for improved security and server management and eliminates operational overhead through automated scaling and patching.
- Amazon RDS: Stores app data for multiple microservices, ensuring scalability and operational ease and performs complex queries for data retrieval, optimizing search functionality.
- Amazon EC2: Connects external and private resources, facilitating virtual private networks and hosts special-purpose web APIs for limited user accounts, enhancing user experience.
- AWS Athena: Queries massive raw data files within the application database for analytics and acts as an intermediary between S3-stored Parquet files and third-party analytics services.
- AWS Glue: Integrates with Athena to extract data from Parquet files hosted on S3.
- Amazon OpenSearch: Enables swift data retrieval with customizable filters like job location and role, boasting advanced query capabilities, efficient indexing, and real-time accuracy.
- Amazon ECR: Stores docker images, streamlining deployment and image management.
- AWS CloudWatch: Collects and evaluates various metrics and logs for monitoring.
- AWS CloudTrail: Enhances security analysis, governance, and risk auditing, simplifying troubleshooting and security management.