← Work

Case Study

CDR Dashboard

Real-time job tracker for a paintless dent repair workshop

Status

Live · Shop Floor

Sync

Firestore Listeners

Auth

Role-based PINs

React · TypeScript · Firestore · Cloudflare Pages Functions

CDR Dashboard

Problem

A busy paintless dent repair workshop was losing track of vehicle stages, technician assignments, and job priorities using paper tickets and manual whiteboard schedules.

What Was Built

A real-time Kanban board displayed on the shop floor via TV display mode, with quick role-based PIN access for technicians to update job states on mobile devices.

Outcome

Streamlined shop floor communications, reduced job turnaround time, and eliminated lost paper tickets.

Background

Paintless Dent Repair (PDR) shops run at a fast pace. Vehicles move rapidly between inspection, dent repair, detailing, quality control, and pickup. Whiteboards are hard to keep in sync, and paper tickets get lost or smudged on the shop floor.

The goal was to build a lightweight, real-time board visible to everyone in the shop that would replace physical tracking entirely.

The Problem

Off-the-shelf Kanban boards (like Trello or Jira) are too complex for a fast-paced shop environment. Technicians wearing gloves don't want to type usernames, passwords, or manage complex issue fields. The solution needed:

  1. An auto-refreshing "TV Mode" dashboard to hang on the wall.
  2. An extremely fast mobile interface for techs to drag-and-drop or move cards.
  3. Simple PIN-based authentication to prevent accidental edits by unauthorized roles.

What I Built

A custom, real-time dashboard built on Cloudflare Pages and Firebase:

  • Shop Floor TV Mode — A read-only, high-contrast display layout optimized for 1080p television screens that auto-scales to show all active jobs and their current technicians.
  • PIN-Based Action Gating — Instead of full logins, technicians tap their initials and enter a 4-digit PIN to transition a job or reassign a technician.
  • Real-Time Sync — Backed by Firestore listeners, updates made on any technician's phone reflect on the shop TV in under a second.
  • Role-Based Views — Admins can create and delete jobs, while technicians can only update status and add notes.

Key Technical Decision

Firestore listeners over WebSockets or HTTP polling. To keep hosting costs at zero and setup trivial, I leveraged Firebase's client SDK listener system. The shop TV and mobile devices subscribe directly to the Firestore collection. This provides near-instant UI updates across all clients without running a persistent WebSocket server or incurring the latency of API polling.

Stack

React + TypeScript · Cloudflare Pages · Firebase Firestore · Tailwind CSS

Visit live dashboard →
Next ProjectSamePage

Got something in mind?

Let's figure out if it's a good fit.