The CIRCL Technologies platform provides its clients with an efficient way to manage their supply chain through automation, tracking, and an advanced reporting system. The platform was built with multiple components, where the native Android App plays an essential role for employees that work in the field.
OUR ROLEUI/UX design, System architecture, and Mobile app development
MAIN CHALLENGES Event sourcingThe system follows an event-sourcing pattern that enables the system to achieve a set of benefits and requirements like auditability. This technical decision led the system to be asynchronous by default, which introduces an additional complexity when it comes to handling data and requests, especially for a mobile application that is restricted by the operating system with regards to maintaining WebSocket connections open. User flowsIn a large system that provides data visualization for users to make informed decisions and optimize processes, there is a need to implement multiple permission levels that enable unique and customized flows for every type of user that needs to interact with the system. While this is crucial for platform usage, it is also a challenge from the security point of view and code maintenance. Offline first Taking into consideration that the application is used on the terrain, we needed to make sure that the client's employees are never blocked on their work even in remote areas where internet access is limited or flaky. This was achieved by following an offline-first architecture that allowed us to deliver a flawless user experience on every condition. Leading, as a consequence, to a more complex but also robust application, since some of the business logic of the backend was also implemented on the application side and a set of mechanisms to synchronize the local and remote data were developed.
TECH STACKKotlin, Jetpack Compose, Koltin Flows, Hilt, Coroutines, Scarlet, Room, WorkManager, ConfigCat, Fastlane, JUnit, MocK, Faker, Mock Web Server, Espresso, Robolectric.