Generative
Exploring ideas through design, computation, and curiosity.
Long before AI-assisted design became part of everyday workflows, I became curious about what new possibilities could emerge when computation became part of the creative process. Rather than manually designing every outcome, I wanted to understand how a small set of carefully defined constraints could generate many meaningful variations.
How the colour is picked
The boundaries are set. The system explores within them.
01 — Give the system freedom
Hue can go anywhere.
The system can explore the full colour spectrum instead of choosing from a fixed palette.
02 — Define what cannot be broken
Contrast must remain readable.
For every hue, the system must find a lightness that meets the accessibility requirement.
03 — Make the constraint part of the rule
Accessibility isn't a check at the end.
The system considers contrast while generating the colour, so an invalid result isn't simply created and rejected afterwards.
04 — Let the system find the outcomes
The designer doesn't choose every colour.
The rules define the boundaries; the system explores the possibilities within them.
Try it
The designer is no longer designing every possible outcome. The designer is designing the system that governs those outcomes.
Explore the full spectrum, every hue is possible.
The system keeps the accent within a readable range, but you can push the slider beyond it to explore.
- Contrast
- 4.50:1
- Needs
- 4.5:1
- HSL
- 191°, 100%, 30%
Passes WCAG AA
Why not use one lightness value for every hue?
Because colours don't behave the same way. Yellows and greens can lose readable contrast much sooner than blues.
The system therefore solves lightness separately for each hue, keeping the generated colours readable across the spectrum.
Where this began
During my Master's in Visual Communication Design, I chose a computational project over a more conventional one, partly because my background before that was in engineering, and I wanted to see whether a traditional craft could be decoded into rules rather than reproduced by hand.
This exploration became my Master's capstone.
View the full case study