Starting with a simple palette generator. I recreated the existing colour steps with OKLCH and extended down into brighter lightness. Both dark and light themes driven by the same base tokens. Using a hue shift at the darker end to have it blending well with the background.
Decided to write up a little tool I've been using to create Tailwind CSS v4-like color palettes.
Just pick a hue → get 11 shades that feel like the originals. All thanks to OKLCH's perceptual uniformity.
This gives predictable behavior when mutations trigger sync and clearer separation between data access and modifications.
CoValues are mutable but only through $jazz namespace. This prevents accidental mutations while ensuring proper sync and framework compatibility.
I upgrade my project for @jazz_tools 0.18+ this weekend and there is what changes with this new version:
1. new $jazz field for CoValues that serve as a namespace to contains all Jazz-specific properties
2. co object are now readonly and mutations now go through $jazz namespace
It prevent direct object mutations such as:
- cannot asign values to CoValues props
- typescript show errors if trying to mutate directly in object
Instead of: “I’ll modify this object directly” ->
“I’ll explicitely tell jazz to update this CoValue”.
“why is it called Jazz?”
In the same way that Jazz music disassembles rigid music conventions into primitives
Spontaneously & effortlessly reassembling them into something new, surprising, dynamic and “just what was needed”
…and how the Jazz musician merely hints at things…
Today I've been working on a CLI admin tool for managing a nickname registry.
I've used https://t.co/E8lZev251L by @nicolasembleton.
There is the my orignal/enhanced prompt via Vscode:
Fall in love with website section `Colophon` and `People I'm inpired by`. Spend a few hours jumping between recommendations, discovering gems; reading /about and /now pages of internet people
Some discovery:
- https://t.co/YhZ4JWmQzK
- https://t.co/Kb99QVRbcA by @kylerjphillips