Flickr Design System Deep-Dive
1. Brand Overview
Flickr has always been about photography with a community backbone. The design language on flickr.com reflects that — clean, functional, and slightly nostalgic for early web aesthetics, but updated with modern UI conventions. The brand is for serious hobbyists, pros, and people who care about visual presentation. The interface is not trying to be hyper-minimal like Instagram; instead, it balances utility (filters, search, tagging) with a visual identity that is distinctly “Flickr.”
The vibe: utilitarian with a pop of personality. The bright primary pink (#ff0084) is unapologetically loud. It’s paired with deep grays (#333333, #232323) and neutral beiges (#d9d7ce) that feel grounded. This lets the photography — the real star of the show — sit front and center without the UI competing for attention.
Typography is consistent and bold. Proxima Nova is everywhere, in multiple weights, with uppercase headings dominating the visual hierarchy. There’s a clear intent to make navigation and CTAs stand out through weight and size rather than through excessive color gradients or motion.
Spacing is based on an 8px grid. That’s a deliberate choice — it keeps layouts modular and predictable, essential for a content-heavy platform. Border radii are subtle (2px, 5px, 6px) with occasional 50% for avatars, reinforcing a mix of sharp utility and approachable curves.
Overall, Flickr’s design system is built for clarity and speed. It’s not chasing trendy glassmorphism or neumorphism. Instead, it’s sticking to well-tested patterns, with strong color cues for interaction. The brand voice in design terms: “We’re here to help you find and share great images, and we’ll get out of the way while doing it.”
2. Color System
2.1 Primary Colors
Primary: rgb(255, 0, 132) / #ff0084 — the iconic Flickr magenta. Used for buttons, key CTAs, and selected states. It’s bold, high-contrast, and recognizable. Compared to competitors: Instagram leans gradient, 500px uses muted blues, SmugMug goes dark green. Flickr’s choice is emotional — it stands out against both dark and light backgrounds, and it’s not the typical “trustworthy corporate blue.”
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Dark Gray | #333333 | Global text, logo | Global logo, light-mode logo, login buttons |
| Light Beige | #d9d7ce | Neutral text, backgrounds | Dropdown links, footer headers, newsletter submit button |
| Deep Charcoal | #232323 | Navigation text | Search button, navigation link, explore link mobile |
| White | #ffffff | Text on dark, backgrounds | Search button text, button menu text, mobile button text |
| Link Blue | #0000ee | Hyperlinks | Link wrap, text link arrow |
| Black | #000000 | Utility | Occasional border or text |
| Primary Magenta | #ff0084 | Primary CTA | Button menu, mobile button, button |
| Medium Gray | #75746c | Secondary text | Occasional labels |
| Bright Blue | #3898ec | Hover/focus accents | Hover/focus states |
| Deep Blue | #0e5ac0 | Hover/focus accents | Hover/focus states |
| Slightly Different Deep Blue | #0e59c0 | Hover/focus accents | Hover/focus states |
| Neutral Gray | #464544 | Hover/focus accents | Hover/focus states |
| Beige Transparent | rgba(217, 215, 206, 0.808) → #d9d7ce | Hover/focus accents | Hover/focus states |
| Warm Gray | #484846 | Hover/focus accents | Hover/focus states |
| Charcoal Gray | #474645 | Hover/focus accents | Hover/focus states |
| Charcoal Gray Alt | #474745 | Hover/focus accents | Hover/focus states |
| Neutral Gray Alt | #464543 | Hover/focus accents | Hover/focus states |
| Warm Gray Alt | #484746 | Hover/focus accents | Hover/focus states |
| Accent Blue | #0967e7 | Secondary color token | Hover/focus states, secondary actions |
2.3 Color Relationships
Contrast: The magenta on white passes WCAG easily. Magenta on beige is borderline — avoid unless bold weight is used. The deep grays on white are safe. Link blue #0000ee is pure old-school HTML link blue — high contrast but not “modern.” The accent blues (#0967e7, #3898ec) work well for hover states because they’re saturated but not neon.
Dark mode: Not explicitly implemented, but the gray-heavy palette would adapt well. The beige (#d9d7ce) works as a warm light-mode background; in dark mode, invert to darker neutrals with magenta still as the accent.
2.4 Usage Guide
- Works: Magenta + white for CTAs. Deep gray + beige for text-heavy sections. Blue hover over gray text for clear affordance.
- Avoid: Magenta over link blue — fight for attention. Beige over white — washed out.
- Pro tip: Use transparent beige backgrounds for input fields to subtly differentiate them from pure white.
3. Typography
3.1 Font Families
Primary: Proxima Nova, fallback Arial. Multiple weights (300, 400, 600, 700). Some variants are named Proxima_Nova_Bold or Proxima_Nova_Regular in CSS — likely custom-hosted. Google Fonts source: Ubuntu (present but not primary).
Uppercase headings dominate. Link styles vary from uppercase to sentence case depending on hierarchy.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| H1 Large | Proxima Nova | 148.8px | 700 | 0.70 |
| H1 Medium | Proxima Nova | 126.72px | 700 | 0.40 |
| H1 Mid | Proxima Nova | 115.2px | 700 | 0.75 |
| H1 Mid Tight | Proxima Nova | 115.2px | 700 | 0.75 |
| H1 Small | Proxima Nova | 60px | 700 | 0.75 |
| Subheading | Proxima Nova | 30px | 300 | 1.30 |
| Link/Button | Proxima Nova | 24px | 400 | 0.83 |
| H1 Compact | Proxima Nova | 24px | 700 | 0.83 |
| H1 Compact Light | Proxima Nova | 24px | 400 | 0.83 |
| H1 Small Bold | Proxima Nova | 21.6px | 700 | 1.50 |
| H1 Small Light | Proxima Nova | 21.6px | 300 | 1.50 |
| Link Uppercase | Proxima Nova | 21.6px | 400 | 0.93 |
| H1 Uppercase | Proxima Nova | 21.6px | 700 | 0.93 |
| H1 Uppercase Light | Proxima Nova | 21.6px | 400 | 1.20 |
| Link Bold | Proxima Nova | 21.6px | 700 | 1.00 |
| Link Uppercase Bold | Proxima Nova | 21.6px | 700 | 1.20 |
| Link Uppercase Tight | Proxima Nova | 21.6px | 700 | 0.93 |
| H1 Uppercase Tight | Proxima Nova | 21.6px | 400 | 0.93 |
| H1 Uppercase Wide | Proxima Nova | 21.6px | 700 | 1.50 |
| H1 Uppercase Wider | Proxima Nova | 21.6px | 700 | 1.20 |
| H1 Light Compact | Proxima Nova | 21.6px | 400 | 1.10 |
| Button Uppercase | Proxima Nova | 21.36px | 400 | 1.40 |
| Body | Proxima Nova | 19.2px | 400 | 1.04 |
| Link Uppercase Small | Proxima Nova | 19.2px | 400 | 0.01 |
| Body Light | Proxima Nova | 19.2px | 300 | 1.50 |
| Link Light | Proxima Nova | 19.2px | 300 | 1.50 |
| Link Bold Tiny | Proxima Nova | 18px | 700 | 1.00 |
| H1 Bold Tiny | Proxima_Nova_Bold | 18px | 700 | 1.30 |
| H1 Small SemiBold | Proxima Nova | 16.8px | 600 | 1.30 |
| H1 Small Regular | Proxima Nova | 16.8px | 400 | 1.00 |
| H1 Small SemiBold Tight | Proxima Nova | 16.8px | 600 | 1.00 |
| Body Extended | Proxima Nova | 16.2px | 400 | 1.70 |
| Button Small | Proxima Nova | 16px | 400 | 1.25 |
| Link Small | Proxima Nova | 16px | 400 | 1.25 |
| Link Uppercase Small | Proxima Nova | 16px | 700 | 1.00 |
| Link System | system-ui | 14px | 700 | 1.43 |
| Button Tiny | Proxima_Nova_Regular | 12px | 400 | 1.52 |
| Link Tiny | Proxima_Nova_Regular | 10px | 400 | 1.82 |
| Caption | Proxima_Nova_Regular | 10px | 400 | 1.82 |
3.3 Hierarchy
Huge H1 sizes (up to 148.8px) are clearly for hero sections — not common in app UI. The 24px–21.6px range is the workhorse for buttons and links. Microcopy goes down to 10px — risky for readability but probably limited to captions. Uppercase is used liberally for emphasis, but lighter weights (300) prevent it from feeling too aggressive.
4. Spacing & Layout
4.1 Spacing Scale
Base: 8px grid. Common values:
| Value | Rem | Count |
|---|---|---|
| 1px | 0.06rem | 4 |
| 2.4px | 0.15rem | 2 |
| 6px | 0.38rem | 2 |
| 8px | 0.50rem | 2 |
| 9px | 0.56rem | 4 |
| 9.6px | 0.60rem | 4 |
| 10px | 0.63rem | 18 |
| 12px | 0.75rem | 44 |
| 15px | 0.94rem | 2 |
| 16px | 1rem | 9 |
| 16.2656px | 1.02rem | 4 |
| 18px | 1.13rem | 6 |
| 19.2px | 1.20rem | 2 |
| 20px | 1.25rem | 29 |
| 24px | 1.50rem | 62 |
| 28.8px | 1.80rem | 4 |
| 30px | 1.88rem | 5 |
| 40px | 2.50rem | 3 |
| 48px | 3.00rem | 1 |
| 60px | 3.75rem | 10 |
4.2 Layout
Breakpoints:
1px, 320px, 425px, 479px, 640px, 700px, 767px, 768px, 991px, 1024px, 1280px, 1440px, 1920px.
This is a full responsive stack. 768px and 991px mark tablet breakpoints. 1280px and 1440px are desktop tiers; 1920px for ultra-wide.
5. Visual Elements
Border Radius
Values:
0px 6px 6px 0px— search buttons2px— small divs, buttons5px— buttons, comboboxes, listboxes6px 0px 0px 6px— inputs7px— occasional pro feature buttons10px— rare div usage50%— avatars, round images
Shadows
Minimal use — mostly flat. Three shadow patterns:
rgba(32, 53, 90, 0.08) 4px -19px 35px, rgba(32, 53, 90, 0.15) 11px 11px 30px -10px— subtle depth.rgba(0, 0, 0, 0.2) 0px 1px 5pxrgba(0, 0, 0, 0.2) 0px 0px 4px
Borders
Frequent 1–3px solid borders in grays and white. Magenta bottom borders for emphasis (0px 0px 2px solid #ff0084).
6. Components
6.1 Buttons
Search Button
Default: bg #232323, text #ffffff, radius 0px 6px 6px 0px, padding 0px.
Menu Button
Default: bg #ff0084, text #ffffff, padding 9px 24px, radius 5px.
Hover: text #0967e7, bg transparent, opacity 0.6.
Focus: white + blue box shadow.
Toggle Wrapper
Default: transparent bg, text #333333, border 3px solid #232323.
Newsletter Submit
Default: bg #d9d7ce, text #ffffff, radius 0px 6px 6px 0px.
Pro Button
Default: bg #0967e7, text #ffffff, padding 18px 24px, radius 7px.
Hover: text #0967e7, bg transparent, opacity 0.6.
Language Switcher
Default: bg #2d2d2d, text #333333, radius 5px. Hover: text #0967e7.
6.2 Links
Multiple styles:
- Blue
#0000eeunderline, hover#0967e7. - Gray
#333333no underline, hover blue. - White bold, hover blue.
- Beige
#d9d7ceno underline, hover blue.
6.3 Forms
Inputs:
- Dark bg
#4a4947, text beige, border2px solid #232323, radius6px 0px 0px 6px. - Transparent beige background variant.
Checkboxes: transparent bg, no border radius.
7. Design Tokens
:root {
/* Colors */
--color-primary: #ff0084;
--color-dark-gray: #333333;
--color-light-beige: #d9d7ce;
--color-deep-charcoal: #232323;
--color-white: #ffffff;
--color-link-blue: #0000ee;
--color-black: #000000;
--color-medium-gray: #75746c;
--color-bright-blue: #3898ec;
--color-deep-blue: #0e5ac0;
--color-deep-blue-alt: #0e59c0;
--color-neutral-gray: #464544;
--color-warm-gray: #484846;
--color-charcoal-gray: #474645;
--color-charcoal-gray-alt: #474745;
--color-neutral-gray-alt: #464543;
--color-warm-gray-alt: #484746;
--color-accent-blue: #0967e7;
/* Typography */
--font-primary: "Proxima Nova", Arial, sans-serif;
--font-weight-light: 300;
--font-weight-regular: 400;
--font-weight-semibold: 600;
--font-weight-bold: 700;
/* Spacing */
--space-1: 1px;
--space-2-4: 2.4px;
--space-6: 6px;
--space-8: 8px;
--space-9: 9px;
--space-9-6: 9.6px;
--space-10: 10px;
--space-12: 12px;
--space-15: 15px;
--space-16: 16px;
--space-16-26: 16.2656px;
--space-18: 18px;
--space-19-2: 19.2px;
--space-20: 20px;
--space-24: 24px;
--space-28-8: 28.8px;
--space-30: 30px;
--space-40: 40px;
--space-48: 48px;
--space-60: 60px;
/* Radius */
--radius-none: 0px;
--radius-sm: 2px;
--radius-md: 5px;
--radius-lg: 7px;
--radius-xl: 10px;
--radius-search-btn: 0px 6px 6px 0px;
--radius-input: 6px 0px 0px 6px;
--radius-full: 50%;
/* Shadows */
--shadow-soft: rgba(32, 53, 90, 0.08) 4px -19px 35px, rgba(32, 53, 90, 0.15) 11px 11px 30px -10px;
--shadow-small: rgba(0, 0, 0, 0.2) 0px 1px 5px;
--shadow-tiny: rgba(0, 0, 0, 0.2) 0px 0px 4px;
}8. AI Coding Assistant Prompt
# Flickr Design System Specification
You are a Flickr design expert. Build UIs matching their visual language exactly.
## Brand Context
Flickr values utility, clarity, and a community-driven visual identity. The design is functional with strong color cues for interaction and typography-driven hierarchy. The goal: keep photography front and center while making navigation and actions obvious.
## Color Palette
- Primary Magenta: #ff0084 — Primary CTAs, key buttons
- Dark Gray: #333333 — Global text, logo
- Light Beige: #d9d7ce — Neutral backgrounds, footer text
- Deep Charcoal: #232323 — Navigation, search buttons
- White: #ffffff — Text on dark, backgrounds
- Link Blue: #0000ee — Default links
- Black: #000000 — Utility borders/text
- Medium Gray: #75746c — Secondary text
- Bright Blue: #3898ec — Hover/focus accents
- Deep Blue: #0e5ac0 — Hover/focus accents
- Deep Blue Alt: #0e59c0 — Hover/focus accents
- Neutral Gray: #464544 — Hover/focus accents
- Warm Gray: #484846 — Hover/focus accents
- Charcoal Gray: #474645 — Hover/focus accents
- Charcoal Gray Alt: #474745 — Hover/focus accents
- Neutral Gray Alt: #464543 — Hover/focus accents
- Warm Gray Alt: #484746 — Hover/focus accents
- Accent Blue: #0967e7 — Secondary actions, hover states
## Typography
Font family: "Proxima Nova", Arial, sans-serif. Weights: 300, 400, 600, 700.
Type sizes and usage:
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 Hero | 148.8px | 700 | 0.70 | Hero titles |
| H1 Large | 126.72px | 700 | 0.40 | Large headings |
| H1 Medium | 115.2px | 700 | 0.75 | Section titles |
| Subheading | 30px | 300 | 1.30 | Subhead text |
| Button/Large Link | 24px | 400 | 0.83 | Primary buttons |
| Uppercase Link | 21.6px | 400 | 0.93 | Nav links |
| Body | 19.2px | 400 | 1.04 | Standard body text |
| Caption | 10px | 400 | 1.82 | Image captions |
## Spacing & Grid
Base: 8px grid. Tokens: 1px, 2.4px, 6px, 8px, 9px, 10px, 12px, 16px, 18px, 20px, 24px, 30px, 40px, 48px, 60px. Use multiples for padding/margins.
## Border Radius
- Search Button: 0px 6px 6px 0px
- Small: 2px — small buttons
- Medium: 5px — standard buttons
- Large: 7px — pro buttons
- Input: 6px 0px 0px 6px
- Full: 50% — avatars
## Shadows & Depth
Minimal shadows:
- Soft: rgba(32,53,90,0.08) 4px -19px 35px, rgba(32,53,90,0.15) 11px 11px 30px -10px
- Small: rgba(0,0,0,0.2) 0px 1px 5px
- Tiny: rgba(0,0,0,0.2) 0px 0px 4px
## Component Specifications
### Primary Button
Default: bg #ff0084, text #ffffff, padding 9px 24px, radius 5px, border none, font-weight 700, font-size 21.6px.
Hover: text #0967e7, bg transparent, opacity 0.6.
Focus: white + #3699f1 box shadow.
### Secondary Button (Pro)
Default: bg #0967e7, text #ffffff, padding 18px 24px, radius 7px, border none, font-weight 700, font-size 16px.
Hover: text #0967e7, bg transparent, opacity 0.6.
Focus: same as primary.
### Search Button
Default: bg #232323, text #ffffff, radius 0px 6px 6px 0px, padding 0px, font-size 24px.
### Navigation Links
Default: color #333333, no underline. Hover: color #0967e7.
### Input Fields
Default: bg #4a4947, text #d9d7ce, border 2px solid #232323, radius 6px 0px 0px 6px, padding 12px 18px.
Transparent variant: bg rgba(217,215,206,0.31), padding 12px.
### Cards
Background: #ffffff or #d9d7ce, radius 5px, padding multiples of 8px, optional soft shadow.
## Layout & Responsive Rules
Breakpoints: 320px, 425px, 640px, 700px, 768px, 991px, 1024px, 1280px, 1440px, 1920px.
Container widths adjust per breakpoint.
## Interaction Rules
Transitions: 150ms ease for hover/focus state changes.
Focus indicators: visible box shadow with accent blue.
## DO List
- Use only colors from palette
- Maintain 8px spacing grid
- Use Proxima Nova for all text
- Keep uppercase headings for main titles
- Preserve border radius styles per component
- Use hover/focus color changes for affordance
## DON'T List
- Don't use gradients
- Don't invent new colors
- Don't mix sharp and rounded corners inconsistently
- Don't remove hover states
- Don't use shadows heavily — keep depth subtle
## Code Examples
### Primary Button
```css
.btn-primary {
background: #ff0084;
color: #ffffff;
padding: 9px 24px;
border-radius: 5px;
font-weight: 700;
font-size: 21.6px;
border: none;
transition: all 150ms ease;
}
.btn-primary:hover {
color: #0967e7;
background: transparent;
opacity: 0.6;
}
.btn-primary:focus {
box-shadow: #ffffff 0px 0px 0px 1px, #3699f1 0px 0px 0px 4px;
outline: none;
}
```
### Input Field
```css
.input {
background-color: #4a4947;
color: #d9d7ce;
border: 2px solid #232323;
border-radius: 6px 0px 0px 6px;
padding: 12px 18px;
}
.input:focus { outline: none; }
```
### Card
```css
.card {
background: #ffffff;
border-radius: 5px;
padding: 24px;
box-shadow: rgba(0,0,0,0.2) 0px 1px 5px;
}
```9. Summary
TL;DR — Flickr’s design system is bold magenta meets utilitarian grays, with typography doing the heavy lifting. The 8px grid keeps layouts predictable, and hover/focus accents in blue provide clear interactivity cues. Minimal shadows, consistent radii, and uppercase headings define the brand’s UI voice.
Brand Keywords:
- magenta-driven
- utility-first
- photo-centric
- typography-heavy
- grid-disciplined