Courses / Colour for developers

Applied designAbout 85 minutes8 practical labs

Colour for developers

Build interface palettes from colour theory and photography. Sample an image, assign colour roles, and balance emphasis, contrast and status.

Practical colour theory for interfaces: palette relationships, colours drawn from photography, reusable roles and readable combinations. Automated checks assess the supplied brief, not whether a palette is beautiful.

Fit a lab into a lunch break or stay for a spare hour. Progress is saved so you can come and go. Labs need a laptop or desktop; the outline is available on any device.

The entire course is free: every lab and a personal completion download. No account or purchase is required. Progress is saved in this browser. Clearing browser data will remove it.

A palette with a purpose.Interactive practice
Café interior with pale brick, timber shelves, plants and warm pendant lights

Field notes / A reading collection

Give every colour
a useful job.

A quiet surface. Readable words.
One clear place to act.

Open the collectionBrowse the index
SurfaceTextActionAccent
From a photograph to an interface paletteFree course

The curriculum

8 practical labs.
Decisions you can use.

Every lesson starts with a short principle and a page that needs work. You make the changes. The feedback tells you which relationships work and what to try next.

By the end, you can

  • Use hue, saturation and lightness deliberately
  • Build an interface palette from a photograph
  • Build reusable semantic colour roles
  • Separate surfaces without competing accents
  • Measure actual text/background contrast
  • Communicate status with more than colour
  • Apply a palette to a fresh interface

Basic HTML and CSS familiarity. Visual hierarchy for developers is recommended preparation; no colour theory experience needed. Use a laptop or desktop with a browser window at least 1024px wide. Work at your own pace; there is no timer.

  1. 01
    Give colours a job

    A collection of attractive swatches is not yet a colour system. A system tells you which colour to use when a new button, link or status appears.

    8 min
  2. 02
    Build a related palette

    Hue is a position around a colour circle. Saturation moves between grey and a more intense colour; lightness moves toward black or white. Those are different decisions, and changing all three at once makes a palette hard to reason about.

    12 min
  3. 03
    Build from a photograph

    A photograph already contains a palette. Large areas such as brick and timber establish its context; a small copper fitting or leaf can suggest an accent. The most common colour in the image does not have to become the strongest colour in the interface.

    15 min
  4. 04
    Separate the surfaces

    Most of an interface is background. A saturated page colour can dominate even when its small swatch looked harmless. Surface colours should help the content read as groups.

    8 min
  5. 05
    Check the actual pair

    A colour is not “accessible” by itself. The same grey can work on one surface and disappear on another. A readable button fill also needs a readable label.

    10 min
  6. 06
    Spend the accent carefully

    Colour has an amount as well as a value. A strong hue covering half a page makes a different impression from the same hue on one small action.

    8 min
  7. 07
    Make status understandable

    Two coloured dots might look different to you and still fail to communicate what they mean. Status needs a visible meaning that survives the loss of hue.

    9 min
  8. 08
    A fresh colour brief

    Apply the process to new content. The controls are familiar, but this page asks someone to reserve a workspace and understand which spaces are available. Its photograph is different from the guided café brief.

    15 min

Proper interaction.

Work with real photographs and their sampled colours. Adjust a live palette, inspect foreground/background contrast, compare colour roles and export the CSS tokens behind your decisions.

A completion record.

Pass the practical checks in each lab to download an optional personal completion record. It is created on your device, has no public verification page and is not an accredited qualification.

For you, or your team.

This course is free for individuals and teams. No account is needed. Progress is saved in this browser. Clearing browser data will remove it.