5 comments

[ 3.0 ms ] story [ 24.8 ms ] thread
Hey HN,

Hueflake makes it easy for anyone to build a personalized code editor or terminal theme in minutes using the power of color science.

The crux of the customization is in just 8 knobs (plus some other settings): hue (think “color” like red/green/blue), UI & background colorfulness, code colorfulness, color variety & style, contrast, brightness, and separating different parts of code by brightness/colorfulness.

I built Hueflake because themes and colors are deeply personal, and I can’t say I’ve found one that fits me perfectly. I like the GitHub VS Code theme, but there are still a few things I’d change and creating/modifying themes manually is too time-consuming. We all have different preferences: low/high contrast, light/dark mode, vivid/muted colors, or warm/cool hues. Hueflake makes it easy to craft a theme specifically for your preferences. It also comes with built-in correction for colorblindness, including deuteranomaly, protanomaly, and tritanomaly, with adjustable strength.

Every theme can be exported for 24 editors and terminals, including VS Code and all JetBrains IDEs based on IntelliJ: https://hueflake.dev/#apps. I’ll most likely work on Vim/Neovim support next. Vote for your preferred apps here: https://hueflake.dev/apps/request-new

The dynamic theme engine is the result of my in-depth evaluations of 18 different perceptually-uniform color spaces and color appearance models (two just published this year!) and some techniques that are novel as far I’m aware, combined with a lot of meticulous tweaking.

App support also has a focus on quality. For example, the Terminal.app template is color-managed; most existing themes I found weren’t, leading to distorted colors on modern MacBooks with wide-gamut P3 displays. For supported terminals (kitty and alacritty), some common xterm256 colors are themed so the “pure” shell prompt, diff-so-fancy, and delta-diff follow the theme. More details on the respective app support pages.

My goal is that unlike most universal theme frameworks, every app is a first-class target for Hueflake because it can dynamically generate colors that fit each and every UI element. That way, there’s never a missing color that has to be replaced with a “close enough” one. So when support for a given app is added, that’s one more target that all Hueflake themes are instantly available for, including the entire public theme collection: https://hueflake.dev/themes

Would be happy to get some feedback, positive or negative!

the themes don't appear to be applying to the text for me (firefox 104.2.0 on android)
Do you have cookies disabled by any chance? If so, it's a known issue I'm still trying to fix because the auth library I use (Supabase) breaks without localStorage.
Very cool project, congrats on the launch!

Just some thoughts and findings:

- After creating one theme, the plus-button on the dashboard page keeps loading forever after clicking it. The error in the console seems to indicate I have to upgrade to create another theme, but some kind of message would be nice.

- I feel like the editor really needs some kind of undo functionality. It's a bit frustrating/risky to experiment with the settings after you have found a combination you like.

- It would be cool if I could change the text/language in the preview. I get this might be a bit much, so providing more examples in a dropdown of some sort could be an alternative. E.g. I would like the see how a vue or svelte component would look like. Also a terminal preview would be nice. IMO all this becomes even more important (or necessary) when you consider that people would need to pay $6 to actually see how the theme looks for their use cases.

- I feel like letting people download one theme (maybe limited to a few apps) for free would lower the hurdle to get them to pay for it. Maybe that's not a concern and people don't mind, but it would definitely convince me.

Hope there's something useful in there.

Really cool product and definitely something I would use regularly after trying basically 99% of all themes out there and even creating my own.

Best of luck to you!

Great points, thanks so much for the feedback!

- Fixed the new-theme issue, not sure how I missed that.

- Undo is definitely a good idea!

- I was considering an embedded Monaco editor for more flexible previews, but didn't end up adding it for simplicity and security (since I'd have to send a mostly complete VS Code theme to the client). I think I'll just add more previews to mitigate it for now. Terminal preview is a good idea too.

- I'm expecting single-theme downloads to be the most common option for users, so I'm not sure how making them free would work out.