
Software Architect — Product Platform
Xendit (YC S15)
April 2021 - January 2024 — Singapore, Singapore
Tags
go
nodejs
typescript
postgresql
mongodb
redis
jenkins
rabbitmq
docker
docker-compose
aws
software-architecture
refactor
re-architect
product-platform
payment
ledger
billing
As a Software Architect at Xendit, I was focusing on product platforms, enabling product teams by resolving common platform capability issues. Tackling and clearing company-wide tech debt, and sometimes jumping around to fix critical, timely issues to unlock business opportunities.
Roles and Responsibilities
- Created and Owned the Architecture Northstar to set the teams’ architecture direction and vision and aligned it with the annual company strategy, especially for all these teams below.
- Merchant Financial Group (MFG), (2023-2024)
- Top Up and Withdrawal (2023-2024
- Unified Transaction View (2023-2024)
- Reporting Platform (2023-2024)
- Ledger / Transaction Platform as Service) (2023-2024)
- Billing Platform as a Service (2022-2024)
- Authorization and Authentication Platform as a Service (2022-2023)
- Notification Platform as a Service (2021-2022)
- File Manager Platform as a Service (2020-2021)
- XenShield (Fraud Prevention and Risk Management) for payment. (2020-2021)
- Merchant Financial Group (MFG), (2023-2024)
- Led the Report Platform re-architect initiative focused on decoupling Ledger and Report for domain boundary separation and better performances. Move the reporting to Datalake using DatabrickSQL. Reduced critical issues: regular DB restart (from 4+ times a day) to zero(none) due to heavy queries for report export on Ledger read replicas.
- Moved the UI data source from Postgres read replica to Elasticsearch/OpenSearch. Reduced average response times from p95 3s into p95 300ms for transactions and balance history endpoints used in Dashboard and public API.
- Led the Ledger / Transaction Platform re-architect initiative, which focused on improving ledger performances by introducing the journal entry layer and eventual consistency for the ledger line creation. Improved ledger writing performance, increased the Request Per Second (RPS), and reduced the average Response time in Money-Out flow by at least 250% and Money-In flow by at least 450% from the existing system during the burst request.
- Led the Unified Transaction View (UTV) project to consolidate all transaction activities for merchants in the Xendit Dashboard to improve the user experience for viewing their transactions, reconciliations, and exporting the reports. Co-led a mini team of 6 people, including myself: 1 backend, 1 frontend, 2 data engineers, and 1 QA engineer.
- Led the Billing Platform re-architect initiative that later contributed to reducing AR days from >=180 days to 50 days on average — reduced toils related to invoicing reconciliation. And help the product monetize its service easily with a configurable billing platform.
- Led Auth Platform re-architect and led a mini independent team to re-architect the Authorization and Authentication systems to be centralized. Reduced toils to revoke fraudulent merchants’ access usually need 3-5 days to be entirely revoked from the entire system (multiple Dashboards, multiple API Gateways, Mobile). Now, it can be done instantly.
Speaker and Community
1. GoSG Singapore, 28 April 2021
- Link to Meetup: https://www.meetup.com/golangsg/events/277710780/
- Youtube Recording: https://www.engineers.sg/video/profiling-golang-rest-api--4298
In this monthly event, I have a chance to present for Singapore Go meetup. I’m talking about Profiling Golang API, to detect the slow function in our application.