Case study · Automotive color reference
OEM Paint Lab
A structured automotive color reference and analysis system built from a one-off converter.
- 303 records
- OEM · Motorsport · Other
- CIEDE2000
- Structured provenance
A credibility problem, not a conversion problem
Digital automotive paint references are fragmented across manufacturer pages, specialist databases, screenshots, game swatches, and enthusiast archives. Values are often copied without their source or presented with more certainty than the evidence supports.
The initial question was how to translate a HEX value into useful digital color formats. The more important product question became how to make those values inspectable: where did a record come from, how was it interpreted, and what should remain unknown?
From converter to reference product
The first version was a personal utility with 173 records, normalized HSB values, and a simple finish calculator. It was useful, but the converter was still the center of gravity.
- 173-color converterTranslate a selected reference
- 303-record structured archiveOrganize identity, taxonomy, and provenance
- Connected analysis productBrowse, inspect, compare, save, and correct
The Library became the product spine
The Library anchors the archive workflows: search and taxonomy support discovery, Paint Detail explains each record, Lab and Compare analyze colors, My Colors keeps archive records and custom colors available, Methodology defines the limits, and corrections preserve context without silently rewriting the archive.
That architecture also preserves continuity. A selected record can move into analysis or comparison without becoming a detached copy, while returning from detail restores the reader’s place in the archive. The system behaves as one product rather than a collection of calculators.
- Paint DetailIdentity + provenance
- LabRepresentations + matches
- ComparePerceptual distance
- My ColorsLocal workspace
- MethodologyScope + limits
- CorrectionStructured proposal
Modeling uncertainty instead of hiding it
The archive separates a record’s identity from its classification, evidence, and finish metadata. Stable IDs survive data expansion. OEM records use manufacturer taxonomy; motorsport records can add series, season, team, and role without inventing a manufacturer.
Reference and Estimated describe how a digital value was derived. They are not physical-paint verification tiers. Unsupported paint codes, effects, sheens, and URLs remain absent rather than being filled with plausible guesses.
Identity
- Stable ID
- Canonical name
- HEX
- Paint code
Classification
- Collection
- Manufacturer
- Series + season
- Team + role
Evidence
- Reference / Estimated
- Source + type
- Source URL
- Derivation note
Finish
- Effect
- Sheen
From workbook to validated product data
The canonical workbook is versioned source material, not a browser dependency. A deterministic importer reads the expected sheet and columns, normalizes taxonomy and optional values, derives searchable fields, validates the archive, and writes generated JSON consumed by typed React views.
Validation is intentionally redundant. The importer rejects malformed source data before generation, and a separate JavaScript check protects the generated archive’s expected IDs, collection boundaries, provenance totals, key records, URLs, and duplicate identity rules.
- Canonical XLSXVersioned source
- Schema normalizationMapped fields + taxonomy
- Invariant checksIdentity + totals
- Generated JSONStatic runtime source
- Typed product viewsReact + TypeScript
- 303 records and 303 unique IDs
- Stable legacy IDs preserved
- Retired IDs 48–57 excluded
- Canonical uppercase HEX
- Expected collection and provenance totals
- Duplicate archive identity protection
The browser never parses Excel at runtime; it receives a predictable, validated dataset.
Color values are not physical paint
The analysis layer serves two related jobs. It translates one sRGB value into useful representations, then compares that value with the archive in a perceptual color space. CIEDE2000 ranks nearby digital references; it does not measure spectral paint behavior.
Representation
- HEX
- RGB
- HSB / HSV
- Normalized HSB
Perceptual matching
- sRGB
- Linear RGB
- XYZ D65
- CIELAB
- ΔE00
- Ranked references
Designed for reuse and correction
My Colors turns archive discovery into a personal workspace. Saved archive records remain linked to their canonical IDs, while custom named HEX colors can move into Lab or Compare. My Colors data stays in localStorage on the current browser and device; there is no account or cloud sync.
Paint Detail also packages correction context: record ID, current and suggested HEX, ΔE00, an optional public source, and an explanation. The product copies that structured proposal for the user to share. It does not submit data or change the archive automatically.
A restrained automotive instrument
Paint supplies the chromatic content; the surrounding interface stays neutral. Unbounded is reserved for major product display moments, Lexend handles interface and body copy, and IBM Plex Mono distinguishes technical values, identifiers, and provenance labels.
The product avoids carbon fiber, fake gauges, racing stripes, vehicle photography, and automotive cliché iconography. Thin rules, direct controls, deliberate density, and large paint fields make the archive feel more like a precision workbench than a themed dashboard.
On small screens, filters collapse into a compact control stack, navigation moves behind Menu, and paint remains the dominant surface.
A one-off utility became a reusable color-reference system.
The result is a single system for finding, inspecting, comparing, saving, and proposing corrections to digital automotive color references.