Our Projects

The Towing Guy

Project Logo

The Towing Guy

ON-DEMAND TOWING SERVICE PLATFORM

The Towing Guy is an on-demand towing platform providing services for accidental, damaged, and other vehicles. Services include Point A to B transfers, Illegal Parking removal, and Road Assistance. The platform consists of Driver and Client mobile apps built with React Native (Expo) and a web-based Admin Dashboard.

📱 React Native (Expo)🔧 Nest.js TypeScript⚡ Bull Queues⚛️ React + Vite
Dec 2023-In Progress
Project Preview

The Towing Guy Components

The Towing Guy platform is built with a modern tech stack: React Native (Expo) for cross-platform mobile apps, a Nest.js TypeScript backend with Bull Queues for job processing, and a React + Vite admin dashboard for fleet and operations management.

1. Mobile Apps (React Native / Expo)

  • Driver App – job requests, navigation, earnings tracker
  • Client App – service booking, live tracking, payment
  • Push notifications for real-time updates
  • Cross-platform support (iOS & Android)

2. Backend (Nest.js TypeScript + Bull Queues)

  • RESTful API with TypeScript for type-safe development
  • Bull Queues for async job dispatching and processing
  • Real-time updates via WebSockets
  • Modular Nest.js architecture with guards, pipes, and interceptors

3. Admin Dashboard (React + Vite)

  • Fleet and driver management
  • Live trip monitoring and map view
  • Revenue and analytics charts
  • User and role management
The Towing Guy preview

Project Overview

The Towing Guy is an on-demand towing and roadside assistance platform built for both drivers and clients. The platform covers three core service types: Point A to B transfers, Illegal Parking removal, and Road Assistance.

The solution is composed of three applications: a Driver App, a Client App (both built with React Native via Expo), and a web-based Admin Dashboard built with React + Vite. All three are powered by a shared Nest.js TypeScript backend with Bull Queues for asynchronous job processing.

System Flow

  • App Clients are the entry points — Client App, Driver App, and Admin Dashboard.
  • Nest.js Backend is the central hub handling all REST and WebSocket traffic.
  • Bull Queue Worker processes async jobs — driver matching and push notifications.
  • Dashed arrows represent background/async operations that don't block the main request flow.
Towing Guy system architecture diagram

Mobile Apps — React Native (Expo)

Both the Driver and Client apps are built using React Native with Expo, enabling a single codebase to target iOS and Android simultaneously.

Driver App

  • Job Request Handling: Drivers receive real-time towing job notifications and can accept or decline requests.
  • Navigation: Integrated map view for navigating to the client and destination.
  • Earnings Tracker: Drivers can monitor their completed trips and total earnings.
  • Push Notifications: Instant alerts for new job assignments and status updates.

Client App

  • Service Booking: Clients can book Point A to B towing, illegal parking removal, or roadside assistance in just a few taps.
  • Live Tracking: Real-time tracking of the assigned driver on a map.
  • Payment Integration: In-app payment flow for seamless checkout.
  • Trip History: Full record of past service requests with invoices.

Backend — Nest.js TypeScript + Bull Queues

The backend is built with Nest.js, a progressive Node.js framework that leverages TypeScript for end-to-end type safety. The modular architecture ensures each domain (users, trips, drivers, payments) is cleanly separated.

  • RESTful API: Fully typed REST endpoints covering user authentication, service booking, driver assignment, and payments.
  • Bull Queues: Asynchronous job processing handles driver-matching, push notification delivery, and payment reconciliation without blocking the main request lifecycle.
  • Real-Time Updates: WebSocket gateways (built-in Nest.js support) provide live trip status and driver location updates to both apps.
  • Guards & Interceptors: Role-based access control using Nest.js guards differentiates between client, driver, and admin access levels.

Admin Dashboard — React + Vite

The admin dashboard is a fast, lightweight web application built with React and Vite. It gives the operations team full visibility and control over the entire platform.

  • Fleet Management: View and manage all registered drivers, their availability, and vehicle details.
  • Live Trip Monitoring: A real-time map view showing active trips, driver locations, and client positions.
  • Revenue & Analytics: Charts and reports for daily, weekly, and monthly revenue, trip counts, and service breakdowns.
  • User Management: Manage client and driver accounts, handle disputes, and review trip history.

Lets Work Expertise

NEED A SUCCESSFUL PROJECT

Contact Us