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

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:
- An auto-refreshing "TV Mode" dashboard to hang on the wall.
- An extremely fast mobile interface for techs to drag-and-drop or move cards.
- 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 →