Choosing the Color Palette

Why the palette is built around Bergen’s weather and Bryggen’s colors.

A lot of developer portfolios default to bright, saturated, startup-friendly palettes. That never felt right to me. I wanted something that reflected where I actually live: Bergen, Norway.

The Foundation: Weather

The base colors are cold, muted, and blue-shifted. Think overcast sky rather than night mode for the sake of night mode. The background is #0F1A22 — close to black, but with enough blue to avoid feeling flat.

Surfaces step up gradually: cards at #15232E, elevated elements at #1C2F3A. Borders sit at #263E4C, low-contrast by design. They define structure without turning the UI into a grid of boxes.

The Accents: Bryggen

Bryggen's wooden buildings — reds and ochres worn down by weather — became the accent colors. They're not there to add energy, but to break the monotony when something needs emphasis.

The red #6A3F32 isn't a warning color. It's old paint that's been rained on for a few hundred years. The ochre #9A844F is used sparingly: icons, underlines, small markers. Nothing that competes with content.

Contrast Through Restraint

Contrast comes from luminance, not saturation. Text is a cold off-white #D6E1E8, never pure white. Secondary text is dimmer, but still readable — closer to fog than disabled gray.

Because everything else is held back, accent colors stand out naturally. When red or yellow appears, it's intentional, not decorative.