Skip to content
Prakrit Solutions
Case study

Two native iOS apps for an on-demand goods transport platform

An unfinished Objective-C rewrite, rebuilt in SwiftUI as a customer app and a driver app on the App Store.

Client
BookCargo
Category
Mobile Application
Our scope
iOS development of both apps, the customer app and the driver app. The apps run against BookCargo's existing backend.

One trip, two apps

  1. Customer app01

    Request

    Book a vehicle with a fare estimate, now or scheduled.

  2. Driver app02

    Accept

    Nearby booking requests arrive in real time.

  3. Both apps03

    Track

    Live trip tracking, OTP-verified rides and in-app chat.

  4. Both apps04

    Pay

    In-app payments for the customer, earnings reports for the driver.

The problem

BookCargo is an on-demand service for moving goods, couriering parcels and shifting house. An Objective-C rewrite of its iOS app had been left partway through development and was never released. To move forward, it needed to become a modern, maintainable product with the payments and in-app chat the business required.

Our approach

We rebuilt the apps in SwiftUI instead of patching the old Objective-C code, working against BookCargo's existing backend. Delivery ran in milestones, with TestFlight builds and rounds of client feedback, and the driver app was built as the second half of the same trip lifecycle.

What we built

Two apps that cover a trip from request to payment: a customer app for booking and tracking, and a driver app for accepting and completing trips. On top of the original scope we added in-app payments and real-time chat between customer and driver.

Two apps, one trip.

For people and businesses booking a vehicle

BookCargo, the customer app

Book a vehicle to move goods, send a courier package or shift house in a few taps.

  • BookCargo customer app: choosing pickup and drop locations on a map
  • BookCargo customer app: fare estimate for a Tata Ace before booking
  • BookCargo customer app: trip details with the driver and a start OTP
  • BookCargo customer app: payment methods including cash, wallet and cards
  • Fare estimates and scheduled bookings
  • Real-time trip tracking and OTP-verified rides
  • Wallet, coupons and multiple payment options
  • In-app chat with the driver
  • Saved favourite locations
  • Invite-and-earn referrals
View on the App Store (opens in a new tab)

For registered BookCargo drivers

BookCargo Pilot, the driver app

Receive bookings from nearby locations and run each trip without having to search for customers.

  • BookCargo Pilot driver app: going online on the map
  • BookCargo Pilot driver app: a ride request with pickup, distance, estimated fare and an Accept button
  • BookCargo Pilot driver app: entering the OTP to begin a trip
  • BookCargo Pilot driver app: trip summary with earnings for each trip
  • Driver onboarding with document verification
  • Nearby booking requests with real-time updates
  • In-app chat with the customer
  • Earnings, weekly reports and trip summaries
  • Bank account and cash-receipt handling
  • Invite-and-earn referrals
View on the App Store (opens in a new tab)

Outcome

The half-finished Objective-C rewrite became two complete SwiftUI apps, with payments and chat added. Both are on the App Store as BookCargo and BookCargo Pilot.

SwiftSwiftUIGoogle Maps & PlacesFirebaseAWS Cognito & S3CashfreePush notifications
Back to all work

Have something like this in mind?

Tell us what you're building. We'll walk you through how we'd approach it.