Design systems need a complete color palette, not just one primary color. Designers often say “give me variations of this blue,” but manually adjus…
Posts for: #Tutorial
Extracting Color Palettes from Images: A Practical Guide to Color Quantization
I was building a design tool recently that needed to extract dominant colors from user-uploaded images. After diving into color quantization algori…
From Pixels to Palettes: Implementing Color Extraction in JavaScript
I recently needed to extract dominant colors from brand logos for a design system. After trying several online tools, I found the underlying princi…
Color Format Conversion: Implementation of HEX, RGB, and HSL
As a frontend developer, color format conversion is routine work. Designers give you HEX from Figma, you want HSL for CSS variables, and Canvas nee…
From RGB to WCAG: Understanding Color Contrast Calculation
During an accessibility audit, I found several color combinations in our design system that didn’t meet contrast requirements. When the designer as…
Building a Code Sharing Tool: URL Hash Storage and Base64 Encoding Techniques
Recently, I built a code sharing tool that requires a “no backend, permanent validity” sharing mechanism. After researching several approaches, I c…
From Regex to AST: Understanding Code Minification Principles
Recently, I was optimizing a frontend project where the bundled JS file exceeded 2MB. Even with Webpack’s production mode, the size seemed excessiv…
From Regex to AST: Building a Code Formatter
Dealing with minified legacy code is painful. While Prettier is powerful, sometimes you just want to quickly format a snippet without configuring r…
From Cyclomatic Complexity to Code Quality: Building an Online Code Analyzer
During code reviews, I often encounter “spaghetti code” — functions with hundreds of lines and seven or eight nested if-else blocks. To quantify co…
What 755 Really Means: A Closer Look at Unix File Permissions
Every developer who’s touched a Linux server knows chmod 755. But have you ever stopped to think about why read is 4, write is 2, and execute i…