• No reusable component architecture for subscription lifecycle.

  • High dependency on the in-house remittance platform for user authentication and SSO.

  • Inflexible integration with external payment gateways and limited ability to isolate failures.

  • Manual workarounds for top-ups, discounts, renewals, and notifications.

  • The previous in-house microservices attempt had failed to deliver usable outcomes.