Jiss TechStart a project

Case study · Custom CRM · Production client system

How We Built One System to Run an Auto Shop

JNC Suite is a custom CRM and operations platform Jiss Tech built for an independent auto shop. It connects the customer, vehicle, job, billing, appointment, messaging, and reporting workflows the team uses in daily production. The owner reports customer retention up 89% since adopting it; that figure has not been independently audited by Jiss Tech.

In daily productionConnected shop workflows+89% owner-reported retention

Business / product problem

An auto shop's work doesn't fit generic software.

An independent repair shop is a deceptively complex operation. One customer owns three vehicles. A job carries parts, labor, and two staff assignments. A quote and the eventual invoice need to preserve the approved work. Appointments, reminders, and promotions all need to reflect real service history — not a marketing list.

Off-the-shelf tools model pieces of that. The gaps get filled with paper, spreadsheets, and memory — which works until the person holding it all in their head takes a day off. The brief for JNC Suite was simple to say and demanding to build: run the entire shop from one system.

Product overview

Connected workflows, one source of operational truth.

Each workflow reads and writes the same records, so the dashboard, the invoice, and the reminder text always agree about the customer, the vehicle, and the work.

Customers & vehicles

Multiple vehicles per customer, primary-vehicle selection, service status, and full history in one record.

Estimates & invoices

Itemized estimates and invoices with tax calculation and tokenized PDF links customers can open on their phones.

Jobs & labor

Work moves from pending to active to completed with staff assignments and automatic labor tracking.

Parts & inventory

Catalog items, on-hand quantities, orders, job links, and used-parts cost.

Appointments

Upcoming and past appointments, confirmations, cancellations, and business hours.

Messaging & reminders

Automated service reminders and promotional SMS sent from real customer and vehicle records.

Operational analytics

Revenue, parts spend, throughput, labor hours, cycle time, and active work at a glance.

Roles & audit history

Owner, employee, and administrator roles with granular permissions and recorded actions.

Inside the platform

The screens the shop works from.

Portfolio screens use demo data; customer information has been removed.

Privacy-safe JNC Suite dashboard with customer and revenue details hidden
Operations dashboard
Privacy-safe JNC Suite customer messaging workspace
Customer messaging
Privacy-safe JNC Suite appointment management screen
Appointments
Privacy-safe JNC Suite job assignment queue
Job assignments

Verified architecture

A server-rendered operations system with automation at the edges.

JNC Suite keeps shop workflows in a Python/Flask application organized by blueprints. Staff use server-rendered pages, customer-facing invoice and estimate links return generated PDFs, Twilio carries messaging, and APScheduler runs reminder work. The production code supports PostgreSQL with a SQLite fallback; the active production database mode is not stated publicly.

Rendering verified architecture…

Technology

The stack, without the résumé padding.

Every technology below is tied to the audited project source—not to a company-wide capability list.

Application

PythonFlaskFlask blueprintsJinja templatesFlask-Session

Data

PostgreSQLSQLite fallbackpsycopg2AlembicSQL

Automation

APSchedulerService remindersScheduled messagesJob timestamps

Messaging

Twilio SMSTwilio MMSBulk messagingTokenized links

Documents

pdfkitwkhtmltopdfWeasyPrintHTML templates

Deployment path

DockerGunicornPython 3.12PostgreSQL 15

Constraints

What the system had to respect

  • Customer, vehicle, job, appointment, parts, billing, and message records must stay connected instead of living in separate tools.
  • Staff need role-specific access while owners retain operational and financial visibility.
  • Invoices, estimates, messages, and reminders must work for customers on ordinary phones without a customer account portal.

Solution

Engineering decisions that answer those constraints

  • Organize the Flask application into focused blueprints while keeping one connected operational data model.
  • Use custom session authentication, Werkzeug password hashing, permission decorators, and audit records for staff access.
  • Generate PDFs from the same billing records the dashboard uses, with a second renderer available when the primary path fails.
  • Schedule reminders and message batches from real customer, vehicle, and service records rather than a disconnected marketing list.

Engineering challenges

Model the shop, not a generic funnel

The schema connects customers to multiple vehicles, jobs, parts, assignments, appointments, invoices, estimates, and service reminders.

Turn status changes into useful data

Job transitions record start and completion timestamps, allowing labor hours, throughput, cycle time, and staff activity to be calculated.

Reach customers without new logins

Tokenized document links and Twilio messages make invoices, estimates, reminders, and promotions available from the customer's phone.

Integrations

External systems with defined jobs

  • Twilio for outbound SMS, MMS, invoice links, bulk campaigns, and reminder delivery.
  • pdfkit/wkhtmltopdf for primary document rendering with WeasyPrint as a fallback.
  • APScheduler for daily service-reminder checks and scheduled message execution.
  • Gunicorn and PostgreSQL in the repository's containerized deployment configuration.

Reliability & security

Controls visible in the source

  • Passwords are stored through Werkzeug password hashing rather than plaintext comparison.
  • Owner/IT roles and granular employee permissions guard operational and financial routes.
  • State-changing requests and sensitive staff actions are written to an audit history.
  • Tokenized invoice and estimate routes avoid exposing sequential document access alone, and PDF generation has a fallback renderer.

Outcome

What the verified implementation demonstrates

JNC Suite is used in production as the shop's connected CRM and operations system. The implementation replaces disconnected records with one workflow for customers, vehicles, jobs, appointments, parts, billing, messages, reminders, permissions, and operational reporting.

The owner reports customer retention up 89% since adopting JNC Suite. That figure is presented as owner-reported and has not been independently audited by Jiss Tech.

Lessons learned

  • Operational software creates leverage when every module works from the same customer and job context.
  • Automation is most useful when it is triggered by real service history, not copied into a separate campaign system.
  • A server-rendered architecture can remain a strong fit for a private, workflow-heavy business application.

Reported operational outcome

Automation keeps follow-up tied to service history.

The highest-impact feature isn't a screen — it's what happens when nobody is looking. Service reminders and promotional texts send automatically from real customer and vehicle records. Invoices went paperless, opened by customers right on their phones. Estimates that took a clipboard and a callback now take minutes.

The owner reports customer retention up 89% since adopting the system and attributes the improvement to automated reminders and promotional texts. Jiss Tech has not independently audited the figure or established a single causal factor.

Reported by the owner

+89%

customer retention since adopting JNC Suite. Owner-reported and not independently audited by Jiss Tech.

What this proves

Custom software pays for itself when it matches the operation.

JNC Suite works because it models the shop's reality — customers with multiple vehicles, jobs with parts and labor, staff with different permissions — instead of asking the shop to conform to a template. The same approach drives our custom CRM development and workflow automation for every client.

And because the platform already exists, other shops don't start from zero: the Auto-Shop CRM Pilot adapts this working system to one independent shop for a fixed price.

Want a system that runs your operation like this?

Whether you run a shop or a completely different business, the conversation starts the same way: tell the engineer how the work actually flows.