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.