Trolley – ترولي

Lead iOS Developer | E-Commerce & Grocery Delivery | 2022

Overview

Trolley is a leading grocery and e-commerce delivery platform serving customers across the Middle East. As the Lead iOS Developer, I architected and delivered key modules of the app, driving a seamless shopping experience for hundreds of thousands of active users. The app was built using Swift, UIKit, and followed the MVVM-C (Coordinator) architecture pattern to ensure scalability, testability, and clean separation of concerns.

Product Discovery & Browsing

The app delivers a fast and intuitive product discovery experience powered by an advanced search engine with real-time suggestions and autocomplete. Users can explore products through a well-organized category hierarchy or use powerful filtering and sorting options — including price range, brand, dietary preferences, and availability. The product listings support two distinct layout modes (grid and list), allowing users to browse in their preferred style. Lazy-loading and image caching ensure smooth scrolling performance even across large catalogs.

Loyalty Program

I designed and implemented a comprehensive loyalty rewards system that incentivizes repeat purchases and drives customer retention. Every transaction earns users redeemable points, with a tiered rewards structure that unlocks exclusive benefits for frequent shoppers. The profile section features a rich dashboard displaying accumulated points, tier progress, transaction history, and redemption logs — all rendered with custom animated UI components for an engaging experience.

Checkout Experience

The checkout flow was engineered for minimal friction and maximum conversion, reducing cart abandonment through a streamlined multi-step process:

  • Smart Address Selection: Location-aware address picker with map integration, allowing users to select, add, or edit delivery addresses with pin-drop accuracy and saved address management.
  • Dynamic Delivery Scheduling: Real-time slot availability with flexible time-window selection, ensuring users receive orders at their convenience.
  • Secure Payment Gateway: PCI-compliant payment integration supporting credit/debit cards, Apple Pay, and cash-on-delivery — with tokenized card storage for returning customers.
  • Loyalty Points Redemption: One-tap points redemption with real-time balance calculation, allowing users to offset costs and maximize the value of their loyalty rewards.
  • Order Summary & Review: A comprehensive pre-purchase review screen displaying itemized totals, applied discounts, delivery fees, and estimated arrival — giving users full transparency before confirming.
  • One-Tap Order Placement: Optimized API calls and local state management ensure instant order confirmation with real-time status updates pushed via notifications.

Technical Highlights

  • Architecture: MVVM-C with Dependency Injection, Protocol-Oriented Programming, and modular feature-based organization.
  • Networking: Custom network layer built on URLSession with request retry, token refresh, and offline queue support.
  • Performance: Image caching (Kingfisher), prefetching, pagination, and skeleton loading states for a smooth UX.
  • Localization: Full Arabic (RTL) and English support with dynamic layout mirroring.
  • Analytics & Monitoring: Firebase Analytics, Crashlytics, and custom event tracking for data-driven product decisions.
  • CI/CD: Automated build and distribution pipelines using Fastlane and Jenkins.

Post-Order & Feedback

After order placement, users receive real-time delivery tracking with push notifications at every stage — from order confirmation through to delivery. A post-delivery feedback system with star ratings and contextual prompts feeds directly into our analytics pipeline, enabling data-driven improvements to the shopping experience. This continuous feedback loop helped maintain a 4.7+ App Store rating and contributed to measurable improvements in customer satisfaction scores.

My Role & Impact

As Lead iOS Developer, I led a team of 4 iOS engineers, conducted code reviews, defined coding standards, and drove architectural decisions. I collaborated closely with product, design, and backend teams to deliver features on tight timelines while maintaining code quality and performance benchmarks. Key contributions included reducing app launch time by 40%, achieving 99%+ crash-free sessions, and mentoring junior developers through pair programming and knowledge-sharing sessions.