Brand guidelines

Representing the DevRel Foundation brand in public should be done with care and consistency. Please contact us for permission and guidance on using brand assets.

Introduction

The Developer Relations Foundation (also DevRel Foundation or DRF) is a community-driven organisation that supports the global developer relations community. We value growth, support, community, collaboration, and adaptability.

Our visual identity draws inspiration from typical imagery associated with growth (nature), adaptability (water), and physical documents as a nod towards strategy and planning. We embrace concepts like the golden ratio and rounded, fluid forms as well as stationery-like motifs.

Color palette

Our color palette is designed to be accessible, warm, and professional. The system adapts seamlessly between light and dark modes.

Background colors

The primary background color should be used as the main canvas for content. Secondary background colors provide subtle contrast for alternating sections, cards, and UI elements.

  • Primary background: Main canvas for content, default page background
  • Secondary background 1: Alternating sections, subtle contrast areas
  • Secondary background 2: Cards, form fields, highlighted content boxes

Light mode

NameSwatchVariableHEXRGBCMYKHSL
Primary background
Secondary background 1
Secondary background 2

Dark mode

NameSwatchVariableHEXRGBCMYKHSL
Primary background
Secondary background 1
Secondary background 2

Accent colors

Our accent colors should be used strategically to draw attention to important elements and actions.

  • Mint & forest: Primary green accent pair; mint in light mode, forest in dark mode.
  • Sky & sea: Blue accent pair for highlights and secondary emphasis.
  • Agave & hosta: Teal accent pair — use in small amounts.
  • Sand & gold: Warm accent pair — use sparingly.

Any page should mostly consist of background and text colors, using accent colors to highlight information as required. On any page, mint/forest and sky/sea should make up the majority of the accent colors.

Light mode should feature the lighter colors as background colors for accentuated elements. Conversely, dark mode should feature the darker colors as background colors for accentuated elements. These can be swapped for minor highlighting.

Button and accent usage

  • Buttons: Limit button fills to the first two accent colours — mint and sky. Do not use agave, hosta, sand, or gold for buttons.
  • Sky & sea: The blue accent pair is for accents only — tags, highlights, borders, and small emphasis — not for page backgrounds, large text areas, or replacing mint/forest as the primary accent.

Light mode

NameSwatchVariableHEXRGBCMYKHSL
Mint
Sky
Agave
Sand

Dark mode

NameSwatchVariableHEXRGBCMYKHSL
Forest
Sea
Hosta
Gold

Typography colors

Our typography colors ensure readability while maintaining brand consistency.

  • Main text: Primary content, body text, headings
  • Link color: Interactive text elements and hyperlinks

Light mode

NameSwatchVariableHEXRGBCMYKHSL
Main text
Link color

Dark mode

NameSwatchVariableHEXRGBCMYKHSL
Main text
Link color

State colors

Semantic colors for feedback, status badges, and alerts. Each state has a surface, text, and border token. In the site stylesheet, light-mode values are active by default; body.dark-mode swaps to the -dark primitives automatically.

  • Success: Approvals, confirmations, positive outcomes
  • Warning: Caution, pending review, syntax strings in code blocks
  • Error: Failures, rejections, validation errors
  • Info: Neutral notices, “considering” status, supplementary context
Success Warning Error Info

Utility classes: .state-success, .state-warning, .state-error, .state-info (surface + text + border). Text-only: .text-success, .text-warning, .text-error, .text-info.

Light mode

NameSwatchVariableHEXRGBCMYKHSL
Success (surface)
Success (text)
Success (border)
Warning (surface)
Warning (text)
Warning (border)
Error (surface)
Error (text)
Error (border)
Info (surface)
Info (text)
Info (border)
Syntax string (code)

Dark mode

NameSwatchVariableHEXRGBCMYKHSL
Success (surface)
Success (text)
Success (border)
Warning (surface)
Warning (text)
Warning (border)
Error (surface)
Error (text)
Error (border)
Info (surface)
Info (text)
Info (border)
Syntax string (code)

Color combinations & accessibility

These examples show recommended accent pairings in each color mode. You may swap them out for emphasis as required.

The majority of the hues used should be the initial green and the shade of brown/gold. Blues are to be used sparingly as accent colours to draw attention as required.

Light mode

This combination is good for larger text blocks.
Text on mint
Click me
Sand button
Sentence on sky with a text-colored border.
Text with border on sky
Sentence on agave with a text-colored border.
Text with border on agave

Dark mode

This combination is good for larger text blocks.
Text on mint
Click me
Sand button
Sentence on sky with a text-colored border.
Text with border on sky
Sentence on agave with a text-colored border.
Text with border on agave

Accessibility considerations

Always ensure sufficient contrast between text and background colors. Our color palette has been designed with accessibility in mind, but always verify contrast ratios when creating new combinations.

For text on colored backgrounds, use white text on dark colors and dark text on light colors to maintain a minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text.

Accent colors used as part of layout contrast should ideally be accompanied by other elements (borders, underlines, etc.) to show separation — especially when the saturation difference between the accent color and the background color is low. If solid borders are too heavy, experiment with dashed and dotted borders sparingly.

