SHARE

FSG Xchange

FSG Xchange

FSG Xchange is a peer-to-peer foreign exchange platform designed to facilitate secure and transparent currency exchange between CAD, NGN, and USD. The platform targets users in the Canadian and Nigerian diaspora and is built with a strong emphasis on compliance, trust, and ease of use. It allows users to create, accept, and complete currency exchange deals through a deal board interface, supporting wallet-based transactions and identity verification. To better serve its growing user base, the platform needed a modern mobile experience, more efficient deal handling, and a robust notification system to keep users informed in real time.

Problem & Challenge

Despite its growing adoption, the platform faced several limitations:

  • There was no mobile application, limiting accessibility for mobile-first users.
  • Deals posted by users had no expiration logic, resulting in stale or unfulfilled offers remaining visible.
  • The absence of real-time, context-aware notifications meant users often missed key updates, leading to reduced engagement and delayed actions.

The goal was to develop a seamless mobile experience, introduce automated lifecycle control for deals, and provide intelligent notification delivery that aligned with user's actions and preferences.

My Role

I led the development of the mobile application, implemented the deal auto-expiry system, and designed the advanced notification infrastructure.

Mobile Application Development

  • Designed and developed the mobile application from the ground up, providing feature parity with the web platform.
  • Enabled users to complete KYC, create and accept deals, view live exchange rates, manage wallet balances, and track transaction history in a responsive and intuitive interface.
  • Ensured secure API communication and seamless integration with backend services for data synchronization and user actions.

Deal Auto-Expiry System

  • Implemented a configurable expiry mechanism allowing users to define how long their posted deals should remain active (e.g., 72 hours).
  • Built backend support for monitoring and invalidating expired deals using scheduled tasks and background job queues.
  • Integrated expiry indicators and countdown timers into the frontend interface to provide clarity and urgency for active deals.

Advanced Notification System

  • Developed a modular, event-driven notification service to handle deal-related events such as acceptance, expiry, and completion.
  • Integrated both push and in-app notification channels, ensuring users received timely alerts even when offline.
  • Added support for pre-expiry reminders, new match notifications, and rate movement alerts.
  • Designed the service with extensibility in mind, allowing easy configuration for localization, retry logic, and user preferences.

Outcome and Impact

  • Significantly improved mobile engagement and retention by providing a reliable and accessible experience on smartphones.
  • Reduced inactive and outdated deals on the platform, improving visibility of active opportunities and increasing fulfillment rates.
  • Enhanced user responsiveness and platform trust through timely, actionable notifications tied to individual user behavior.
  • Created a scalable foundation for future notification-based features such as referral rewards, rate tracking, and compliance alerts.

Technologies Used

  • Mobile: React Native
  • Backend: Node.js, NestJS, TypeScript
  • Scheduling: Cron jobs, background workers
  • Notifications: Firebase Cloud Messaging (FCM), in-app notification service
  • Database: PostgreSQL
  • CI/CD: Github CI/CD, Docker
  • Monitoring: Sentry, custom logs and alerts
  • Security: Encrypted API transport, KYC and verification integrations

Explore More Projects