Skip to content
View meodai's full-sized avatar
🐙
Probably coloring things
🐙
Probably coloring things

Sponsors

Private Sponsor
@someguy9
Private Sponsor

Sponsoring

@rsms

Block or report meodai

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 250 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
meodai/README.md

Why I Build Generative Design Tools

I'm impatient with repetition and fascinated by surprise.

That mix has led me to explore building systems with internal logic that can produce new outcomes, instead of curating static collections—colors, type scales, components. It's similar to how Karl Gerstner approached his "visual programs": not as fixed solutions, but as frameworks that keep generating solutions.

Color is my laboratory of choice. Choosing colors one by one and checking them against each other always felt slow and brittle. So inspired by Pixel Artist, I started with RampenSau, which explores color ramps by cycling hues and easing curves, surfacing palettes I wouldn't have thought to try.

This led me to Poline, which lets you place anchors and draw relationships between them, then lets math do the blending. Later came RYBitten, which translates colors through Johannes Itten's subtractive wheel—an experiment in making digital color behave more like paint.

Each of these experiments and my passion for generative art and design systems, has led me further into the idea that relationships matter more than individual choices. Lately I've been exploring what happens when palettes themselves become dynamic. Color Router treats color decisions as formulas rather than fixed values: "darken primary by 15%," "choose highest-contrast brand color." Change one variable, watch the system respond everywhere.

This isn't just about speed (though it helps). It's about building conditions for discovery. When you encode relationships instead of results, you get combinations you'd never try manually. You get systems that maintain coherence across complexity you couldn't track by hand. You get emergence.

I keep coming back to this idea: what if we spent less time making individual decisions and more time designing how decisions get made? Less manual color picking, more relationship building. Less fixed outcomes, more intelligent systems.

Maybe that's all these tools really are—ways to be lazy more intelligently. Ways to automate the boring parts so I can focus on the parts that actually matter: the logic, the relationships, the unexpected combinations that emerge when systems start talking to each other.

Pinned Loading

  1. color-names color-names Public

    Large list of handpicked color names 🌈

    JavaScript 2.7k 194

  2. poline poline Public

    Esoteric Palette Generator Mico-Lib Interpolating HSL Color in cartesian space

    TypeScript 892 46

  3. rampensau rampensau Public

    Color palette generation function using hue cycling and simple easing functions.

    TypeScript 264 6

  4. words/color-description words/color-description Public

    Color-Description turns a technical color representation into a human readable description.

    JavaScript 74 6

  5. color-name-api color-name-api Public

    Rest API that returns a bunch of color names for a given color-value

    HTML 145 11

  6. RYBitten RYBitten Public

    Implementation of pseudo RYB color conversions derived from Johannes Itten's color wheel.

    TypeScript 125 3