Blog
All posts
Long‑form notes on web development, backend systems and real-world engineering decisions.
Mar 12, 2026By Emirhan YILDIRIM
Why Headless Browsers Get Detected: A Technical Breakdown
Modern bot detection is a multi-layer scoring system. The TLS handshake leaks your identity before any JavaScript runs. Canvas and WebGL fingerprints identify the render environment. Behavioral signals catch automation that moves too cleanly. Most scraping guides address only the JavaScript layer — the easiest to detect and the last thing a serious system relies on.
Mar 11, 2026By Emirhan YILDIRIM
Refactor: When It Actually Changes Things
Refactor when code resists change — not when it looks messy. Covers React separation of concerns, CSS specificity flattening, DOM batching, bundle tree-shaking, and class conflict resolution with tailwind-merge. Includes browser support tables and real performance impact data.
Mar 10, 2026By Emirhan YILDIRIM
CSS Grid vs Flexbox: Which One Should You Use to Center a Div?
Flexbox is best for component-level centering, Grid for page layouts and two-axis control. Both are valid — they just run different layout algorithms.