The Problem
A large Vietnamese EdTech & Online Program Management (OPM) provider receives hundreds to thousands of recruitment applications each cycle. Each application contains details submitted by both the student and the partnering university — and these details must match. Previously, this validation was done manually using pure Excel, a process that was not only time-consuming but next to impossible to complete accurately within the tight turnaround of just a few days.
The Solution
The Recruitment Validator is an automated recruitment data validation tool that ingests application data from both the company and the university, cross-references every field, and flags any discrepancies. Each mismatch is clearly marked with what exactly mismatched and rated by severity — Low, Medium, or High — so the operations team knows exactly what needs attention.
High-severity mismatches signal that the company may need to contact the student and/or the university directly to resolve critical discrepancies before proceeding. Medium-severity items require review but may not block the process. Low-severity flags are informational and can often be resolved internally.
How It Works
Data Ingestion
Application data from the company and the university is uploaded into the system
Automated Cross-Referencing
Every field is compared between the two sources — identifying discrepancies across hundreds to thousands of records
Mismatch Detection & Marking
Each mismatch is flagged with a clear description of what mismatched and where
Severity Rating
Every mismatch is rated Low, Medium, or High — guiding the team on what to check, escalate, or resolve
Severity Rating System
Not all mismatches are equal. The system classifies each discrepancy by severity so the operations team can prioritise their response effectively.
Informational
Minor discrepancies that can typically be resolved internally without external contact. Examples: formatting differences, minor typos.
Requires Review
Notable mismatches that need attention but may not block the recruitment process. The team should verify and correct as needed.
Escalation Required
Critical discrepancies where the company may need to contact the student and/or the university directly to resolve before proceeding.
MVC Architecture
Built with a Model-View-Controller (MVC) architecture — chosen deliberately for speed and simplicity. The clean separation of concerns made it fast to develop, easy to reason about, and straightforward to deliver results without over-engineering.
Model
Data LayerPydantic models for data validation and structure — ensuring type-safe, validated data flows through the entire pipeline
View
PresentationJinja2 templates rendering results directly in the browser — the operations team gets instant, readable output without a separate frontend
Controller
LogicFastAPI route handlers orchestrating file uploads, cross-referencing logic, mismatch detection, and severity rating
Tech Stack
Impact
Speed
What took days of manual Excel checking is now completed in minutes — freeing the operations team to focus on resolution instead of detection.
Accuracy
Automated cross-referencing eliminates human error — no more missed mismatches in thousands of records.
Clarity
Every mismatch is documented with what went wrong and how severe it is — no guesswork for the team.
Scalability
Handles hundreds to thousands of applications per cycle without performance degradation — ready for growth.
Client Context
The client is a large Vietnamese EdTech & Online Program Management (OPM) provider that works with multiple universities and handles large volumes of recruitment applications. Due to confidentiality, further details about the company cannot be disclosed.
Have a Data Problem That Needs Solving?
From days of manual work to minutes of automated validation.
This tool was built to solve a real operational bottleneck — turning an impossible manual process into a reliable, automated workflow. If your organisation faces similar challenges with data validation, reconciliation, or process automation, the guild can help.