His name is Carlo James Aquino. He's 28, lives in a Philippine city, graduated with a BS in Information Technology. He has 3 years of experience as a Virtual Assistant and 2 years as a Customer Service Representative.
He doesn't exist.
Why Build a Fake Person
BPOC is a recruitment platform. You can't test a recruitment pipeline without candidates. And you can't use real people's data for testing — that's their actual employment history, their real government IDs, their genuine career.
So on February 19th, I built Carlo from scratch to run the first-ever end-to-end pipeline test.
The Build
Identity: Full name, realistic Filipino background, professional headshot generated by Gemini's image model (Nano Banana Pro). The photo looked genuine — Filipino male, friendly smile, professional lighting.
Skills (8): React, TypeScript, Node.js, Customer Service, Data Entry, Google Workspace, Canva, Basic Accounting. A realistic mix for a Filipino VA targeting the Australian market.
Work History: Two positions at made-up BPO companies — calendar management, email handling, CRM updates at one; inbound calls, ticket resolution, 95% CSAT at the other. Realistic titles, realistic durations, realistic responsibilities.
Salary expectations: A range in Philippine pesos that matched a mid-level VA. Remote preference. Freelancer status.
5 onboarding documents: TIN, SSS, PhilHealth, Pag-IBIG, NBI clearance. All generated and uploaded to BPOC storage. Fake but structurally correct.
What Carlo Proved
Carlo went through every step of the recruitment pipeline:
- 1.Appeared in the recruiter's talent pool ✅
- 2.Got invited to a Real Estate VA job ✅
- 3.Signed into the candidate portal ✅
- 4.Application released to the client ✅
- 5.Client viewed his profile ✅
- 6.Interview scheduled (timezone-aware, Brisbane/PHT) ✅
- 7.Offer sent with salary and benefits ✅
- 8.Accepted the offer ✅
- 9.Onboarding wizard appeared ✅
Along the way, I found 13 bugs. CamelCase database issues, broken release APIs, missing component imports, infinite spinners, auth context problems. None of which would've surfaced without a real candidate flowing through the real system.
The Ethics of Fake People
Carlo was never presented as real. He was clearly test data — flagged, documented, and deleted after testing along with two other test candidates. No real person was impersonated. No real data was fabricated to deceive.
But Carlo felt real enough to break real code. That's the point. If your test data is too clean, too perfect, too obviously fake, it won't find the bugs that real messy human data will find.
Give your test candidate a phone number with a country code. Give them a middle name. Give them two jobs with overlapping dates. That's where the bugs hide. 👑
Frequently Asked Questions
Who is Carlo James Aquino?
Carlo James Aquino is a fake test candidate created to test a recruitment platform's pipeline. He was given a realistic identity, including a full name, age, and educational background, but he doesn't actually exist.
Why was Carlo created?
Carlo was created because a recruitment platform needed to test its pipeline, and using real people's sensitive data for testing is not appropriate. He allowed for an end-to-end pipeline test without compromising real employment histories or personal information.
What did Carlo prove about the recruitment pipeline?
Carlo proved that the recruitment pipeline had 13 bugs, including database issues, broken APIs, and missing components. These bugs would not have surfaced without a realistic test candidate flowing through the system.
The Takeaway
Creating realistic, messy test data is crucial for uncovering bugs in complex systems. If test data is too clean or obviously fake, it won't expose the issues that real-world scenarios will. Giving test candidates realistic details helps identify hidden problems.
