Case study
Garage Nanban
Multi-Tenant Garage Management SaaS
- One platform for Indian auto workshops — from two-wheeler mechanics to multi-brand service centers.
- Job cards, GST billing, inventory, and customer history in a single workspace.
- WhatsApp updates and service reminders that bring customers back without manual follow-up.
- Free day-to-day operations; Garage Pro unlocks GST invoicing when the business is ready.

- Industry
- Automotive SaaS
- Duration
- 1 Month
- Platform
- Multi-Tenant SaaS
- Users
- Garages & Customers
- Stack
- Next.js · NestJS · PostgreSQL · Redis · Docker
What was built and why it matters
Executive Summary
Indian automobile workshops still run on paper job cards, spreadsheets, and scattered WhatsApp threads. Billing, inventory, customer history, and staff coordination live in disconnected tools — slowing service delivery and making growth harder to manage.
Garage Nanban replaces that patchwork with one multi-tenant SaaS platform built for the Indian market. Workshop owners get digital job cards, customer and vehicle records, quotations, GST-ready invoices, inventory tracking, and automated reminders. Customers access a self-service portal for vehicle history, bookings, and invoices. Platform operators govern plans, subscriptions, and tenant lifecycle from a dedicated admin console.
The product ships as three applications — garage workspace with customer portal, platform admin, and a shared API — so workshop workflows stay separate from SaaS operations while one domain model keeps data consistent across tenants.
What problem existed before this project
The Business Challenge
Workshop owners needed a system that matches how Indian garages actually operate — not a generic CRM imported from another market.
Status quo
Before the platform
- Paper job cards and verbal handoffs between front desk and technicians
- GST invoicing done manually or in separate billing software
- Customer follow-ups buried in personal WhatsApp chats
- No unified view of vehicle service history across repeat visits
- Inventory tracked on paper with no link to jobs consuming parts
- Growing multi-bay garages outgrowing spreadsheet-based operations
What it cost
Business consequences
- Delayed vehicle delivery when job status is unclear
- Revenue leakage from missed quotations and untracked dues
- Lost repeat business when service reminders are forgotten
- Compliance risk from inconsistent GST documentation
- Owner burnout from coordinating staff across disconnected channels
- Harder to onboard new bays without repeatable processes
Previous workflow
How work happened before
A disconnected chain of manual steps — each handoff added delay, errors, and lost visibility.
- 01Step
Vehicle arrives
Customer details and complaint noted on paper or verbally
- 02Step
Paper job card
Technician assignment and work items tracked manually
- 03Step
Parts pulled ad hoc
Inventory not linked to the job; stock counts drift
- 04Step
WhatsApp updates
Status shared from personal phones with no audit trail
- 05Step
Manual billing
GST invoice prepared separately; payment tracking in a notebook
- 06Step
Forgotten follow-up
Next service due date lost unless the owner remembers to call
What the client needed to achieve
Project Objectives
Engagement scope
8 objectives
Digitize the full job card lifecycle from check-in to delivery
Provide GST-ready invoicing aligned with Indian tax requirements
Centralize customer and vehicle records with searchable service history
Automate service reminders and WhatsApp customer notifications
Offer a free tier for core workshop operations with a paid GST upgrade path
Give end customers a portal for vehicles, invoices, and bookings
Support multi-tenant SaaS with subscription plans and feature gates
Enable platform operators to onboard garages and manage tenant lifecycle
How the platform addresses the challenge
The Solution
Garage Nanban delivers a garage workspace where owners and staff manage job cards, customers, vehicles, billing, inventory, attendance, and reports from one place. The customer portal lets linked customers view vehicle history, job status, invoices, and bookings across garages they use.
Garage Pro unlocks GST billing when a workshop needs compliant invoicing — while the free workspace covers day-to-day operations. Platform operators use a separate admin console for plan catalog, tenant onboarding, subscription oversight, and cross-tenant analytics.
Heavy work — PDF generation, outbound email, SMS, WhatsApp, and push notifications — runs in background workers so front-desk staff get fast responses during busy service hours.
Platform architecture
6 components
Garage staff workspace
Job cards, CRM, billing, and inventory in the main garage app
Customer self-service portal
Vehicle history, bookings, and invoices for end customers
Central business API
One backend serving garage, portal, and admin with tenant isolation
Background processing
Reminders, PDFs, and WhatsApp messages handled asynchronously
Platform admin console
SaaS plans, subscriptions, and tenant governance
Real-time updates
Live job and notification events pushed to the right users
How users move through the system
Product Workflow
User journey
9 steps
- 01Step
Customer & vehicle check-in
Front desk creates or links a customer record and opens a digital job card
- 02Step
Technician assignment
Work items, odometer reading, and status workflow assigned to bay staff
- 03Step
Quotation & approval
Line items and parts quoted before work begins; customer approval captured
- 04Step
Work in progress
Status updates trigger WhatsApp notifications to keep the customer informed
- 05Step
Parts consumption
Inventory movements linked to the job card for accurate stock tracking
- 06Step
GST invoicing & payment
Garage Pro generates GST invoices; payments recorded manually or online
- 07Step
Vehicle delivery
Job marked complete; service history and next due date saved to the vehicle record
- 08Step
Automated reminders
Scheduled follow-ups for next service, oil change, insurance, or warranty expiry
- 09Step
Customer portal access
Linked customers review history, download invoices, and book future service online
What the platform delivers
Core Features
Platform capabilities
14 features
Digital Job Cards
End-to-end service job tracking from vehicle check-in to delivery with status workflow and technician assignment.
Customer & Vehicle CRM
Structured Indian addresses, lead capture, vehicle transfer, and searchable service history for every customer.
GST-Ready Billing
Quotations, GST invoices, payment receipts, and PDF generation — unlocked with Garage Pro subscription.
WhatsApp Automation
Vehicle received, job status, vehicle-ready, and invoice sharing — customers stay informed without manual messaging.
Service Reminders
Next service due, oil change, insurance renewal, and warranty expiry reminders scheduled automatically.
Inventory Lite
Spare-parts stock tracking with movements linked to job consumption and low-stock awareness.
Membership Plans
Garage-defined membership programs with enrollment tracking for repeat-customer retention.
HR & Attendance
Employee records, daily attendance marking, and holiday calendars for multi-staff workshops.
Customer Portal
Self-service access to vehicles, job status, invoices, bookings, garage profiles, and warranties.
Business Dashboards
Revenue, job performance, and customer growth metrics for owner-level operational insight.
Multi-Channel Notifications
Email, SMS, WhatsApp, and push delivery via background workers with retry on failure.
Platform Admin Console
SaaS plan management, tenant lifecycle, subscription oversight, feature overrides, and audit logs.
Role-Based Access
Staff permissions scoped by tenant with separate auth paths for garage, portal, and platform users.
PWA Garage Workspace
Installable progressive web app with offline shell caching for faster repeat loads on the shop floor.
Dashboard, workflows, and portals
Product Screenshots
Product UI
3 screenshots
One platform, many independent businesses
Multi-Tenant SaaS for Indian Workshops
Each garage operates in an isolated workspace with its own customers, vehicles, job cards, and billing data. Platform operators onboard tenants, assign subscription plans, and govern feature access from a dedicated admin console — without mixing SaaS operations into daily workshop workflows.
Garage Nanban uses a shared database with strict tenant scoping rather than per-garage databases, keeping infrastructure costs predictable as the platform scales across cities and workshop types.
Tenant lifecycle
6 steps
- 01Step
Platform operator creates plan
Free workspace and Garage Pro tiers defined in the admin catalog
- 02Step
Garage signs up
New tenant workspace provisioned with default settings and staff roles
- 03Step
Subscription assigned
Plan and feature entitlements applied; GST billing gated to Garage Pro
- 04Step
Isolated daily operations
Garage staff work only within their tenant data boundary
- 05Step
Feature overrides
Platform admin can adjust limits per tenant without changing base plans
- 06Step
Cross-tenant analytics
Operator dashboards aggregate platform health without exposing garage customer data
Platform safeguards
6 controls
Tenant-scoped data isolation enforced at the API layer
Entitlement-driven feature gates with per-tenant overrides
Separate auth contexts for garage, customer portal, and platform admin
Subscription lifecycle management with plan catalog administration
Audit logs for platform operations and tenant changes
Free tier for core ops with paid GST upgrade path
How the system is structured
Technical Architecture
Three deployable applications share one domain model: a Next.js garage workspace with customer portal and marketing site, a Next.js platform admin console, and a NestJS API on a high-performance HTTP adapter. PostgreSQL stores tenant-centric relational data; Redis powers background job queues and real-time fan-out; object storage handles logos, vehicle media, and generated PDFs.
The API is organized as a modular monolith with feature modules for auth, tenants, customers, vehicles, job cards, billing, inventory, reminders, notifications, reports, PDF, platform, and portal — keeping related business logic cohesive while allowing independent scaling of background workers.
System layers
5 layers
Garage & portal frontends
Next.js apps for workshop staff and end customers
Platform admin frontend
Separate Next.js console for SaaS operators
NestJS API layer
Versioned REST endpoints with tenant scoping and role guards
PostgreSQL data store
Relational tenant data managed through Prisma ORM
Redis & background workers
BullMQ queues for PDFs, notifications, and reminders
Infrastructure components
10 services
Next.js garage workspace with Serwist PWA
Next.js platform admin console
NestJS API on Fastify with modular feature architecture
Prisma ORM on PostgreSQL with tenant-scoped queries
BullMQ workers for PDF rendering and outbound messaging
Socket.IO with Redis adapter for multi-instance realtime
S3-compatible object storage for media and documents
Puppeteer for GST invoice and quotation PDF generation
Firebase Cloud Messaging for push notifications
Resend for transactional email delivery
Hard problems and how they were solved
Engineering Challenges
Challenge 1
Multi-tenant data isolation at scale
Solution
Shared database with strict tenant scoping and separate platform and portal access paths — without per-tenant database overhead.
Challenge 2
Feature access across subscription tiers
Solution
Entitlement-driven feature gates with per-tenant overrides managed from the platform admin.
Challenge 3
Slow API responses from outbound I/O
Solution
Notifications, reminders, and PDF jobs run in background workers — API requests stay fast while outbound I/O retries independently.
Challenge 4
Mixing platform ops with garage workflows
Solution
Three-app separation — garage workspace, customer portal, and platform admin each have distinct auth contexts.
Challenge 5
Realtime across multiple API instances
Solution
Redis-backed WebSocket adapter broadcasts events to the correct tenant and user without sticky sessions.
Challenge 6
Indian market billing and compliance
Solution
GST invoicing, INR handling, Indian mobile normalization, and structured address fields built into the domain model.
Production technologies
Technology Stack
Frontend
- Next.js
- React.js
- TypeScript
- Tailwind CSS
- ShadCN UI
- TanStack Query
- Serwist PWA
Backend
- NestJS
- Fastify
- Prisma
- BullMQ
- Socket.IO
- Puppeteer
Data & messaging
- PostgreSQL
- Redis
- Firebase Cloud Messaging
Infrastructure
- Docker
- Nginx
- S3-compatible storage
- Resend
Built for production load
Performance & Scalability
Production readiness
8 optimizations
Background workers offload notifications, reminders, PDF rendering, and webhook processing
Redis-backed realtime adapter for multi-instance deployments
Paginated list endpoints on tenant-scoped queries
Frontend query caching with targeted invalidation
PWA precaching for faster repeat loads on the garage workspace
Stateless API containers scale horizontally behind Nginx
Rate limiting on auth and public endpoints
Scheduled database backups with Asia/Kolkata timezone defaults
Operational and commercial outcomes
Business Impact
Garage Nanban turned fragmented workshop operations into a repeatable digital system — from the first vehicle check-in through GST billing and automated customer retention.
Outcomes delivered
8 outcomes
Paper job cards replaced with a trackable digital workflow
GST invoicing available on demand through Garage Pro
Customer history unified across every vehicle visit
WhatsApp updates sent automatically at key job milestones
Service reminders scheduled without owner manual follow-up
Inventory consumption linked to jobs for accurate stock counts
Customer portal giving vehicle owners self-service access
Platform operators scaling new garage tenants without custom setup
Technology choices explained
Why This Architecture Works
Design rationale
6 decisions
Why this choice
Next.js + Serwist PWA
Workshop staff need a fast, installable workspace on tablets and phones without maintaining separate native apps.
Why this choice
NestJS modular monolith
One cohesive API serves garage, portal, and admin while feature modules keep billing, CRM, and notifications independently maintainable.
Why this choice
PostgreSQL + Prisma
Relational tenant data with strict scoping suits job cards, invoices, and inventory with transactional integrity.
Why this choice
BullMQ + Redis
PDF generation and WhatsApp delivery must not block front-desk staff during peak service hours.
Why this choice
Three-app separation
Garage workflows, customer self-service, and SaaS operations have different users, auth contexts, and release cadences.
Why this choice
Socket.IO with Redis adapter
Live job status updates reach the right staff across horizontally scaled API instances.
What this project reinforced
Lessons Learned
Key takeaways
5 lessons
Indian workshop owners adopt faster when GST billing is a clear upgrade path rather than a day-one requirement.
WhatsApp is the retention channel — automated status updates reduce inbound calls more than any dashboard feature.
Separating platform admin from the garage workspace prevents SaaS complexity from leaking into daily shop-floor UX.
Background workers are essential when every job completion triggers PDF, email, SMS, and WhatsApp simultaneously.
A customer portal creates stickiness: vehicle owners who see their history online return to the same garage.
Explore related work
Similar Projects & Services
Common questions about the Garage Nanban project
Case Study FAQ
Indian automobile workshops were running job cards, billing, and customer follow-ups on paper, spreadsheets, and WhatsApp without a unified system.
The platform uses Next.js, NestJS, PostgreSQL, Redis, and Docker for a multi-tenant SaaS architecture with a customer portal and admin console.
Workshop operations were digitized with job cards, GST billing, service reminders, and customer self-service on garagenanban.com.
About the author

Next step
Next step
Looking to Build Something Similar?
Whether you're building a multi-tenant SaaS, marketplace, CRM, ERP, or AI platform — let's discuss your project and how a dedicated development partnership can deliver it.