Typography

Our typography system uses Nunito for headings and Nunito Sans for body text. The type scale is fluid, adapting to different screen sizes while maintaining proportions.

We use sentence case for headings, titles, and labels — capitalizing only the first word and proper nouns. Sentence case feels more approachable and conversational than title case, which aligns with our friendly voice and usability values.

Nunito Headings

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Nunito Sans Body text

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Light (300) — Used sparingly for large headings

Regular (400) — Primary body text weight

Semibold (600) — Used for headings and emphasis

Bold (700) — Used for strong emphasis

Fluid type scale

Our type scale uses the golden ratio (1.618) to create a harmonious progression that matches our spacing system.

Step -2 (0.68–0.75rem)
The quick brown fox jumps over the lazy dog.
Step 0 (1–1.2rem)
The quick brown fox jumps over the lazy dog.
Step 2 (1.44–2rem)
The quick brown fox jumps over the lazy dog.
Step 5 (2.49–4.05rem)
The quick brown fox jumps over the lazy dog.

Heading examples

Heading level 1

Heading level 2

Heading level 3

Heading level 4

Body text

Primary body text uses the regular weight of Nunito Sans at Step 0. Line height is set to 1.6 for longer text blocks.

Important: Large blocks of text must respect the color mode — dark text on light backgrounds in light mode, and light text on dark backgrounds in dark mode.

Text emphasis

Use bold for strong emphasis.

Use italic for subtle emphasis or technical terms.

Use links for interactive elements.

Use monospace for code snippets.

Use small text for supplementary information.

Implementation

h1 { font-size: var(--step-5); }
h2 { font-size: var(--step-4); }
h3 { font-size: var(--step-3); }
.text-m { font-size: var(--step-0); }

The fluid scale adapts smoothly between viewport sizes. Each step is approximately 1.618 times larger than the previous, aligning with our spacing system and brand values.

Logo usage

Download brand assets ↗ from the GitHub repository.

logo-dark-text.svg logo-dark-text.svglogo-light-text.svg logo-light-text.svg
logo.svg logo.svglogo-gray.png logo-gray.png

Motifs and patterns

Our brand embraces organic shapes and rounded forms throughout our visual language. These elements reflect our approachable nature and represent the continuous, supportive relationship we foster within developer communities.

Border radius scale

We use a consistent border radius scale across all UI elements to maintain visual harmony. We should choose the roundest option preferable, screen size and layout permitting. Try to use the border radii at a specific screen size for consistency.

M (12px)
Cards, panels, highlight boxes
L (16px)
Large cards, modals, feature sections
XL (24px)
Hero sections, large feature panels
Circle (50%)
Avatars, icons, decorative elements

Core motifs

These foundational motifs can be used as decorative elements throughout our brand materials.

Journal grid

Our dotted background pattern is reminiscent of journal grids, representing structure, organization, and thoughtful planning.

Use this pattern for backgrounds, section dividers, or as subtle texture in documentation materials.

Concentric circles

Concentric circles represent growth, expansion, and the ripple effect of knowledge sharing within communities.

Use as decorative elements in headers, backgrounds, or as visual metaphors for community impact.

Pill shapes

Pill-shaped elements are used for buttons, tags, and form inputs to create a friendly, accessible interface.

The elongated rounded form provides ample touch targets while maintaining our organic visual language.

Tag example

Background circles

Large, low-contrast circles create depth and visual interest in backgrounds without overwhelming content.

Use these subtle circular forms to add dimension to sections while maintaining readability.

Additional motifs

These motifs can be combined and adapted to create a rich visual language across different applications.

Circle group
Overlapping circles
Dot grid
Wave pattern
Arc
Bubble group
Half circle
Quarter circle

Spacing system

Our spacing system uses the golden ratio (1.618) to create an organic, harmonious flow that mirrors the natural growth patterns reflected in our leaf-inspired logo.

Visual scale

3XS (0.25–0.31rem)
2XS (0.4–0.5rem)
XS (0.65–0.81rem)
S (1.05–1.31rem)
M (1.7–2.12rem)
L (2.75–3.43rem)
XL (4.45–5.55rem)
2XL (7.2–8.98rem)

Fluid spacing pairs

These pairs show how spacing transitions between two adjacent sizes as the viewport changes.

XS → S (0.65–1.31rem)
S → M (1.05–2.12rem)
M → L (1.7–3.43rem)
L → XL (2.75–5.55rem)

Component example

This example shows how our spacing system creates harmonious components:

Developer workshop registration

October 15-16, 2023 • Virtual Event

Advanced API design patterns

Join us for a two-day intensive workshop on designing scalable and developer-friendly APIs. Learn best practices from industry experts and apply them in hands-on sessions.

Limited to 50 participants
Hands-on exercises included
Certificate upon completion

Spacing used in this component

  • Card padding: var(--space-m) — Creates comfortable content area
  • Header padding: var(--space-s) — Balanced header spacing
  • Title margin: var(--space-xs) — Tight grouping with date
  • Description margin: var(--space-s) — Separates content sections
  • Details margin: var(--space-s) — Creates visual hierarchy
  • Button padding: var(--space-xs) var(--space-s) — Comfortable touch target
  • Button gap: var(--space-xs) — Related actions spacing

