Joey Battja
Chief Product Officer. Eighteen years in banking and payments: ING, then Adyen through its IPO, then CPO at Xendit — those last two grew 35× and 10× while I was there. Now CPO at Open Fabric. Dutch, based in Jakarta.
{
"name": "Joey Battja",
"version": "4.1", // age ÷ 10
"role": "Chief Product Officer",
"company": "Open Fabric",
"since": "2026-01",
"domain": ["payments", "banking"],
"years_in_domain": 18,
"nationality": "NL",
"location": { "city": "Jakarta", "tz": "UTC+7" },
"previously": ["Xendit", "Adyen", "ING"],
"trained_as": "classical pianist",
"links": {
"email": "joey@battja.com",
"linkedin": "linkedin.com/in/joey-battja-152a41a8",
"pdf": "/JoeyBattja-CV.pdf",
"experience": "/experience",
"contact": "/contact"
}
}
Key figures
If you read one thing, read this. Everything below is expanded under /experience.
{
"valuation_multiple_during_tenure": {
"xendit": 10,
"adyen": 35
},
"integration_lead_time": {
"before": "P3M",
"after": "P2W"
},
"countries_launched": 5,
"team_led": { "pms_and_designers": 60 },
"scheme_memberships_negotiated": ["mastercard", "visa"],
"headcount_cost_reduction": 0.75, // see /experience/xendit
"maintenance_cost_reduction": 0.5,
"velocity_change": 0
}
Experience
Returns the career as a sequence of movements, most recent first. The tempo markings are honest: a slow start, an acceleration, a sprint, one deliberate pause, and now a smaller stage at full speed.
{
"object": "list",
"data": [
{ "movement": "IV", "org": "Open Fabric", "tempo": "Allegro con brio", "from": "2026-01", "to": null },
{ "movement": null, "org": "Intermezzo", "tempo": "Adagio", "from": "2025-03", "to": "2025-12" },
{ "movement": "III", "org": "Xendit", "tempo": "Presto", "from": "2021-08", "to": "2025-03" },
{ "movement": "II", "org": "Adyen", "tempo": "Allegro", "from": "2016-09", "to": "2021-07" },
{ "movement": "I", "org": "ING", "tempo": "Andante", "from": "2008-11", "to": "2016-08" },
{ "movement": "Prelude", "org": "Prins Claus Conservatorium", "tempo": "Rubato", "from": "2004", "to": "2007" }
],
"has_more": false
}
Issuer processing — the other side of the card transaction from everything I did at Adyen and Xendit. A much smaller company than the last two, so the title says CPO but the job is Product plus whatever else lands on the table: pre-sales, legal, account management. One-man show.
- Launched Tap & Pay in the Philippines with the largest wallets and BNPL providers in the market.
- Closed deals from Southeast Asia to Africa.
- Work with Mastercard and Visa day to day — this time from the issuing side.
Working AI-native
With no team to delegate to, I run the company's product work the way I'd expect a team to run it in 2026. Some examples:
- Rebuilt the company website in a matter of hours with Claude Design. The previous version took a marketing agency weeks.
- Wrote the developer documentation from scratch in days, using LLMs to draft, check and keep it consistent with the actual API.
- Contracts, proposals, pre-sales decks and internal tooling: same approach. Most of what used to need a specialist or a vendor now needs an afternoon.
{
"movement": "IV",
"org": "Open Fabric",
"tempo": "Allegro con brio",
"role": "Chief Product Officer",
"from": "2026-01",
"to": null,
"domain": "issuer processing",
"company_size": "small",
"team": 1, // me
"also_running": ["pre-sales", "legal", "account management"],
"launched": [
{ "product": "Tap & Pay", "market": "PH", "partners": ["largest wallets", "BNPLs"] }
],
"deals_closed": { "from": "Southeast Asia", "to": "Africa" },
"networks": ["mastercard", "visa"],
"ai_native": {
"website_rebuild": { "took": "PT4H", "previously": "P3W", "with": "Claude Design" },
"developer_docs": { "took": "P3D", "from_scratch": true, "with": "LLMs" },
"also": ["contracts", "proposals", "pre-sales decks", "internal tools"]
}
}
Nine months of advisory work, and the first real pause since 2008. I used most of it to learn to build with LLMs properly: shipped a series of my own AI tools, some of which I still use daily. That's where the way I now work at Open Fabric comes from.
{
"movement": null,
"org": "Intermezzo",
"tempo": "Adagio",
"from": "2025-03",
"to": "2025-12",
"activities": ["advisory", "building AI tools", "rest"],
"shipped": ["Laminar", "Arc", "…"], // see /skills
"regrets": 0
}
The leading payment gateway in Southeast Asia. When I joined it was Indonesia-only; when I left it covered every major market in the region and the valuation had grown 10× to over $3B.
- Led the Product organisation — around 60 product managers and designers — and joined the leadership team.
- Cut Product & Engineering headcount cost by 75%. That means I let most of the team go. It was hard, and it was the right call: we kept shipping new features at the same pace with a quarter of the cost.
- Expanded the product to 5 new countries, integrating directly into the local payment infrastructure in each one.
- Personally drove the conversations with Mastercard and Visa that made Xendit a direct scheme member, then built the cards processing platform and the team for it from scratch.
- Hired to run the core business line. Re-architected the payments platform: maintenance cost down 50%, and time to ship a new payment channel down from about 3 months to about 2 weeks.
How I worked there
Practical, and leading by example. I want to know the product inside out and the customers just as well, so I spent a lot of time in the region meeting merchants, partners and the team. Colleagues describe me as direct, no-bullshit, biased to action, and calm about all of it.
{
"movement": "III",
"org": "Xendit",
"tempo": "Presto",
"from": "2021-08",
"to": "2025-03",
"location": "Jakarta",
"company": {
"what": "leading payment gateway, SEA",
"countries_on_join": 1,
"countries_on_leave": 6,
"valuation_multiple": 10,
"valuation_usd": "3B+"
},
"roles": [
{
"title": "Head of Product & CPO",
"from": "2022-11",
"to": "2025-03",
"team": { "pms_and_designers": 60 },
"leadership_team": true,
"headcount_cost_change": -0.75,
"velocity_change": 0,
"countries_launched": 5,
"scheme_membership": ["mastercard", "visa"],
"built_from_scratch": ["cards processing platform", "cards team"]
},
{
"title": "Product Lead, Payments",
"from": "2021-08",
"to": "2022-11",
"maintenance_cost_change": -0.5,
"integration_lead_time": { "before": "P3M", "after": "P2W" }
}
]
}
One of the world's leading payments companies. I was there while it went from a relatively small scale-up to a global industry leader: IPO in 2018, and 35× in valuation to $80B by the time I left.
- Implemented and ran a long list of payment methods and partners: iDEAL in the Netherlands, Klarna globally, card instalments in Turkey, convenience-store payments in the Philippines.
- Day to day: negotiating with partners and prospective partners, fixing operational and financial issues, and being the subject-matter expert for merchants.
{
"movement": "II",
"org": "Adyen",
"tempo": "Allegro",
"role": "Product Manager, Local Payments",
"from": "2016-09",
"to": "2021-07",
"location": "Amsterdam",
"company": {
"ipo": 2018,
"valuation_multiple": 35,
"valuation_usd": "80B"
},
"payment_methods_shipped": [
{ "name": "iDEAL", "type": "online_banking", "market": "NL" },
{ "name": "Klarna", "type": "bnpl", "market": "global" },
{ "name": "card instalments", "type": "cards", "market": "TR" },
{ "name": "convenience store", "type": "cash", "market": "PH" },
"…"
],
"day_to_day": ["partner negotiation", "ops & finance fixes", "merchant SME"]
}
The largest bank in the Netherlands. Started on the phones, ended up owning product.
- Answered customer calls on online banking and mortgages in Groningen. Within two years, was asked to help set up the second-line support team at head office in Amsterdam.
- Moved into Business Analysis, then became Product Owner for ING's online business banking channels across Europe.
- Learned to work with internal and external development teams, and spent most of my time solutioning and making trade-offs with stakeholders to get things live. This is where the affinity for tech started.
{
"movement": "I",
"org": "ING",
"tempo": "Andante",
"from": "2008-11",
"to": "2016-08",
"location": ["Groningen", "Amsterdam"],
"roles": [
{ "title": "Call-centre advisor", "scope": ["online banking", "mortgages"] },
{ "title": "2nd-line support", "note": "helped set up the team, head office" },
{ "title": "Business Analyst" },
{ "title": "Product Owner", "scope": "online business banking, Europe" }
],
"learned": ["internal & external dev teams", "trade-offs", "shipping"]
}
Classical piano. Beethoven, Chopin, Rachmaninoff, Bach, Liszt, Mozart, Prokofiev, Schubert. Still playing — see /recordings.
{
"movement": "Prelude",
"org": "Prins Claus Conservatorium",
"tempo": "Rubato",
"from": "2004",
"to": "2007",
"instrument": "piano",
"repertoire": ["Beethoven", "Chopin", "Rachmaninoff", "Bach", "Liszt", "Mozart", "Prokofiev", "Schubert"],
"still_active": true
}
Skills
Payments
- Payments and cards processing, clearing and settlement for bank transfers, local e-wallets and national QR schemes.
- Regulation and compliance: licence applications on both sides of the world — Europe and Southeast Asia. I know how to work with rulebook regulators like the EU and Singapore, where the answer is in the text, and with regulators like Indonesia, where the answer is in the relationship. Few people have done both.
- Commercials and pricing. I can show, with data, what a product does to a company's revenue and cost.
- Enough conversations with e-commerce, digital goods, digibanks and travel companies to know their pain points and turn them into product and commercial opportunities.
Technical
Deep enough to review an architecture, and to build and ship products on my own. Historically Java and SQL, with enough HTML and JavaScript to get by; since 2025, mostly LLM-assisted, and end to end — including the infrastructure (AWS, Cloudflare, deployment, monitoring). Two of the things I built are live B2B SaaS products with paying customers:
- Laminar — AI-native product documentation. Writes PRDs and keeps the documentation aligned with the code, automatically.
- Arc — AI-native presentations. An agent that builds the deck from a prompt with full context of your company, plus a Google-Slides-grade editor and presenter.
Not commercialised, but built end to end: a payment gateway from scratch, and a sheet-music library with an AI tutor.
Leadership
Teams from a handful of people to sixty. Companies from a small startup to a scale-up through its IPO to a large incumbent bank. Different sizes need different ways of working, and I've done enough of them to know which one a company actually needs.
"There's no one size fits all."
{
"payments": {
"processing": ["cards", "bank transfers", "e-wallets", "national QR"],
"clearing_settlement": true,
"regulation": {
"licence_applications": ["EU", "ID"],
"regulator_styles": {
"rulebook": ["EU", "SG"], // answer is in the text
"relationship": ["ID"] // answer is in the room
}
},
"commercial": ["pricing", "unit economics", "revenue impact"],
"verticals": ["e-commerce", "digital goods", "digibanks", "travel"]
},
"technical": {
"reviews_architecture": true,
"builds_things": true,
"languages": { "Java": "solid", "SQL": "solid", "HTML/JS": "basic" },
"infra": ["AWS", "Cloudflare", "deployment", "monitoring"],
"since_2025": "LLM-assisted, end to end",
"projects": [
{ "name": "Laminar", "url": "laminar.orchesthq.com", "what": "PRDs + docs that stay aligned with code", "status": "live", "customers": true },
{ "name": "Arc", "url": "arc.orchesthq.com", "what": "agent-built slides + full editor", "status": "live", "customers": true },
{ "name": "payment gateway", "what": "built from scratch", "status": "not commercialised" },
{ "name": "sheet music library", "what": "with an AI tutor", "status": "personal" }
]
},
"leadership": {
"team_size_range": [5, 60],
"company_stages": ["startup", "scale-up", "IPO", "public", "incumbent bank"]
}
}
Languages
Dutch natively, English near-natively. Indonesian well enough to run a business meeting in it — with an accent, but nobody has to switch to English for me. German, French, Spanish and Italian well enough to have a proper conversation. And a dozen or so more where I can order a coffee or a beer and get the right one.
Separately: I can read Cyrillic, Greek, Hangul, Hiragana, Katakana and a bit of Kanji, and cannot speak most of the languages that use them. The response marks those read_only.
{
"spoken": [
{ "lang": "nl", "level": "native" },
{ "lang": "en", "level": "near-native" },
{ "lang": "id", "level": "business", "accent": true },
{ "lang": ["de", "fr", "es", "it"], "level": "conversational" },
{ "lang": "~12 more", "level": "coffee_or_beer" }
],
"scripts": [
{ "script": "Cyrillic", "read_only": true },
{ "script": "Greek", "read_only": true },
{ "script": "Hangul", "read_only": true },
{ "script": "Kana", "read_only": true },
{ "script": "Kanji", "read_only": true, "partial": true }
]
}
Characteristics
- Sees the bigger picture and thinks in long-term goals, while knowing nearly all the details and staying hands-on.
- Translates technical into business and back, fluently.
- Pragmatic. Would rather do it than discuss doing it.
- Driven to deliver above what was asked. Every time.
- Calm. Relaxed. In control.
- Direct. You'll always know where you stand with me.
- Autodidact: programming languages, instruments and human languages, all self-taught, all fast.
- From a household of several cultures, religions and languages, with work across Europe and Asia. Cultural gaps are crossable.
"You can't understand the bigger picture without understanding the details."
{
"big_picture": true,
"detail_aware": true,
"hands_on": true,
"tech_to_business_translation": "bidirectional",
"pragmatic": true,
"bias_for_action": true,
"calm": true,
"direct": true, // not configurable
"autodidact": ["code", "instruments", "languages"],
"multicultural": true,
"one_size_fits_all": false
}
Recordings
Piano. Because it's a large part of who I am, and because a CV that only lists what you did at work is only half a CV. Two excerpts, recorded at home in Jakarta.
{
"object": "list",
"instrument": "piano",
"data": [
{
"title": "Rhapsody in Blue",
"composer": "George Gershwin",
"arrangement": "solo piano",
"recorded": { "city": "Jakarta", "year": 2021 },
"excerpt": { "start": "PT0S", "duration": "PT1M7S" },
"url": "/recordings/gershwin-rhapsody-in-blue.mp3"
},
{
"title": "Ballade No. 1 in G minor, Op. 23",
"composer": "Frédéric Chopin",
"section": "introduction and first theme",
"recorded": { "city": "Jakarta", "year": 2022 },
"excerpt": { "start": "PT0S", "duration": "PT1M48S" },
"url": "/recordings/chopin-ballade-1.mp3"
}
],
"has_more": false
}
Contact
Email is the endpoint: joey@battja.com. LinkedIn works too. If you need the one-page version for a file: PDF. Based in Jakarta, so factor in UTC+7 — I tend to answer quickly, but not at 4am.
Happy to talk product leadership, payments and fintech — advisory, a second opinion, or something bigger. Come with specifics; I'll answer with specifics.
// request
{
"to": "joey@battja.com",
"subject": "…",
"body": "specifics go here",
"about": "product_leadership" | "advisory" | "something_bigger"
}
// response
{
"status": "accepted",
"expected_reply": "within a day, UTC+7 permitting",
"linkedin": "linkedin.com/in/joey-battja-152a41a8",
"pdf": "/JoeyBattja-CV.pdf",
"phone": null // see Errors → 404
}
Errors
This resume uses conventional HTTP status codes. These are the ones you may run into.
| Code | Meaning |
|---|---|
| 404phone_not_found | Phone numbers aren't exposed here. Use POST /contact. |
| 409fluff_rejected | The request contained corporate euphemisms. Rephrase plainly and retry. |
| 429too_many_meetings | Rate limited. Retry with an agenda. |
| 422one_size_fits_all | You asked for the same playbook that worked at your last company. It won't validate here. |
| 503at_the_piano | Temporarily unavailable. Retry after the movement ends. |
{
"error": {
"code": "phone_not_found",
"message": "Phone numbers aren't exposed here.",
"hint": "POST /contact"
}
}
Changelog
Version number is age ÷ 10. A minor release ships every 29 July, whether or not anything changed.
| Version | Change |
|---|---|
| v4.1 · 2026-07 | Scheduled release. No breaking changes. |
| v4.0 · 2026-01 | New major: CPO, Open Fabric. Switched to the issuing side. |
| v3.9 · 2025-03 | Intermezzo. Advisory, rest, and a series of AI tools shipped — see /skills. |
| v3.7 · 2022-11 | Promoted to Head of Product & CPO, Xendit. Added /experience/xendit.roles[0]. |
| v3.6 · 2021-08 | New major: Xendit, Jakarta. Region changed from EU to SEA. |
| v3.1 · 2016-09 | New major: Adyen, Amsterdam. |
| v2.3 · 2008-11 | First production release: ING, Groningen. |
| v1.9 · 2004-09 | Prelude. Prins Claus Conservatorium. |
| v0.0 · 1985-07-29 | Initial commit. |