Gulam portfolio, Go Autopoint case study
Gulam portfolio, Go Autopoint case study
Brand
Superior Rental
Project

An on-demand automobile servicing app that lets users book maintenance and repairs from nearby service providers, anytime and anywhere.

Role

Sr. iOS Engineer

My Individual Contribution

I led a comprehensive overhaul of an iOS app, crafting a new user interface that supports both English and Arabic languages, including right-to-left language direction. My contributions included optimizing the service booking process, integrating a seamless online payment system, developing a referral module, and enhancing networking logic to significantly boost app performance and reliability. In collaboration with a diverse team of UI designers, Android developers, and front & backend engineers, I ensured the product was not only visually appealing but also met our tight deadlines. I took ownership of the deployment procedures, consistently delivering builds via TestFlight to both internal and external testers, ensuring a smooth and efficient development cycle.

Chapter 1 - Understanding the Product

GoAutopoint, a venture by Abdul Latif Jameel (ALJ), is part of a diversified organization operating across the MENAT region, with a significant presence in the Middle East's automobile service industry. ALJ manages numerous service stations serving millions of customers annually. They had previously partnered with another development team to create an automobile servicing platform, but the solution faced several challenges. Built on outdated technology, the platform suffered from performance issues, and the application’s features were unstable, leading to a poor user experience. Additionally, their existing web portal, while functional for locating service stations and booking appointments, relied heavily on manual processes, resulting in double bookings, delayed updates, and slow operations, which contributed to customer dissatisfaction.

people sitting on chair in front of table while holding pens during daytime

Chapter 2 - Scope of Work

To address the challenges faced by the current platform, GoAutopoint is seeking a reliable team of experts to enhance the app's stability, performance, and overall user experience. The challenges include:

Performance Issues: The platform was built on outdated technology, resulting in slow and inefficient performance.

Unstable Features: The application's in-built features were unreliable, leading to frequent disruptions and a poor user experience.

Manual Operations: The existing web portal relied heavily on manual processes, causing double bookings, delayed updates, and slow operations.

Current App Situation: The app is currently not meeting the expectations of service centers and customers, who will depend on it for all interactions.

To overcome these issues, an entirely new UI needs to be designed and implemented, along with additional functionalities such as:

Service Center Options Nearby: Displaying service centers near the user's location for convenience.

Easy Booking: Simplifying the process of booking services through the app.

Online Payments: Enabling secure and efficient online payment options.

Referral Module: Adding a referral system to encourage user engagement and growth.

The new aggregator platform will streamline the entire process for car service stations and repair shops across the Middle East, enhancing efficiency and customer satisfaction.

Chapter 3 - Execution & Development

To ensure a structured and efficient development process, we divided the entire project into distinct sprints and adhered to an agile methodology. Azure was utilized as our project management tool, enabling us to clearly define each sprint and tailor it with specific tasks. This approach ensured transparency, precise task management, and allowed for continuous progress tracking.

The app development was strategically divided into four major phases:

  • UI Revamping: A complete redesign of the user interface to enhance user experience and align with modern design principles.

  • Efficient Networking: Optimization of networking logic to improve app performance, reliability, and data handling.

  • Payment Module: Implementation of a seamless and secure online payment system.

  • Referral Module: Development of a robust referral system to drive user engagement and growth.

Go Autopoint case study, Execution & development using azure
Go Autopoint case study, Execution & development using azure
UI Revamping ✨

When we initially took over this product, the UI was not engaging, and the UX presented significant challenges for users trying to book services. To address these issues, we completely redesigned the app's UI, emphasizing ease of service booking and a more interactive look and feel. The new design supports both English and Arabic languages, including right-to-left language direction for Arabic users. We used Figma for the design process, ensuring a smooth and intuitive user experience. After finalizing the design, we began revamping the app module by module to bring the new vision to life.

Go Autopoint case study, App old design, gulam portfolio
Go Autopoint case study, App old design, gulam portfolio
Previous Design
Updated Design
Go Autopoint case study, App New design using figma
Go Autopoint case study, App New design using figma
Efficient Networking 🌐

When we inherited the app from the previous organization, the codebase was in poor condition. It lacked adherence to any architectural patterns, had inefficient network request handling, and failed to manage errors properly or present user-friendly error messages. Many APIs were causing deadlocks, leading to frequent crashes.

To address these issues, we migrated the codebase to the
MVVM architectural pattern, making the codebase more modular and loosely coupled, which also enabled effective unit testing. We implemented more efficient networking techniques using Swift & Alamofire, enhanced the network handling logic with advanced constructs like dispatch groups and barrier tasks to resolve issues such as deadlocks and data race conditions. Additionally, we improved error handling, ensuring that errors were managed gracefully and communicated clearly to the user. We also wrote comprehensive tests for the business logic, ensuring that the app's functionality was reliable and performed as expected.

Payment & Referral Module 💳

ALJ was concerned about streamlining service payments and eliminating manual transactions. To address this, we integrated the PayFort payment gateway, a widely used provider in the Middle East. Payment gateway integrations often pose challenges such as handling different currencies, ensuring secure data transmission, and managing complex error handling for failed transactions. Additionally, developers may face issues with SDK compatibility and the need for customizations to meet specific business requirements.

To overcome these challenges, we thoroughly reviewed the PayFort documentation and worked closely with their support team to tailor our integration. We ensured secure and efficient payment processing by implementing robust error handling mechanisms, supporting multiple currencies, and securing data transmission through industry-standard encryption protocols. We developed a custom backend system that seamlessly records successful payments and integrates them with ALJ's SAP system, ensuring all transactions are accurately reflected in their financial records

In addition to payment processing, we implemented a referral module within the app. This feature allows users to share referral links with their friends. Upon successful signup, both the referrer and the referred receive service bonuses and coupons, incentivizing user growth and engagement.

go autopoint case study efficient networking, xcode, unit tests
go autopoint case study efficient networking, xcode, unit tests