Why our brand looks this way
Every colour, every dot in the logo, and every design token traces back to real physics and chemistry. Here's the science behind the Grainylabs visual identity.
Safelight Red Palette
Traditional B&W photographic paper uses silver halide crystals (AgBr / AgCl) as the light-sensitive medium. These crystals are orthochromatic — sensitive to blue and green light but largely insensitive to wavelengths above ~600nm.
This is why darkrooms use red safelights: they provide visibility without fogging the paper. The red glow of a safelight is the most iconic visual element of the analogue darkroom — and the foundation of our palette.
--gl-accent
#DC2626
Dominant wavelength ≈ 620nm — matches the transmission peak of a Kodak OC safelight filter, the most widely used safelight in B&W darkrooms.
--gl-accent-light
#EF4444
Slightly shorter wavelength variant for hover states, still within the orthochromatic safe window.
--gl-navy
#1C0A0A
Deep warm black — represents the darkroom environment itself. The warm undertone comes from the red-shifted ambient light.
--gl-body
#4A2C2C
The dim ambient glow of a darkroom with a safelight on — objects are visible but desaturated, with a warm cast.
--gl-warm-bg
#F5E6E6
Fibre-based photographic paper (like Ilford Warmtone FB) under safelight illumination — the paper's warm base is enhanced by red light.
--gl-page-bg
#FFF8F8
Unexposed photographic paper — almost pure white, with the faintest warm undertone of baryta coating.
--gl-card-border
#DBBFBF
The faint tint at the curling edges of photographic paper as it catches the safelight at an angle.
Film Grain Simulation
The grain pattern in our logomark and favicon is a computational simulation of silver halide crystal distribution in photographic emulsion. It's not decorative noise — it's modelled on real emulsion science.
Poisson Point Process
Crystal PlacementIn a photographic emulsion, silver halide crystal nucleation sites form during the precipitation stage. The gelatin matrix provides a roughly uniform medium, so crystal positions follow a spatial Poisson process — each location is independent, and the number of crystals in any region follows a Poisson distribution.
Log-Normal Size Distribution
Ostwald RipeningDuring emulsion manufacturing, silver halide crystals undergo Ostwald ripening: smaller crystals have higher surface energy, so they dissolve and their ions re-deposit onto larger crystals. Over time this produces a characteristic log-normal size distribution. The simulation samples grain radii using r = exp(μ + σ · Z) where Z is a standard normal (Box-Muller transform), μ = -3.8, σ = 0.5.
Clumped Grains
Secondary Poisson ProcessReal emulsions aren't perfectly uniform. During coating, variations in gelatin viscosity, temperature gradients, and drying rates create local density fluctuations. The simulation adds clump centres with satellite grains scattered via Gaussian offsets, creating the characteristic uneven texture visible in micrographs of photographic film.
Opacity ∝ Grain Volume
Beer-Lambert LawLarger developed silver grains block more light during printing. The Beer-Lambert law (A = εlc) states that absorbance is proportional to path length. Each grain's opacity scales with its radius: opacity = 0.3 + (r / rmax) × 0.65, approximating how larger crystals produce denser silver deposits on a real negative.
Seeded PRNG
Reproducible RandomnessAll randomness uses Mulberry32, a deterministic 32-bit seeded PRNG with seed value 42. This ensures the grain pattern is identical across every build — the logo never changes unless the seed or parameters are intentionally modified. Same simulation, same result, every time.
Craft meets code
Red because that's the only safe colour in a darkroom. Grain because that's the fundamental unit of a photographic image. Warm tones because that's what paper looks like under safelight. Scientific parameters because precision matters — in emulsion making and in brand identity.