DKatalis
Published in

DKatalis

Leveraging Asynchronous app and Pub/Sub for Shared Pocket

Fully Asynchronous Flutter app

The key selling point which Jago is pursuing is “Speed and Performance”. Given this premise, and that the majority of the customers are using low-end Android mobile devices, we had to consider the most suitable architecture and framework for the given objective. Flutter was chosen over React Native for this reason.

Multitasking in Jago App.
  • Task 2: transfer money to an internal bank account
  • Task 3: paying the electric bill
  • Task 4: transfer money to another account.
Sync vs Async

Message routing nightmare

With this architecture, Shared Pocket becomes a technical challenge. How can we deliver to multiple devices of participants of the Shared pocket?

Shared Pocket as Publish-Subscribe service

Pub/Sub enables you to create systems of event producers and consumers, called publishers and subscribers. Publishers communicate with subscribers asynchronously by broadcasting events, rather than by synchronous remote procedure calls (RPCs). (Here is a Pub/Sub video overview and how it can help in this case.)

This way, our codebase becomes simpler and reader-friendly. Furthermore, it simplifies the future expansion for Shared Pocket features.

Conclusion

From the beginning, our approach began with Jago Vision and Strategic Goals: creating highly performant life-centric financial solutions, such as the Shared Pocket. It becomes the driving factor behind how we decide on the application architecture. We avoid settling up a structure first then trying to build the application that fits within that structure, as it might deviate from the business vision or goal.

--

--

DKatalis is a highly adaptive tech company, driven to solve problems through tech and data.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
DKATALIS

A highly adaptive tech company, driven by the desire to always be better