TorqueBooks

The Challenge

South African auto workshops still rely on paper job cards, sticky notes, and spreadsheets to manage customer jobs, track vehicles, and generate invoices. This leads to lost records, delayed billing, and poor customer follow-through. Existing workshop software is either expensive enterprise-tier or too generic for the local market with VAT, labour rates, and parts tracking needs.

The Solution

TorqueBooks is a purpose-built, all-in-one workshop management platform designed specifically for South African auto repair shops. It streamlines the entire workflow — from job card creation and mechanic assignment to invoicing, payment tracking, and customer CRM — all in one professional platform with real-time status updates and analytics.

Technical Implementation

The platform uses React with TypeScript on the frontend, backed by PocketBase (SQLite) for the API and database layer. The frontend communicates directly with PocketBase via raw fetch calls through a custom db.ts helper — no SDK dependency. Authentication is handled through OAuth2 SSO (IAM) with email/password fallback, and authorization is enforced via PocketBase Row-Level Security rules at the collection level.

Architecture Highlights

  • Frontend: React + TypeScript + Vite with Zustand state management
  • Backend: PocketBase (SQLite) — direct API via raw fetch, no SDK
  • Auth: OAuth2 SSO (IAM) + email/password fallback
  • Roles: Four-tier RBAC — superadmin, shop_owner, clerk, mechanic
  • Invoicing: Automated VAT (15%) with React PDF renderer
  • CRM: Full customer profiles with vehicle fleet management, service intervals, and job history
  • Styling: Tailwind CSS with dark-first theme and light toggle
  • Infra: nginx SPA server with runtime env injection via entrypoint.sh

Key Features

  • Job Card Lifecycle: Pending → In Progress → Completed → Invoiced with dynamic parts tracking and labour costing
  • Invite System: Shareable 32-char token links for adding mechanics and clerks
  • WhatsApp Integration: One-click service reminders via wa.me links
  • Financials: Revenue dashboard with time-period filtering and payment tracking
  • Onboarding: New-user workshop creation flow with auto-redirect to dashboard
  • Runtime Config: VITE_PB_URL injected into window.__RUNTIME_CONFIG__ at container start