EMV Card QA & Personalization System
The Challenge
DZ Card Philippines manufactures and personalizes EMV chip cards for multiple banks across the Philippines. Each bank has unique card specifications — different data layouts, security requirements, and validation rules. The QA process to verify that thousands of cards are correctly personalized before shipping was largely manual, and the data preparation workflows that fed the personalization machines were time-consuming and error-prone.
What I Built
QA Validation System: Built a .NET Core application for validating EMV card personalization output. The system read card data, checked it against each bank's specification rules, and flagged any discrepancies before cards left the production floor. This caught errors that would have previously made it to the banks' hands — wrong names, incorrect chip data, mismatched magnetic stripe encoding.
Incident Report Management: Developed an incident tracking system for production issues. When a QA check failed or a machine threw an error, the incident was logged with full context — card batch, machine ID, error type, timestamp — giving the production team a clear trail for root cause analysis.
ETL for Card Data Processing: Built ETL applications that took raw card data from banks, transformed it into the formats required by DZ Card's personalization machines, and validated it before feeding it into production. Each bank had different input formats, so the ETL layer normalized everything into a consistent internal representation.
Instant Issuance Automation: Automated the data preparation workflows for instant issuance — the process where a bank branch prints and personalizes a card on the spot for a customer. Reducing the turnaround time for data preparation meant branches could issue cards faster.
Training: Trained both programmers and production personnel on EMV personalization processes, bridging the gap between the software systems and the physical card production line.
Impact
- QA system caught card personalization errors before they reached bank customers
- ETL applications standardized data processing across multiple bank partners
- Instant issuance automation reduced branch card production turnaround time
- Incident tracking gave production teams actionable data for continuous improvement
What I Learned
This was my introduction to manufacturing-adjacent software — where your code has a direct, physical output. A bug does not just show an error message; it prints a wrong card that gets mailed to someone. That taught me to think about validation as a first-class concern, not an afterthought. It also gave me a deep appreciation for ETL work and the importance of getting data transformations right the first time.