Our client, a fintech company in South Korea, wanted to make cross-border payments simpler for international travelers.
At the time, managing money abroad can involve different payment methods, currencies, and financial services, making the experience more complicated for travelers. Therefore, the goal was to bring these services together in one mobile platform, giving travelers a simpler way to manage their money.
To make it happen, our team of 14 specialists across Product, Architecture, Engineering, QA, and DevOps worked closely with the client throughout an intensive 8-month development journey.
The challenges we faced
Building a modern financial platform with real-time transactions across borders came with several challenges:
- Connecting different payment services: The app had to bring together fiat currencies, crypto wallets, virtual cards, and P2P transfers in one simple interface.
- Keeping every transaction accurate: Financial transactions need to be recorded correctly every time. We had to prevent duplicate or missing transactions when data moved between the blockchain, external providers, and the platform’s own ledger.
- Keeping user data safe: The platform handled sensitive identity and financial information, so we needed eKYC, AML monitoring, biometrics, and multi-factor authentication (MFA) while meeting South Korean financial requirements.
- Supporting different users and environments: Travelers, local agents, and internal teams needed different portals, while the platform had to run reliably across UAT, Staging, Performance, and Production environments.
Our solutions
To handle this complexity without making the user experience complicated, we built the platform around a modular, event-driven architecture.
Our mobile app engineering team used Flutter and GetX to build a responsive app covering onboarding, wallet management, QR payments, P2P exchange, and virtual cards.
Behind the app, a NestJS and PostgreSQL backend was divided into 36 independent domain modules. This allowed key functions such as authorization, KYC, transfers, and notifications to work independently and reduced the risk of changes in one area affecting the rest of the system.
Because financial transactions often happen asynchronously, we used Redis and BullMQ, together with event pollers, to control concurrency, keep transactions in the right order, and retry failed processes such as virtual card issuance. Blockchain development was also an important part of the solution, helping connect blockchain-based transactions with the platform’s financial workflows.
For greater visibility into money movement, we introduced Neo4j to map transaction flows. This made it easier to track commissions, follow the movement of funds, and support fraud investigations.
The infrastructure was built with Docker, Kubernetes, Helm, and Redis Sentinel, allowing us to scale services when needed, keep environments isolated, and release updates without taking the platform offline.
The remarkable results
After 8 months of development, the app delivered strong technical and business results:
The production-ready application included 145 named routes, 36 backend domain modules, and 6 dedicated web operation portals for different operational needs, covering both user-facing and internal workflows through web app engineering.
More importantly, the platform was built to keep financial data consistent. Across UAT, Staging, Performance, and Production environments, we achieved zero transaction duplication and added fallback mechanisms to keep transactions reliable when individual services or providers failed.
The platform also proved its ability to handle real users at scale. It has now reached more than 100,000 app downloads across iOS and Android and supports over 80,000 registered accounts.
The next step
With the core platform in place, the platform is now moving toward a more seamless payment experience.
The next phase focuses on enabling users to add their virtual cards directly to Apple Wallet and Samsung Wallet. We are integrating digital wallet enablement and tokenization SDKs, along with push provisioning and end-to-end security certification.
The goal is to let travelers user their cards with a tap, without having to manage another payment app or carry a physical card.
If you want to build a secure and scalable fintech platform, we can help you turn your idea into reality.
How useful was this post?
Click on a star to rate it!
Average rating / 5. Vote count:
No votes so far! Be the first to rate this post.

