Overview
Flex+ PDA is a business management application developed by CompuClick Software Ltd, serving retail outlets, supermarkets, restaurants, hotels, boutiques, and service-based businesses across Nigeria. The app handles sales processing, inventory management, receipt printing, stock tracking, and comprehensive reporting — all from a mobile device.
Originally built as a native Android application in Java, Flex+ PDA had a mature feature set and an established user base. The challenge was clear: the business needed to reach iOS users without maintaining two separate codebases.
Flex means flexibility. Plus means accountability. The name says it all.
The Problem
Flex+ PDA’s original Java codebase was well-established but Android-only. The business was losing potential customers on iOS, and maintaining a separate codebase for a second platform would have doubled development costs. The Windows desktop version was also built on a different technology stack, creating fragmentation across the product line.
The solution needed to preserve the core business logic, database layer, and printing workflows while enabling deployment to Android, iOS, and potentially Windows — all without rewriting from scratch.
My Contribution
I was brought on to lead the migration from the existing Java codebase to Flutter. This was not a greenfield build — it required careful extraction of business logic from the Android-native code and faithful reimplementation in Dart while maintaining data compatibility.
Architecture migration
The existing Java codebase was analysed to identify core modules: inventory management, sales processing, receipt generation, user roles, and reporting. Each module was re-architected for Flutter’s widget-based composition model while preserving the underlying data structures and business rules.
Cross-platform deployment
The Flutter migration enabled Flex+ PDA to ship on both Android and iOS from a single codebase. The same Dart code handles UI, business logic, and local storage — with platform-specific plugins for Bluetooth printing and file management where needed.
Local storage & offline support
Business apps in the Nigerian market need reliable offline operation. The Flutter version retained the local-first data model, allowing sales and inventory transactions to be processed without an internet connection and synced when connectivity is available.
Tech Stack
The migrated codebase is built with Flutter and Dart, replacing the original Java implementation. The app uses local storage for offline-first operation, with Bluetooth printing support for receipt generation. The migration preserved all existing business logic while opening up iOS and Windows deployment paths.
Results
Flex+ PDA continues to serve Nigerian businesses with over 1,000 downloads on the Google Play Store and a 4.5-star rating. The Flutter migration positioned the product for cross-platform growth without sacrificing the stability of the mature Java codebase.
Client Word
The transition from Java to Flutter opened up new platforms for Flex+ PDA without disrupting our existing users. The core functionality was preserved, and the app is now positioned for the next phase of growth.