Articles
Tool guides, tech explanations, and dev tips—things I found useful and thought worth sharing.
-
Preventing AI Chat Character Breakdown — System Prompt Design, Time Injection & History Compression
How to keep an AI character's tone and consistency intact over long conversations: structured system prompts, server-side JST time injection, and conversation-history compression techniques.
AI prompting LLM web-development -
AI Chat Conversation-History Management — Sliding Window & Summarization to Cut Tokens
Stop token bloat and API cost spikes in long AI chats: sliding-window extraction plus context summarization for multi-turn conversation history.
AI LLM tokens web-development -
Building a Privacy-First AI Chat — localStorage-Only History with No Server Logs
How to build a privacy-conscious AI chat that never stores conversation logs in a server database: keep all history in the browser's localStorage.
AI privacy web-development JavaScript -
Streaming AI Chat Replies (SSE) — fetch ReadableStream + Edge Worker
How to stream AI chat responses character-by-character in real time using Server-Sent Events (SSE) and the fetch ReadableStream, with Cloudflare Edge Workers.
AI web-development JavaScript TypeScript Cloudflare -
Behind the 'Kaga' AI Chat — Free-Tier Architecture and Character Design
How the AI chat 'Kaga' runs on kawagame.com entirely within free tiers: multi-stage fallback models, prompt design, and the safety filtering that keeps it usable.
AI LLM Cloudflare web-development -
Multi-Model Fallback Design for AI Chat — Survive 429 Rate Limits and API Outages
Keep an AI chat alive when the LLM API hits rate limits (429) or goes down: primary → secondary model fallback with cooldown and prompt adaptation.
AI LLM API web-development -
Prompt Injection & System Prompt Leak Protection — Two-Stage Defense with Rule-Based + AI Moderation
How to protect a web AI chat from prompt injection and system-prompt extraction attacks using a two-stage defense: rule-based scoring plus a separate AI moderator.
AI security LLM web-development -
Cutting AI Chat Latency — SSE Streaming and TTFT Optimization
How to minimize the time to first token (TTFT) in an AI chat and deliver real-time replies with Server-Sent Events (SSE).
AI LLM SSE web-development -
LLM API Pricing (July 2026) — GPT-5.6, Claude, Gemini 3.6
Official per-1M input/output rates for GPT-5.6 Sol/Terra/Luna, Claude Sonnet 5 / Fable 5, Gemini 3.6 Flash, 3.5 Flash-Lite, 3.1 Flash-Lite, 3.1 Pro, and DeepSeek V4-Flash as of July 21, 2026. Long-context tiers included. Try the token counter for instant estimates.
ChatGPT Token API Gemini Claude 2026 pricing -
Share an Encrypted Web Memo with a Code and Password — Full Guide
How Kawa online notepad sharing works: 3-character share code plus password, browser-side AES-GCM encryption, image attachments, 7-day expiry, DevTools verification, and 10+ failure modes with fixes.
online notepad encrypted web memo share code AES-GCM Privnote alternative privacy webdev -
Bulk Image Resize — Aspect Ratio Lock for SNS Exports
Batch-resize social and catalog images with aspect lock: max-edge rules, platform sizes, and compress-after-resize order.
images batch social image-resize -
Why string.length Lies About Emoji (and Social Limits)
JavaScript length, UTF-16 code units, Unicode code points, and grapheme clusters — how character counters disagree with Twitter, Bluesky, and iMessage.
unicode character count emoji javascript webdev -
Bug Report Template — Repro Steps Devs Actually Need
Write crash reports games and apps can act on: OS, build, repro steps, expected vs actual. A template that cuts ‘works on my machine’ back-and-forth.
webdev qa bug-report gamedev tools -
API 429 Rate Limit — Retry-After Header Done Right
Backoff vs Retry-After when hitting GitHub/Stripe/OpenAI limits.
API rate limit HTTP -
Base64 Decode Shows Garbled Text — UTF-8 and Wrong Charset
Fix base64 decode mojibake: UTF-8 vs Latin-1, atob pitfalls, and when the string was never text to begin with.
base64 UTF-8 encoding -
camelCase vs snake_case — API Boundary Naming
Stop manual camelCase/snake_case bugs at JSON boundaries. Pick one convention per layer, convert on serialize, and keep OpenAPI, clients, and DB aligned.
webdev api naming case-converter tools -
Aspect Ratio Calculator — 16:9 vs 9:16 Social Export
Calc pixel sizes for 16:9, 9:16, and 1:1 before export. CSS aspect-ratio tips, safe zones for TikTok/Reels, and why crop math fails in batch jobs.
webdev aspect-ratio css video tools -
Base64 Data URIs — When They Help and When They Hurt LCP
Encode/decode Base64 and build data URIs without guessing size. When inline icons help, when heroes destroy LCP, and how to measure bloat before commit.
webdev base64 performance data-uri tools -
Character Count for Social Posts — Unicode Surprises
Why String.length lies for tweets and Bluesky posts. Graphemes vs code units, emoji weight, and how to count before you hit platform limits.
webdev unicode char-count social tools -
Cloudflare Workers CORS Headers — Preflight Pattern
Handle OPTIONS in Workers without duplicating logic on every route.
Cloudflare Workers CORS -
Color Picker from Screenshot — Brand Hex From Competitor UI
Eyedrop brand colors from screenshots without JPEG artifacts. Sample strategy, sRGB vs display, gradients, and turning picks into design tokens.
webdev design color image-color-picker tools -
Box Shadow Generator — Why Your UI Looks "Flat Cheap"
Layer soft UI shadows that feel lit, not pasted. Ambient + key light recipes, dark-mode shadows, and CSS box-shadow stacks that avoid 2012 harsh edges.
webdev css box-shadow ui tools -
CORS Works on Localhost, Fails in Prod — The Real Checklist
Why fetch CORS errors only show up after deploy: origins, credentials, preflight, and reverse proxy headers explained.
CORS fetch webdev -
CSS Color Names — coral vs #FF7F50 in Code Review
Named CSS colors vs hex in PRs: when coral helps communication, why tokens should ship as hex/OKLCH, and how to map names without surprise browser diffs.
webdev css color color-name-search tools -
Layered Box Shadows — Why One blur() Looks Cheap
Why a single box-shadow looks flat next to Figma: stack ambient and key shadows, tune alpha for light/dark surfaces, and generate layered CSS cleanly.
webdev box-shadow tools -
grid-template-areas — Dashboard Layout Without Framework
Build an admin dashboard shell with CSS grid-template-areas: named regions, responsive rearranges, and when you still need flex inside cells.
webdev css-grid layout dashboard tools -
ChatGPT Token Counting — API Billing and Context Window Math
How OpenAI token counting works for billing, context limits, and why your prompt eats more tokens than you think.
ChatGPT tokens API -
CSS Grid vs Flexbox — Stop Asking Which Is Better
Grid for two-dimensional page regions, Flexbox for one-dimensional component guts. Concrete layouts, decision table, and when nesting both is the right call.
webdev css grid flexbox layout -
Minify CSS/JS — The 5KB That Still Matters on Slow 3G
Minify still matters with HTTP/2 and Brotli. What minify does vs gzip, safe pipeline order, and when a quick CSS/JS minify pass catches what CI forgot.
webdev performance minify css javascript -
Tailwind leading-* vs Design Specs — Line Height Without Guesswork
CSS line-height calculator: convert px line spacing to unitless ratio. Fix Tailwind leading handoffs and unreadable body copy.
CSS line-height typography Tailwind -
CSS Minify in CI — Where It Fits in Your Pipeline
Place CSS minification in the build pipeline: after bundles and purge, not in the browser; source maps, Tailwind, and how to verify size budgets.
webdev css minify ci performance -
CSS Gradient Generator — Banding on Low-End Android
Fix gradient banding on budget phones: stop placement, dithering tricks, shorter spans, and how to preview linear gradients before they ship to production.
webdev css gradient performance tools -
When Design Says "Coral" and Engineering Ships the Wrong Orange
CSS named colors, brand tokens, and Figma labels — how to map designer color language to hex without losing the palette in handoff.
CSS colors design tokens hex handoff webdev -
Diff Two Config Files — Why git diff Wasn't Enough
Catch silent config drift: trailing spaces on secrets, CRLF vs LF, and reordered keys. Side-by-side text diff habits that prevent staging outages.
webdev diff devops config tools -
DNS Check — "It Works on My Machine" for Domains
Debug DNS after IP or CNAME changes: authoritative NS, TTL reality, Cloudflare proxy orange-cloud traps, and how to verify A records from multiple resolvers.
webdev dns devops networking tools -
CSS z-index Stacking Context — Why 9999 Lost
Modal under header because new stacking context — explained without memes only.
CSS z-index frontend -
DNS Propagation Check from the CLI — dig, DoH, and Why 'It's Cached'
Check DNS A/AAAA/CNAME propagation with dig and public resolvers. Separate TTL cache from authoritative delays — and stop waiting '48 hours' by default.
DNS dig devops networking dns-check -
dotenv Errors — Quotes, BOM, and Duplicate Keys
Fix .env parse failures: quotes, UTF-8 BOM, duplicate keys, CRLF in Docker, and how formatting catches issues before deploy.
webdev dotenv env devops tools -
Placeholder Images — Right Size Before Real Assets
Stop CLS from wrong placeholders. Match final aspect and pixel size, reserve space in CSS, and generate dummy images that behave like production media.
webdev images cls dummy-image frontend -
Format .env Files — Duplicate Keys and Silent Overrides
Sort and dedupe dotenv files before deploy. Why last-key-wins hides bugs, quote rules, comment safety, and a checklist that keeps secrets out of git.
webdev dotenv devops env-formatter tools -
.env Leaked in a Screenshot — What to Rotate First
Secrets in Slack screenshots: rotation order, blast radius, and preventing recurrence.
security secrets devops -
Escape Sequences — \n in JSON Strings Explained
Why logs show literal \n, how JSON escaping differs from regex, and how to convert newlines and tabs without double-escaping.
webdev escape-sequence tools -
ESLint vs Prettier Config Wars — One Setup That Stops Fights
eslint-config-prettier and team conventions that end format debates.
ESLint Prettier tooling -
Docker Compose Port Already in Use — macOS Zombie Process
Fix port binding errors when old container or node process holds 3000.
Docker devops -
Fastest Array Dedupe in JS — Benchmarks vs Readability
Dedupe JavaScript arrays with Set, filter, and keyed maps: what is fastest for primitives, why objects need keys, and when readability beats microbenchmarks.
webdev javascript dedupe performance tools -
Favicon Sizes 2026 — Tab, PWA, Apple Touch
Which favicon sizes still matter in 2026: SVG, 32 PNG, apple-touch-icon, and PWA icons — without shipping a dozen obsolete files.
favicon PWA webdev -
Favicon Sizes — PWA Manifest Icons You Actually Need
Which favicon and PWA icon sizes matter in 2026, why a single 32px ICO fails on iOS, and how to wire apple-touch-icon plus manifest icons correctly.
webdev favicon-generator tools -
Why fetch() CORS Only Fails in Production
CORS errors after deploy: origins, credentials, and CDN headers — r/webdev checklist.
CORS fetch production -
Fluid Type with clamp() — Stop Adding Breakpoints for Font Size
Replace dozens of font-size media queries with clamp(), set real min/max rem bounds, and keep accessibility zoom working.
CSS typography clamp -
Fluid Typography clamp() — Stop 47 media queries
Replace staircase font-size breakpoints with CSS clamp(), set real min/max sizes, and avoid vw-only text that breaks accessibility.
webdev fluid-typography tools -
GitHub Actions Cache node_modules — When It Hurts CI
npm ci + lockfile vs caching node_modules mistakes.
GitHub Actions CI npm -
Glassmorphism — backdrop-filter Performance on Mobile
How to ship frosted-glass UI with backdrop-filter without tanking scroll FPS on mid-range Android, plus solid fallbacks when blur is unsupported.
webdev glassmorphism tools -
Glassmorphism on Mobile — backdrop-filter FPS
Why frosted-glass UI tanks FPS on mid-range phones, how to tune blur, and solid fallbacks that still look intentional.
CSS glassmorphism performance -
Golden Ratio in UI — When It Helps vs When It's BS
Use φ ≈ 1.618 as a starting proportion for layouts and type scales — not as a religion that forces every margin to match Apple mythology.
webdev golden-ratio tools -
Good Bug Reports — Repro Steps Devs Actually Read
Write bug reports engineers can act on: environment, numbered repro, expected vs actual, and artifacts that help instead of noise.
QA bug-report process -
HEX to RGB for Unity — Stop Eyeballing Color Values
Convert designer HEX colors to Unity Color / Color32 correctly, including 0–1 floats vs 0–255 bytes, alpha, and sRGB vs linear pitfalls.
webdev color-converter tools -
HTML Escaping Is Context-Sensitive — Text Escape ≠ Attribute Safe
Why one escape() function fails across HTML text, attributes, URLs, and JS string contexts — and how to pick the right encoding to stop XSS.
HTML escape XSS security sanitization webdev -
HTML Escape — XSS Isn't Only innerHTML
Escape user content for the right HTML context — text, attributes, URLs, and JS — because one global escape does not stop XSS.
webdev html-escape tools -
htaccess 301 — WWW vs Apex Redirect Loops
Set one canonical host with Apache .htaccess 301s for HTTPS and www/apex — and stop redirect chains that take the site down.
webdev htaccess-generator tools -
Resize Without Cropping — Letterbox vs Cover
Choose contain vs cover when resizing images: keep labels readable, avoid stretch, and document export rules for marketing.
images resize aspect-ratio -
Minify vs Obfuscate — Security Theater Explained
Minify for bytes, obfuscate only to deter casual copying — neither replaces server-side secrets or real application security.
JavaScript minify security js-minify -
JSON vs CSV — When Engineers Pick the Wrong Export
Choose JSON or CSV for the job: nested data, Excel quirks, BOM for Japanese Excel, and how to convert without destroying types or structure.
webdev json csv data-export tools -
JSON Formatter — When Pretty Print Saves You From Production Fire
Use a validate-then-format workflow for messy API JSON: catch duplicate keys, trailing commas, and silent parse differences before mobile clients crash.
webdev json-formatter tools -
JSON to CSV for Excel — Nested Objects Hate You
Flatten nested JSON into CSV without silent data loss, and open UTF-8 exports correctly in Excel with BOM and consistent columns.
webdev json-csv tools -
JSON.parse Unexpected Token — Trailing Commas and Copy-Paste Failures
Fix JSON unexpected token errors: trailing commas, single quotes, and MDN examples that trip up JSON.parse in production.
JSON JavaScript debugging -
K8s Liveness vs Readiness — Stop Restarting Healthy Pods
Probe misconfiguration causes restart loops during slow startup.
Kubernetes devops -
LLM Token Counter — Prompt Budget Before Batch Jobs
Estimate tokens before you run 10k-row LLM batches — why chars÷4 lies, what system prompts cost, and how to sample worst-case documents.
webdev token-counter tools -
localhost Works, Staging 401 — JWT Audience Mismatch
JWT valid locally but rejected in staging: aud, iss, and clock skew.
JWT auth staging -
Lorem Ipsum vs Realistic Placeholder — Layout Testing
Why classic lorem ipsum signs off designs that break with real product names — and how to test layouts with variable-length, localized placeholder copy.
webdev lorem-ipsum tools -
Lua Formatter — Roblox Scripts Before Code Review
Format messy or decompiled Lua so Roblox code reviews are about logic — not indentation — without breaking Studio workflows.
webdev lua-formatter tools -
Lua Style in Roblox — Format Before Review
Why formatting Lua (and Roblox Luau) before review catches real bugs, how to set indent rules, and what formatters should not change.
Lua Roblox formatter -
Markdown Preview Before PR — README Embarrassment Avoidance
Preview GitHub Flavored Markdown before you push — fix tables, lists, and code fences so the README renders the way you meant.
webdev markdown tools -
Markdown Tables from Excel — Pipe Escape Hell
Paste spreadsheet data into GitHub-flavored Markdown tables without breaking pipes, alignment, or Notion/GitHub preview differences.
Markdown tables docs -
Markdown Table Generator — Excel to GitHub Without Pain
Paste TSV from Excel into Markdown tables for GitHub and Notion — escape pipes, keep columns aligned, and stop hand-fixing separators.
webdev markdown-table tools -
Markdown Table vs CSV in Docs — Not Interchangeable
When to use Markdown tables vs CSV in docs and READMEs: GitHub rendering, Excel workflows, alignment limits, and converting without losing headers.
webdev markdown csv documentation tools -
Can You Reverse MD5? — Hashes Are Not Encryption
Why MD5 cannot be decrypted, how rainbow tables differ from reverse crypto, and when a local hash check is enough vs when you need a real password store.
webdev md5-hash security hashing tools -
MD5 in 2026 — Legacy Checksums Only
Why MD5 must not store passwords, where it is still OK for non-security checksums, and what to use instead in 2026.
MD5 security hashing -
Minify Before Deploy — Checklist That Stops 5KB Debates
A practical deploy checklist for CSS/JS minify vs gzip/brotli, caching, and measuring real wins on slow networks.
minify performance deploy -
Turborepo Remote Cache — CI Speed Without Leaking Secrets
Set up remote cache safely in monorepo pipelines.
Turborepo monorepo CI -
camelCase vs snake_case — API Boundary Naming
Keep camelCase and snake_case from drifting at API boundaries: one convention per layer, explicit mapping, kebab-case for URLs, and a converter for migrations.
webdev naming api case-converter tools -
Next.js Hydration Mismatch — Date and Random Are Usual Suspects
Fix React hydration errors from SSR/client diff without suppressHydrationWarning spam.
Next.js React SSR -
npm audit vs Real Security — What Reddit Overreacts To
DevDependencies vulnerabilities, fixable vs ignored, and when to actually patch.
npm security Node -
OAuth PKCE for SPAs — Public Clients Without a Client Secret
Implement authorization code + PKCE for browser apps: code verifier, challenge, redirect URI hygiene, and why implicit flow is dead.
OAuth PKCE security SPA -
Your og:image Updated — Slack Still Shows Last Quarter's Card
Open Graph caches on Facebook, Slack, Discord, and iMessage do not expire when you deploy. How to verify tags, bust image URLs, and clear each crawler.
Open Graph OGP Slack Discord SEO webdev -
Preflight Your Launch Link: OGP Cards Before Slack Eats the Old Image
A launch-day checklist for Open Graph titles, images, and dimensions — validate previews before the first paste into Slack, Discord, or X.
OGP Open Graph launch Slack Discord webdev -
Online Notepad Without an Account — Web Memo Tools Compared (2026)
Need a throwaway note, encrypted memo share, or Google Docs alternative with zero signup friction? Compare Google Docs, Pastebin, Privnote, OneTimeSecret, aNotepad, NotePal, Burner Note, and Kawa for no-account web memos.
online notepad web memo no account encrypted share pastebin privacy webdev google docs alternative -
OpenAI max_tokens vs Context Window — Room for Reply
Why API truncates mid-answer when prompt eats context.
OpenAI LLM API -
OpenClaw Setup for Beginners — What Actually Breaks First
OpenClaw beginner setup guide: install order, common first-run errors, and what to configure before your first claw match.
OpenClaw gaming setup -
Passkeys in 2026 — WebAuthn Basics for Web Devs
Passkeys vs passwords: ceremony, relying party ID, and UX gotchas.
WebAuthn passkeys security -
Password Generators vs Corporate Policies That Still Demand !@#
NIST SP 800-63B favors length over composition theater. How to generate strong passwords locally, satisfy auditors, and keep secrets out of Slack.
passwords NIST security password generator webdev -
Percent-Encoding — Path vs Query vs Fragment
When to use encodeURI vs encodeURIComponent, how path/query/fragment differ, and how to avoid double-encoding broken links.
url-encode webdev HTTP -
Placeholder Images That Do Not Cause Layout Shift
Match width, height, and aspect-ratio on dummy images so CLS stays near zero when real photos replace gray boxes in development.
CLS placeholder dummy image performance webdev -
Playwright Flaky E2E — waitForSelector Isn't Enough
Fix flaky Playwright tests: auto-waiting assertions, targeted network waits, parallel worker isolation, and why waitForTimeout is a sleep tax.
Playwright testing E2E -
PostCSS vs Tailwind — Team Fights Explained Calmly
When to use Tailwind utilities vs PostCSS pipeline — unpopular balanced take.
CSS Tailwind PostCSS -
px vs rem vs em — When "Always rem" Is Wrong
Choose px, rem, and em on purpose: type and spacing scales, hairline borders, component-relative padding, and user zoom.
CSS units a11y px-rem -
QR Code Size — Scans Fail on Posters Because Too Dense
Pick QR print size from scan distance and data density, balance error correction vs logo overlays, and test before you print 500 posters.
QR print ux -
px → rem When the Root Font Size Is Not 16
Convert pixels to rem correctly when html font-size is 10px, 62.5%, or user-zoomed — and when rem is the wrong unit.
CSS rem px accessibility typography px-rem -
React useEffect Infinite Loop — Object Dependency Classic
Stop useEffect firing every render because dependency is new object.
React hooks JavaScript -
Redis Cache Stampede — Singleflight Pattern
Prevent thundering herd when hot key expires.
Redis cache backend -
Regex Test Online — Stop Guessing Email Validation
How to test email regex safely: what a pattern can and cannot prove, edge cases that break Stack Overflow snippets, and when to validate by sending mail instead.
webdev regex validation email tools -
Set vs filter vs lodash — Why Your Dedupe Still Leaves Duplicates
Remove duplicates from arrays and line lists: when Array.from(new Set()) fails, and how to dedupe online without uploading data.
JavaScript dedupe webdev -
Postgres Connection Pool Exhausted — Serverless Gotcha
Too many connections from Lambda/Edge functions — pooler required.
PostgreSQL serverless database -
Prisma Migrate Shadow DB Errors — Quick Fixes
Shadow database permission errors during prisma migrate dev.
Prisma PostgreSQL database -
RGBA Alpha Channel — What Each Number Means
Decode rgba(): R, G, B, and alpha stacking, hex8 vs rgb, why nested transparency goes dark, and how to convert cleanly for CSS handoff.
webdev rgba css color tools -
Figma rgba(0,0,0,0.5) Broke Prod CSS — HEX8 Fix
Convert rgba to hex and hex8 alpha for CSS. Why design handoffs fail when you copy rgba() into tokens, and how to fix opacity.
CSS rgba hex design -
The Staging robots.txt That Indexed Fake Checkout Data
How a copied production robots.txt (or a leaked Disallow: /) fails to protect staging — and what noindex, auth, and generators should do instead.
robots.txt SEO staging crawlers webdev -
robots.txt — What It Does NOT Do for SEO
Clear robots.txt myths: it is not authentication, Disallow is not instant deindex, and how to write rules that crawlers actually honor.
webdev robots-txt seo crawlers tools -
S3 Presigned URL Expired — Clock Skew and TTL
Debug expired presigned links and short TTL user experience.
AWS S3 security -
SHA256 Checksum — Verify Downloads Without Trusting MD5
How to verify SHA-256 checksums for downloads, why MD5 is the wrong habit, and what a matching digest does — and does not — prove about trust.
webdev hash sha256 checksum tools -
Silver Ratio (√2) Layouts: From Japanese Print to Responsive Cards
How the silver ratio ≈1.414 differs from the golden ratio, why A-series paper uses it, and how to apply √2 to web grids and frames.
silver ratio design layout typography webdev -
Ugly SQL Survives Code Review — Formatted Queries Do Not Hide Cross Joins
Pretty-print ORM SQL and hand-written JOINs so reviewers can spot cartesian products, missing filters, and accidental SELECT * before merge.
SQL sql formatter code review databases webdev -
SQL Formatter — Read 200-Line Query Before Blaming ORM
Pretty-print ORM SQL before review: catch cross joins, bad filters, and accidental N+1 patterns hiding in minified queries.
SQL ORM code-review sql-formatter -
SSL Certificate Expiry — Check Before the Outage Post Hits HN
How to check SSL/TLS certificate expiry, set up monitoring, and avoid the weekend Let's Encrypt renewal failure.
SSL TLS devops -
Stripe Webhook Signature Failed — Raw Body Required
Fix webhook signature verification in Express/Fastify/Next.
Stripe webhooks API -
Strong Password Rules — NIST vs IT Policy
Align password policy with NIST-style guidance: favor length and blocklists over mandatory complexity and monthly rotation theater.
passwords NIST security password-generator -
Structured JSON Logging — grep Is Not Enough
JSON logs for Loki/Datadog: fields, correlation IDs, PII pitfalls.
logging observability devops -
Tailwind Custom Colors — tailwind.config Gotchas
Add brand colors to Tailwind without purge/content surprises: theme.extend vs replace, dynamic class names, CSS variables, and a palette converter workflow.
webdev tailwind css design-tokens tools -
Tailwind leading-* Handoff Mess — Design to Code
Map Figma line heights to Tailwind without guessing leading-6.
Tailwind CSS design -
Tailwind Palette to Custom Hex — Design Token Handoff
Map designer hex colors onto Tailwind theme tokens: when to extend the palette, when arbitrary values are fine, and how to document the table.
Tailwind design-tokens CSS tailwind-color -
TypeScript any vs unknown — The Answer Reddit Gives Wrong
Use unknown at boundaries, narrow properly — not any because lazy.
TypeScript types -
Unity ScreenToWorldPoint: Overlay Canvas Clicks Land in the Wrong Place
Screen, Viewport, and World space in Unity — why Z depth, camera choice, and Screen Space Overlay vs Camera canvas break click-to-world math.
Unity ScreenToWorldPoint game dev coordinates canvas -
Year 2038 Is Not a Meme If You Still Store time_t as 32-Bit
The Unix timestamp overflow at 2038-01-19 — who still breaks, how seconds vs milliseconds confuse APIs, and how to audit systems now.
unix timestamp 2038 time_t embedded webdev -
Unix Timestamp — Off-by-One Day in UTC vs Local
Debug Unix timestamps that land on the wrong calendar day: seconds vs milliseconds, UTC storage, local display, and how to convert without guessing.
webdev unix-timestamp timezone datetime tools -
URL Encode Query Strings — Plus Signs vs %20 Wars
Fix broken search and redirect URLs: when to use encodeURIComponent, why + and %20 both mean space in forms, and how to avoid double-encoding.
webdev url-encode http query-string tools -
User-Agent Detection in 2026: Feature Detect First, Parse Second
UA strings are frozen, reduced, and unreliable — use feature detection and Client Hints; reserve UA parsing for analytics and rare escape hatches.
User-Agent Client Hints browsers feature detection webdev -
UUID Collisions — Probability Reddit Overstates
When UUID collisions matter at real traffic levels, what breaks first (uniqueness constraints, bad generators), and how to design for safety without abandoning UUIDs.
webdev uuid databases distributed-systems tools -
UUID v4 Collisions — The Math Reddit Overstates
Birthday-paradox intuition for UUID v4: how many IDs before risk rises, why v4 is not sortable, and when math anxiety should not drive schema choices.
webdev uuid uuid-v4 probability tools -
Vercel vs Cloudflare Pages Redirect Loops
Debug infinite 301 loops when moving between Vercel and Cloudflare Pages.
Cloudflare Vercel redirects -
WCAG Contrast — Passes Tool, Fails in Sunlight
Why a 4.5:1 WCAG pass can still fail outdoors: AA vs AAA thresholds, large text rules, gray-on-gray UI, and how to check pairs before you ship.
webdev a11y wcag color-contrast tools -
Contrast Ratio — AA vs AAA Without Audit Theater
Learn contrast ratio basics for accessibility: how AA and AAA differ, what large text means, and how to fix real UI pairs without checkbox theater.
webdev a11y contrast wcag tools -
WebP Compress Without Mushy Text — Screenshot Settings
Keep UI screenshots sharp in WebP: quality ranges for text vs photos, resize before compress, lossless when needed, and a local compress workflow.
webdev webp image-compress performance tools -
WebP Export Settings — When Quality 80 Looks Worse Than JPEG
WebP quality slider guide: lossy vs lossless, alpha channels, and why your export looks soft after conversion.
WebP images performance -
WebSocket vs SSE — r/webdev Decision Tree
Server-Sent Events for one-way push, WebSocket for bidirectional — when each wins.
WebSocket SSE realtime -
Why fetch() Returns Opaque Response — and What You Can Still Do
Understand opaque responses from no-cors mode: empty body, hidden status, and when to use a proxy or proper CORS instead.
fetch CORS JavaScript browser -
YAML ↔ JSON for Docker Compose Without Silent Tab Traps
Convert docker-compose and Kubernetes snippets between YAML and JSON safely — comments, anchors, tabs, and what jq will not forgive.
YAML JSON Docker docker-compose DevOps -
PSA: Stop Pasting JWTs in Slack — Decode Them Locally Instead
JWT decode for debugging 401s: read header and payload safely in the browser. What r/webdev gets wrong about trusting decoded claims.
JWT jwt decode security webdev -
What Is My User Agent? How to Check It and Why It Matters
Learn what a user agent string is, how to check yours in Chrome DevTools or JavaScript, and when developers use UA data for compatibility, debugging, and analytics.
user agent what is my user agent browser HTTP -
60fps vs 120fps — Frame Time Math r/gamedev Keeps Re-asking
How many seconds is 1 frame at 60fps? Frame to ms converter for Unity and web game dev. Stop guessing 16.67ms.
fps gamedev performance -
Blog SEO with JSON-LD Structured Data
Practical Article JSON-LD for blogs: required properties, meta tags that earn clicks, validation with Rich Results Test, and mistakes that waste schema.
SEO JSON-LD Schema.org Blog -
API Debugging Tooling — When to Use Which
JSON formatters, JWT decoders, HTTP clients, and proxy capture: pick the right tool for contract bugs, auth failures, and flaky staging APIs.
API Debugging JSON JWT HTTP -
.env File Best Practices for Local and Deployed Apps
Safe dotenv workflows: gitignore, .env.example, per-environment files, validation at boot, and what never belongs in a committed env file.
.env DevOps Security Node.js -
Fixing CORS Errors — Access-Control-Allow-Origin Explained
Diagnose browser CORS failures step by step: ACAO, credentials, preflight OPTIONS, and server-side header examples for Express, nginx, and APIs.
CORS API JavaScript Security -
Git Commands Cheat Sheet — Daily Workflows That Stick
Practical Git commands for everyday work: clone, branch, commit, rebase vs merge, stash, undo safely, and remotes — with warnings on destructive ops.
Git Version control CLI Productivity -
HTTP Status Codes — Choosing 200, 404, 500 and Friends
Practical HTTP status code reference for API design: 2xx success, 3xx redirects, 4xx client mistakes, 5xx server failures, and when not to overload 200.
HTTP API REST Web -
How to Debug JWTs — Decode Claims Without Leaking Secrets
Inspect JWT header and payload safely: exp/nbf skew, aud/iss mismatches, algorithm pitfalls, and a local-first workflow for API auth failures.
JWT API Authentication Security -
Markdown Syntax Cheat Sheet for READMEs and Docs
GFM-focused Markdown reference: headings, tables, fences, task lists, alerts, and pitfalls that break GitHub rendering.
Markdown Documentation GitHub -
Developer Portfolio Site Tips That Actually Get Interviews
Practical portfolio advice: clear positioning, project write-ups with impact, performance as a signal, and a blog cadence that does not burn you out.
Career Portfolio Webdev Personal site -
Common Regex Patterns Developers Actually Reuse
Battle-tested regular expressions for email-ish checks, URLs, whitespace, CSV-ish splits, and safe extraction — plus pitfalls that make regex the wrong tool.
Regex JavaScript Validation Text processing -
Image Compression and WebP Conversion for Faster Pages
Convert PNG/JPEG to WebP without wrecking text or branding: quality settings, responsive srcset, CLI recipes, and when to keep PNG or AVIF.
WebP Performance Images PageSpeed -
Astro Content Collections — Type-Safe Markdown That Fails the Build
Set up Astro Content Collections with Zod: schemas for blog frontmatter, typed getCollection queries, draft handling, and migration tips from loose Markdown folders.
Astro Content Collections Zod Markdown