
Film Color Reference
An empirical color science reference and research catalog for analog photographers, featuring vectorscope projections, 6-axis saturation profiles, and 30+ datasheets.
Timeline
2026 — Present
Role
Color Science, Research & Web Development
Framework & Runtime
SvelteKit • Bun
Progressive Web AppContext
Open-Source Research Tool
Status
Live • Researching...
The Vision & Overview
As an avid film photographer, I have always been captivated by how distinct emulsion chemistries interpret light and color. Every film stock has its own signature: Kodak Gold's nostalgic golden-yellow glow, Portra's gentle skin-tone fidelity, CineStill's cool tungsten shadows and halation, or Velvia's punchy landscape greens.
Yet for decades, (we) analog photographers have had to rely on subjective marketing adjectives, anecdotal forum debates, and uncontrolled sample scans to decide what to load into their cameras. Then the YouTube algorithm served me Parvec's groundbreaking color science study, analyzing film stocks against standard color charts and vectorscopes. It was a complete revelation: finally, a rigorous, technical explanation for the "magic" of film color science.
I originally built this project to have that knowledge at my fingertips during shoots. From its January 2026 inception to the September 2026 release, it grew into an open-source, empirical color reference engine: 60 film stock records, 30+ official manufacturer PDF datasheets, interactive vectorscope chromaticity projections, and a dedicated Research & Methodology Catalog that keeps a strict line between calibrated lab measurements and datasheet heuristics.
Simulating chromaticity projections & 6-axis saturation offsets from empirical studies and technical datasheets.
Kodak Portra 400
ISO 400C-41Datasheet: Kodak E-4050Flattering warm skin-tone retention, gentle highlight roll-off, controlled cyan saturation.
Key Accomplishments
- Interactive Vectorscope Color Projection: Developed
VectorscopeChart, projecting film stock chromaticity shifts against SMPTE standard target boxes (R, Mg, B, Cy, G, Yl) and the crucial skin-tone I-axis. - Delta Bar Visualizer with Explicit Uncertainty: Engineered
DeltaBarChartto illustrate relative overall saturation deltas alongside explicit unknown uncertainty flags (null) rather than misleading fabricated precision. - 6-Axis Assumption Profiles Engine: Created
assumptionProfiles, modeling 6-axis relative saturation curves (Red, Yellow, Green, Cyan, Blue, Magenta) derived from manufacturer spectral sensitivity curves and photographic consensus. - Technical Datasheet & Asset Library: Integrated 30+ official manufacturer PDF datasheets (
/datasheets) covering Kodak, Fujifilm, CineStill, Harman, Lomography, Wolfen, SantaColor, and Flic Film, paired with 40+ high-resolution film stock packaging and canister preview assets. - Dedicated Research & Methodology Section: Published
/research, detailing empirical methodologies, calculation standards, source citations, experimental boundaries, and transparent distinctions between physical measurements and datasheet heuristics. - Multilingual Localization (i18n): Full localization for English, Spanish, Japanese, and French (
src/lib/i18n/), encompassing descriptions, shooting recommendations, and bias profiles. - Offline-First PWA Architecture: Implemented service worker pre-caching for
/,/about, and/research, ensuring zero-latency access during field shoots even without cellular coverage.
Technical Challenges & Solutions
Separating Empirical Video Transcriptions from Physical Lab Measurements
Early iterations of this project relied on visual approximations transcribed from video frame overlays. While visually insightful, treating these transcriptions as calibrated physical laboratory measurements caused ambiguity. I established a strict boundary: visual video transcriptions are clearly declared as approximations and strictly excluded from mathematical aggregations, unverified films are labeled as estimated, and every primary claim links directly to official manufacturer datasheets or checksummed study footage.
Modeling Non-Linear Spectral Curves into 6-Axis Polar Projections
Manufacturer datasheets present emulsion characteristics as non-linear spectrophotometric sensitivity curves (log sensitivity vs. wavelength in nm) and characteristic H&D (Hurter and Driffield) density curves. In assumptionProfiles, I engineered a mathematical normalization engine that maps primary wavelength sensitivity peaks (Red: ~650nm, Yellow: ~580nm, Green: ~540nm, Cyan: ~500nm, Blue: ~440nm, Magenta: ~400nm + ~680nm) into normalized comparative 6-axis polar coordinates.
Zero-Latency Field Reliability via Offline PWA Caching
Photographers in remote backcountry locations or basement darkrooms rarely have reliable high-speed internet, so I designed this application to work seamlessly as a Progressive Web App (PWA) on iOS, Android, and macOS, pre-caching core routes and technical datasets for instantaneous offline lookup.
Core Features
Vectorscope Chromaticity Projection
Interactive vectorscope component displaying hue and saturation vectors relative to SMPTE standard target boxes and skin-tone reference axes.
Delta Bar Chart & Uncertainty
Quantitative color difference visualizer with explicit null uncertainty declarations and unsigned magnitude units for unasserted directions.
30+ Manufacturer Datasheets
Integrated archive of verified PDF technical specifications from Kodak, Fujifilm, CineStill, Harman, Lomography, Wolfen, and Flic Film.
Assumption Profiles Engine
Spectral sensitivity curve modeling engine in assumptionProfiles estimating 6-axis curves for film stocks lacking physical lab charts.
Multilingual Localization (4 Locales)
Comprehensive i18n support across English, Spanish, Japanese, and French, localizing film descriptions, bias traits, and shooting tips.
Offline-Ready PWA & Service Worker
Installable Progressive Web App with cache-first asset routing, pre-caching core routes for instant zero-latency offline field use.
Technical Specifications
| System Subsystem | Implementation Architecture & Standard |
|---|---|
| Core Framework | SvelteKit 2 on Bun Runtime |
| Color Rendering Engines | HTML5 Canvas 2D & Vector SVG |
| Colorimetric Axes | 6-Axis Polar Color Rendition (Red, Yellow, Green, Cyan, Blue, Magenta) |
| Profile Estimation Engine | Spectral sensitivity modeling & photographic consensus |
| Film Stock Catalog | 60 product records & 68 emulsion references (Color Negative, Slide/Reversal, Cinema, B&W) |
| Datasheet Archive | 30+ official manufacturer PDF datasheets (Kodak, Fuji, CineStill, Harman, Lomography, Wolfen) |
| Uncertainty Standards | Explicit null uncertainty flags, unsigned magnitude deltas, & calibrated vs estimated tiers |
| Internationalization (i18n) | 4 fully localized locales: English, Spanish (Español), Japanese (日本語), French (Français) |
| Progressive Web App (PWA) | Custom Service Worker with Cache-First asset strategy & pre-cached /, /about, /research |
Release Milestones
September 2026
Vectorscope Projections & Lab Audit- •Dedicated Research & Methodology Section (/research): added a comprehensive research catalog and documentation page detailing empirical methodologies, calculation standards, source citations, and experimental boundaries, strictly delineating laboratory-measured data, author-reported figures, and manufacturer technical specifications.
- •Delta Bar Chart: component illustrating relative overall saturation deltas and color differences with explicit uncertainty indicators.
- •Assumption Profiles Engine: 6-axis relative saturation curves modeled from manufacturer technical specifications, spectral sensitivity curves, and photographic consensus.
- •Technical Datasheets: integrated 30+ official manufacturer PDF datasheets covering Kodak, Fujifilm, CineStill, Harman, Lomography, Wolfen, SantaColor, and Flic Film.
- •Film Asset Library: added 40+ high-resolution film stock packaging and canister preview assets, with direct datasheet downloads, specification scope tags, and emulsion metadata badges.
- •Measurement and Uncertainty Rigor: replaced arbitrary error bars with explicit unknown uncertainty flags (null) and detailed explanatory disclaimers; replaced signed deltas with unsigned magnitude units for values where direction was not explicitly asserted in source narration.
- •Clarified radar chart overlays as visual video transcriptions rather than calibrated laboratory measurements, strictly excluding them from mathematical aggregations and updating unverified films to estimated status.
January 2026
6-Axis Canvas Radar & PWA Core- •Core interactive UI components: 6-axis comparative canvas radar chart, searchable film stock selector with tag-based filtering, side drawer analysis panel, and sourced attribution banner.
- •Initial Film Stock Dataset: seeded initial catalog of 14 popular 35mm film stocks with identity, manufacturer, and color characteristics.
- •Multilingual Localization System (i18n): built-in localization supporting English, Spanish, and French, localizing film descriptions, shooting recommendations ("best for"), and bias characteristics across all supported locales.
- •Progressive Web App (PWA) & Offline Support: implemented custom service worker and web app manifest with cache-first asset caching, network-first fallback, and pre-cached / and /about routes.
Built With
