Our Projects
The Towing Guy
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

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.

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.