Text spacing examples

3XS spacing (micro)

This text has 3XS spacing below
This demonstrates our smallest spacing unit

Small spacing

This text has S spacing below
Used for related content grouping

Medium spacing

This text has M spacing below
Our default spacing for section elements

Large spacing

This text has L spacing below
Used for major section breaks

Inline spacing demo

Item 1 Item 2 Item 3

Grid and layout system

Our grid system uses the same fluid spacing scale to create harmonious layouts that adapt to different screen sizes, inspired by Utopia's approach but customized to follow our golden ratio theme.

Container width

We constrain content to a maximum width of 1240px (77.5rem) with fluid gutters on either side that scale proportionally with the viewport.

.u-container {
  max-width: var(--grid-max-width);
  padding-inline: var(--grid-gutter);
  margin-inline: auto;
  width: 100%;
}

Grid examples

Our grid uses fluid gutters based on our spacing scale, ensuring consistent spacing throughout layouts.

Fluid responsive grid

This grid automatically adjusts the number of columns based on available space.

Auto
Auto
Auto
Auto
Golden ratio grid

This grid uses the golden ratio (1:1.618) for column proportions.

1 part
1.618 parts
Three-column grid
Column 1
Column 2
Column 3
12-column grid
Main content (8/12)
Sidebar (4/12)

Implementation

Our grid system provides several approaches to layout:

<div class="u-grid-fluid">
  <div>Auto-sizing column</div>
  <div>Auto-sizing column</div>
</div>

<div class="u-grid-golden">
  <div>Smaller column (1 part)</div>
  <div>Larger column (1.618 parts)</div>
</div>

<div class="u-grid u-grid-3">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</div>

All grids automatically adjust to single column on mobile devices, maintaining the harmonious spacing. The fluid nature of our grid system means it adapts to any viewport size without requiring breakpoints, following the same organic growth principles as our spacing and typography systems.

Image guidelines

We prioritize images of DevRel practitioners — preferably our own community members — actively doing DevRel work: speaking, mentoring, collaborating, or building together.

Generic photos don't add value to a page or post.

Voice and tone

Overview

There are two points of perspective from which we write:

  • That which represents the DRF as an organization
  • That which represents an individual — think authenticity

In both cases, we write in a natural, friendly, and respectful voice. We write for a global audience. We represent the DRF and LF; we should be mindful of this in our conduct and content.

A formal register isn’t conducive to friendliness, so we generally avoid this unless necessary. Contractions and natural phrasing are fine. We don’t write exactly as we speak; most people’s speech tends to be verbose and colloquial.

Clarity and conciseness is preferred over personality. Tone may reflect the individual writing but shouldn’t interfere with the clarity of the message.

If posting on social media on behalf of the DRF, extra consideration should be taken to ensure conciseness.

We recommend against using AI for any copy unless you are familiar with using it as a part of the workflow and maintaining your own authentic voice.

Guidelines

Everywhere

  • Use second-person pronouns to address the reader directly.
  • Use the active voice over passive voice.
  • Use inclusive language that welcomes all community members.
  • Short sentences are preferred over complex ones.
  • Include practical examples and actionable insights where applicable.

Avoid

  • Technical jargon.
  • Marketing phrases.
  • Ableist language.
  • Sounding corporate.
  • Long paragraphs.
  • Statements about the future.
  • Assuming the reader has a specific level of understanding (words such as just, simply, easily etc).

Representing the DRF on the website and social media

  • Avoid humor or excessive colloquialisms.
  • Avoid excessive formality, e.g. “Please note that”.
  • Avoid patronizing or dismissive phrasing.
  • Use active language, e.g. “To contact us, email us@email.org“.
  • Avoid filler phrases.

Guidelines for representing yourself under the DRF

  • Humor has to translate well and shouldn’t be at someone’s expense — including DRF and LF sponsors.
  • Your expertise, and therefore your unique delivery of it, is valuable.
  • Short anecdotes are great if they are an example of your expertise and conducive to the narrative of a piece of work.
  • The excellence of your work should speak for itself.

SEO

Organization naming

  • First mention: Developer Relations Foundation (DevRel Foundation, DRF). Only include ‘DRF’ if it required after the first mention.
  • Subequent mentions: DevRel Foundation
  • DRF: Only use after the first mention when space, repetition, or context calls for it (e.g. social, governance, longer-form content).

Including the full name on first mention connects the formal name, common brand name, and acronym for readers and search engines. DRF is already in public use across the website, blog, GitHub, LinkedIn, and community channels — this standard reflects that practice.

Content structure

When drafting content for others to publish (e.g. blog posts), write in plain text and use heading levels:

  • Title (H1): the article title
  • Section header (H2): each major section
  • Subsection (H3): supporting points when needed

The person publishing can then apply the correct heading levels on the site. This keeps content scannable, accessible, and easier for search engines to understand.