Show HN: An OKLCH-based perceptually uniform color system/theme builder

Show HN (score: 5)
Found: November 23, 2025
ID: 2482

Description

Other
Show HN: An OKLCH-based perceptually uniform color system/theme builder I've been using a version of this internally for a few months but decided to polish it a little to finally deploy it.

It's a color system generator that creates accessible, perceptually uniform color palettes using the OKLCH space. It takes one seed (primary) color, generates relative key colors from multiple color harmony schemes (analogous, complementary, etc) that are then used to create 26-step color ramps each. Shades from the ramps are then used to generate semantic color roles, or can be used for creating custom palettes.

All colors are gamut-mapped to the sRGB gamut with chroma reduction, essentially preserving lightness and hue values while finding the maximum in-gamut chroma for each step.

There are obvious similarities to Material Design Themes, mostly because I'm visually pretty comfortable with it. Plus, I started this project back when some of the colors generated by Material could be a little dull and I wanted to learn/build something like this from the ground up.

There are a couple of improvements I would like to make to this in the near future. The first one is a dynamic chroma curve (the chroma falloffs for the ramps are on a bell curve). At the moment, the chroma curve peaks at L ~0.55 for all hue ranges, which works good enough but isn't ideal for a few reasons. The second one would be adding seed color extraction from images. And maybe a built-in contrast checker.

If you find the tool helpful and/or have any feedback or suggestions, let me know.

More from Show

Show HN: Swatchify – CLI to get a color palette from an image

Show HN: Swatchify – CLI to get a color palette from an image A fast, cross-platform CLI tool that extracts dominant colors from images using k-means clustering.

Show HN: Wozz – Agentless Kubernetes cost auditor (open source)

Show HN: Wozz – Agentless Kubernetes cost auditor (open source)

Show HN: Zephyr3D – TypeScript WebGPU/WebGL 3D engine with an in‑browser editor

Show HN: Zephyr3D – TypeScript WebGPU/WebGL 3D engine with an in‑browser editor Hi HN,<p>I’ve been working on Zephyr3D, an open-source 3D rendering engine for the modern web, plus a visual editor that runs entirely in the browser.<p>- Written in TypeScript - Supports WebGL&#x2F;WebGL2&#x2F;WebGPU - Comes with a visual editor that runs in the browser (no installation required)<p>With the recent updates, a few things might be interesting to people here:<p>Engine &amp; rendering ------------------<p>- WebGL&#x2F;WebGPU abstraction with a TypeScript API - PBR rendering - Cluster lighting &amp; Shadow Maps - Clipmap-based terrain for large landscapes - Sky Atmosphere &amp; Height-based fog - FFT water system - Temporal anti-aliasing (TAA) - Screen-space motion blur<p>The goal is to make it possible to build reasonably complex 3D experiences that run directly in the browser, without native dependencies.<p>In-browser editor -----------------<p>The editor is a web app built on top of the engine and runs completely in the browser. It currently supports:<p>- Project management - Scene editing - Node-based material blueprints - Animation editing - Script binding and a scheduling system - Prefabs for reusing entities across scenes - Preview and one-click publishing to the web<p>All project data is handled via a virtual file system (VFS) that can plug into different backends (in-memory, IndexedDB, HTTP, ZIP, DataTransfer, etc.), so saving&#x2F;loading works entirely on the client side.<p>Links -----<p>Homepage: <a href="https:&#x2F;&#x2F;zephyr3d.org" rel="nofollow">https:&#x2F;&#x2F;zephyr3d.org</a> Editor (runs in the browser): <a href="https:&#x2F;&#x2F;zephyr3d.org&#x2F;editor&#x2F;" rel="nofollow">https:&#x2F;&#x2F;zephyr3d.org&#x2F;editor&#x2F;</a> GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;gavinyork&#x2F;zephyr3d" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gavinyork&#x2F;zephyr3d</a><p>I&#x27;d love feedback on:<p>- How the in-browser editor workflow feels (performance, UX, what’s missing) - Whether the VFS approach for project data makes sense for real projects - Any red flags you see in the engine architecture or WebGPU&#x2F;WebGL abstraction - What would be deal-breakers or must-have features for using this in games, data viz, or other interactive web experiences<p>I’ll be around to answer questions and can go into more detail about the rendering pipeline, the editor internals, or anything else you’re curious about.

Show HN: Parm – Install GitHub releases just like your favorite package manager

Show HN: Parm – Install GitHub releases just like your favorite package manager Hi all, I built a CLI tool that allows you to seamlessly install software from GitHub release assets, similar to how your system&#x27;s package manager installs software.<p>It works by exploiting common patterns among GitHub releases across different open-source software such as naming conventions and file layouts to fetch proper release assets for your system and then downloading the proper asset onto your machine via the GitHub API. Parm will then extract the files, find the proper binaries, and then add them to your PATH. Parm can also check for updates and uninstall software, and otherwise manages the entire lifecycle of all software installed by Parm.<p>Parm is not meant to replace your system&#x27;s package manager. It is instead meant as an alternative method to install prebuilt software off of GitHub in a more centralized and simpler way.<p>It&#x27;s currently in a pre-release stage, and there&#x27;s a lot of features I want to add. I&#x27;m currently working (very slowly) on some new features, so if this sounds interesting to you, check it out! It&#x27;s completely free and open-source and is currently released for Linux&#x2F;macOS. I would appreciate any feedback.<p>Link: <a href="https:&#x2F;&#x2F;github.com&#x2F;yhoundz&#x2F;parm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;yhoundz&#x2F;parm</a>

No other tools from this source yet.