Oraimo Business App: Android Solution for Loyalty and Performance

When Oraimo, a globally recognized brand, approached me through their local partner in Morocco, they presented a simple sketch of what they wanted: a mobile solution to empower store owners and agents with product management, loyalty programs, and performance tracking. It was an exciting project with a clear goal, but like any project, it evolved quickly.

At first, it was just a simple idea sketch made on Figma. They knew they wanted a platform that would allow store owners to track sales and earn points through a loyalty program. But agents were left out—there was no clear incentive for them. After considering how we could motivate agents, we added a bonus system that changed the game.



The Core Features
The app's core features were designed to address two groups: store owners and agents.

For Store Owners:

  • Register with OTP and phone number.

  • Track earned points from product sales.

  • Scan product serial numbers after sales to collect points.

  • View marketing campaigns and product catalogs.

  • Place orders and manage them.

  • Update store and personal info.

For Agents:

  • Log in and manage assigned stores in their region.

  • Scan product serial numbers in stores, earning bonuses for both themselves and the store owners.

  • Track stock levels by store.

  • Complete shop visits and upload marketing materials (earning bonuses).

  • View orders, products, personal bonuses, and performance data.

  • Two agent roles: Promoter and Supervisor. Supervisors manage promoters in their region.

For Admin:

  • Full access to manage products, stores, agents, orders, and marketing campaigns.

Tech and Development Decisions
Choosing Android as the platform was simple: most of Oraimo’s clients, especially store owners, were using Android devices. With Kotlin for the Android app and Laravel for the backend, we could create a robust and scalable solution.

I worked solo on the technical development, building the entire backend from scratch. I focused on creating custom APIs that could handle everything from bonus points calculations to agent performance. The backend was responsible for tracking the core business logic like sales, points, and order management, while the app itself was powered by clean, user-friendly features.

We also used Firebase for push notifications, ensuring real-time updates for agents and store owners. This helped keep users informed about their orders, bonuses, and marketing material updates.

Bonus Points & Analytics
One of the key features was the bonus points system, which was powered by custom-built APIs. Agents and store owners earned points by scanning product serial numbers, completing shop visits, and engaging in marketing activities. These points were tracked and calculated in real-time through our backend.

I used Firebase solely for notifications, while all analytics, sales data, and business logic ran through the custom backend. This gave us full control over scalability and data integrity.

Technical Challenges and Solutions
While the development itself was smooth, there were a few key technical challenges along the way.

  • Uploading images for marketing material: One challenge was handling image uploads for marketing materials. I used Kotlin Coroutines to process these efficiently in the background.

  • Location control for product scans: Another challenge was ensuring that agents could only scan products within specific store locations. This required precise location control, which I achieved by integrating GPS functionality with the app and verifying each scan against the store's location. This ensured that agents couldn’t scan products outside their assigned stores, keeping the bonus system accurate.

  • Bonus points calculation: Calculating and managing bonus points in real-time was a complex task. It required building custom APIs that would process data efficiently, ensuring agents and store owners received the correct points without any delay.

Team Collaboration
While I handled the technical development, I worked closely with my partner Mustapha Gadrouz, an expert in branding and design. He played a key role in enhancing the user experience (UX) and refining the app’s branding to align with Oraimo’s vision. He helped transform the initial idea into a polished product, focusing on ensuring the app was intuitive, engaging, and visually aligned with Oraimo’s identity.

Emphasizing Scalability
Scalability was a key consideration throughout the project. To prepare for potential growth, we created a mock database with data volumes larger than what we expected in real-world use. This helped us test the system’s ability to handle large amounts of product data, orders, and points calculations. This approach ensured that the app would scale smoothly as Oraimo’s operations expanded, providing a seamless experience even as user activity increased.

The Outcome and Impact
Once the app was launched, feedback from my client was positive. It initially focused on store owners, but after adding the agent bonuses, the app became more engaging for them too. Now, the app is live in Morocco, and it continues to serve as an important tool for Oraimo’s operations.

My Favorite Part
Personally, I really enjoyed working on the scanning functionality and integrating location control. The ability for agents to scan products only in specific store locations and earn bonuses was a unique challenge I tackled with precision. It’s one of those features that perfectly balances functionality and user experience.





Share on: