<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Danish Khan</title>
    <description>The latest articles on DEV Community by Danish Khan (@danishmk1286).</description>
    <link>https://dev.to/danishmk1286</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3427200%2Fe105679d-e626-48be-b4c4-54651e2812df.png</url>
      <title>DEV Community: Danish Khan</title>
      <link>https://dev.to/danishmk1286</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danishmk1286"/>
    <language>en</language>
    <item>
      <title>I got tired of color contrast tools that break brand colors. So I built my own.</title>
      <dc:creator>Danish Khan</dc:creator>
      <pubDate>Mon, 09 Mar 2026 13:20:00 +0000</pubDate>
      <link>https://dev.to/danishmk1286/i-got-tired-of-color-contrast-tools-that-break-brand-colors-so-i-built-my-own-4ani</link>
      <guid>https://dev.to/danishmk1286/i-got-tired-of-color-contrast-tools-that-break-brand-colors-so-i-built-my-own-4ani</guid>
      <description>&lt;p&gt;You run a contrast check. It fails. You change the color. It passes WCAG. But now it looks nothing like your brand.&lt;/p&gt;

&lt;p&gt;Every designer knows this moment. And most contrast tools just leave you there.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The real problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In real projects you are not working with random colors. You are working with a brand palette that a client spent months defining. When a tool says "just change the color," it is solving one problem and creating another.&lt;/p&gt;

&lt;p&gt;I kept asking: why can't a contrast tool suggest accessible alternatives that actually stay close to the original?&lt;/p&gt;

&lt;p&gt;Nobody had built it. So I did.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What I built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1onsw3odsqmr1pkt1gdv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1onsw3odsqmr1pkt1gdv.png" alt="Smart Color Contrast Checker UI" width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.thecolorcontrastchecker.com" rel="noopener noreferrer"&gt;Smart Color Contrast Checker&lt;/a&gt; checks WCAG 2.1 and 2.2 AA/AAA compliance in real time. When a color fails, it suggests accessible alternatives that stay visually close to your original. Not just "here is a passing color." But "here is a passing color that still looks like your brand."&lt;/p&gt;

&lt;p&gt;Two modes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Algorithmic mode&lt;/strong&gt; needs no API key. Runs entirely in the browser, nothing sent anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI mode&lt;/strong&gt; uses an optional OpenAI key to ask an LLM for brand-aware suggestions. Every suggestion is validated before you see it.&lt;/p&gt;

&lt;p&gt;Source is open: &lt;a href="https://github.com/Danishmk1286/WCAG-Contrast-Checker-Ai" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Also inside Figma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxw56dkfmekq5717fz3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxw56dkfmekq5717fz3i.png" alt="Figma Plugin Screenshot" width="633" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Color decisions happen in Figma, not in a browser tab. So I built a &lt;a href="https://www.figma.com/community/plugin/1548100074928472068" rel="noopener noreferrer"&gt;companion plugin&lt;/a&gt; that brings the same functionality directly into your design workflow. No context switching.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Who it is for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Designers working with brand palettes. Frontend devs verifying specs before shipping. Anyone building or auditing a design system.&lt;/p&gt;




&lt;p&gt;Accessibility and good design should not be in conflict. The tooling just makes it feel that way.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://www.thecolorcontrastchecker.com" rel="noopener noreferrer"&gt;thecolorcontrastchecker.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have feedback, drop a comment or open an issue on GitHub. I read everything.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>design</category>
    </item>
    <item>
      <title>I built a tint &amp; shades generator for design tokens and Figma</title>
      <dc:creator>Danish Khan</dc:creator>
      <pubDate>Tue, 30 Dec 2025 10:08:27 +0000</pubDate>
      <link>https://dev.to/danishmk1286/i-built-a-tint-shades-generator-for-design-tokens-and-figma-bc2</link>
      <guid>https://dev.to/danishmk1286/i-built-a-tint-shades-generator-for-design-tokens-and-figma-bc2</guid>
      <description>&lt;p&gt;I often need clean color scales for design systems (primary-50 → primary-900, etc.), and got tired of building them manually or using tools that don’t fit dev workflows.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://tintandshadesgenerator.com/" rel="noopener noreferrer"&gt;Tint &amp;amp; Shades Palette Generator&lt;/a&gt;&lt;/strong&gt; – a small tool to generate &lt;strong&gt;tints and shades&lt;/strong&gt; from a base color, with exports that are friendly for &lt;strong&gt;design tokens and Figma&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpx9exmjeb52cm8s1z2aj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpx9exmjeb52cm8s1z2aj.png" alt="Tint &amp;amp; Shades Generator UI showing base color input, generated tints and shades, and export options" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What it does
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Generates &lt;strong&gt;tints and shades&lt;/strong&gt; from a single base color
&lt;/li&gt;
&lt;li&gt;Uses &lt;strong&gt;HSL&lt;/strong&gt; for smoother, more predictable ramps
&lt;/li&gt;
&lt;li&gt;Lets you quickly build scales like &lt;code&gt;50, 100, 200, …, 900&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Exports:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JSON&lt;/strong&gt; (design tokens style)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS custom properties&lt;/strong&gt; (&lt;code&gt;--color-primary-50&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;100% &lt;strong&gt;client-side&lt;/strong&gt;, works offline after first load&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Live tool: &lt;strong&gt;&lt;a href="https://tintandshadesgenerator.com/" rel="noopener noreferrer"&gt;https://tintandshadesgenerator.com/&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Source: &lt;strong&gt;&lt;a href="https://github.com/Danishmk1286/tint-shade-palette-generator" rel="noopener noreferrer"&gt;https://github.com/Danishmk1286/tint-shade-palette-generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How I use it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To create base palettes for design systems
&lt;/li&gt;
&lt;li&gt;To generate scales that I then test in &lt;strong&gt;Contrast Buddy&lt;/strong&gt; (my WCAG contrast checker)
&lt;/li&gt;
&lt;li&gt;To share consistent palettes between Figma and code&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feedback?
&lt;/h3&gt;

&lt;p&gt;I’d love to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How do you currently build your color scales?&lt;/li&gt;
&lt;li&gt;What export formats or integrations would make this more useful (Tailwind config, Style Dictionary, etc.)?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Issues / ideas / PRs welcome:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/Danishmk1286/tint-shade-palette-generator" rel="noopener noreferrer"&gt;https://github.com/Danishmk1286/tint-shade-palette-generator&lt;/a&gt;&lt;/p&gt;

</description>
      <category>design</category>
      <category>webdev</category>
      <category>a11y</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
