Back to projects
MobileCase study

NSpare

Production mobile and web platform connecting vehicle owners across Nigeria with verified mechanics, towing services, and spare-part vendors.

Screens/Pages

Mobile onboarding flow

Mobile onboarding flow

Web Landing page

Web Landing page

Overview

NSpare is an auto-services platform for the market that connects vehicle owners with verified mechanics, towing providers, spare-part vendors, and logistics partners. It covers the full vehicle ownership journey: finding trusted technicians nearby, booking repairs or roadside support, ordering genuine spare parts, paying through an in-app wallet, and communicating with providers through chat, voice, and video calls. The product ships as a production mobile app on Android and iOS with a companion web presence.

Role

Built customer-facing and provider-side feature modules in Flutter, integrated payments, messaging, and calling, and supported release workflows through automated CI/CD pipelines.

What I built

  • Location-based discovery of verified mechanics, towing services, and spare-part vendors.
  • Booking flows covering service requests with address, vehicle details, schedule, and issue description.
  • A spare-parts marketplace with cart, orders, saved items, ratings, and reviews.
  • An in-app wallet with Paystack card funding, bank account resolution, withdrawals, transaction history, and wallet PIN security.
  • Provider dashboards for mechanics, towing companies, spare-part vendors, and logistics partners, including booking insights and service charge management.
  • Real-time chat plus in-app audio and video calls between customers and providers.
  • Saved vehicle profiles, notifications, promotional listings, and a support center.

Technical approach

The app was structured as a modular Flutter codebase organized around product areas, with each feature owning its own bindings, controllers, views, and data layer. Release work was automated end-to-end so builds could move from development to store distribution without manual steps.

  • Flutter and Dart client using GetX for routing, dependency injection, and state management across 40+ feature modules.
  • API-driven flows through Dio services split by domain: auth, mechanics, towing, vendors, marketplace, spare parts, vehicles, wallet, and logistics.
  • Freezed and json_serializable models with code generation via build_runner.
  • Firebase for authentication (Google, Apple, phone OTP), push notifications, analytics, crash reporting, and Firestore-based WebRTC call signalling, with Stream Video powering in-app calls.
  • Paystack integration for card payments, bank resolution, and wallet transfers.
  • Codemagic and GitHub Actions with Fastlane for automated Android builds, testing, and Play Store internal-testing deployment, plus Shorebird for over-the-air Dart patches.

Challenges

Managing Complex Product Flows

Coordinating customer, provider, marketplace, booking, payment, notification, and logistics flows within one coherent app experience.

Securing Wallet Payments

Implementing card funding, withdrawal, and PIN-protected transactions without exposing sensitive financial operations to risk.

Maintaining Release Quality

Keeping release quality high while shipping frequent product updates to a live user base.

Supporting Multiple Provider Types

Designing dashboards flexible enough for mechanics, towing companies, vendors, and logistics partners without duplicating feature work.

Outcomes

  • Shipped as a production mobile app available on both the App Store and Google Play.
  • Delivered a unified platform connecting vehicle owners with mechanics, towing providers, spare-part vendors, and logistics partners.
  • Reduced manual release effort with fully automated CI/CD pipelines from build to store deployment.
  • Enabled end-to-end auto-service workflows including bookings, payments, real-time communication, reviews, and marketplace orders.