A complete, accessible palette from one brand color — even ramps, full customization, and contrast checked against WCAG & APCA. Light and dark, ready for Figma.
Warm or cool, vivid or muted — the same rules produce a coherent, balanced system every time.
Lightening and darkening one color in your design tool gives you muddy middles, dead darks, and shades that drift off-hue. A system people can actually build on has to solve a lot at once — by hand, that's hours of fiddling and still inconsistent.
Six steps, all math, fully deterministic — run it twice and you get the exact same palette.
Not in RGB or HSL — those don't match human perception. Rhapsody places your color in a perceptual model with three honest axes: hue, chroma (how vivid), and tone (how light). Everything downstream works in that space, so the math lines up with what you actually see.
Steps are placed at equal ΔE — equal perceptual distance — instead of equal math. So 400→500 looks like the same jump as 700→800. No clumping in the mids, no cliff into the darks.
Colors don't share a floor and ceiling. A blue can go genuinely dark before it dies; a yellow turns muddy if you push it the same way. Rhapsody anchors every ramp by its natural luminance, so each hue spans the widest honest range it has.
From your one color, Rhapsody derives a balanced accent, warm and cool neutrals tuned to your hue, and four custom utility colors balanced for unity — no more overpowering reds, extra-bright greens, or the same exact colors for every brand. Eight ramps that go together.
Contrast isn't an afterthought. Because the tones are perceptually even and luminance-anchored, legible text/background pairings fall out automatically — checked against WCAG and APCA so you can pick with confidence.
Because every ramp runs the full range from near-white to near-black, dark mode isn't a second palette — it's the same tokens, mirrored. Design once; flip with confidence.
A perfectly balanced set of 24 options is one click away — or type in your own exact hex — so you can set the accent without needing to know a thing about color theory.
Most systems stop at 950. Rhapsody adds 975 and 999 — two genuinely deeper tones at the dark end. That's where real dark-mode surfaces and near-black text live, so your darks have somewhere honest to go.
No models, no randomness, no "vibes." A transparent color model produces the same palette every single time — auditable and repeatable.
ΔE-spaced steps mean every shade is equally far from its neighbors. No muddy middles, no dead darks — a ramp that reads as one smooth scale.
Many ramps quietly drift — a blue that washes toward periwinkle in the light. Rhapsody holds your hue constant from the lightest tint to the deepest shade.
Bind straight into Figma as variables — a tidy, single-mode collection, nested and named so you can alias into your own light/dark layer. Or take the same system to code, to an accessibility audit, or to your canvas.
Open in Figma →A single-mode collection, nested and named — alias straight into your token layer and ship.
Structured tokens — nested by role plus a flat map — ready for code, Tailwind, or Style Dictionary.
Every color-pairing with its WCAG ratio and APCA score — sort and filter the whole matrix in any spreadsheet.
A 16:9 art card — your recipe, accessible safe zones, and palette rendered as art — dropped on the canvas.
One color in, a complete accessible palette out — light and dark, ready for Figma. Free to play.