Blog

All posts

Long‑form notes on web development, backend systems and real-world engineering decisions.

Mar 26, 2026By imkyssa11 min read

Your Database Is the Bottleneck. Not Your Code

Switching runtimes and adding Redis won't fix a slow app if the database is the problem. N+1 queries, missing indexes, wrong pool size — these are where the time actually goes. Covers EXPLAIN ANALYZE, index strategy, connection pool sizing, slow query logging, and when caching makes sense. Node.js and PostgreSQL examples throughout.

Read post

Mar 19, 2026By imkyssa5 min read

Bun is Fast. Your Event Loop is Not.

Bun wins benchmarks. Your app still bottlenecks on DB connections, blocking CPU work, and N+1 queries. Fix those first. Runtime is the last variable to change — not the first.

Read post

Mar 14, 2026By imkyssa4 min read

Microservices: Shackles on your feet

Microservices aren't wrong — they're just overused. Learn when splitting your monolith actually pays off, when it creates more problems than it solves, and why a modular monolith is the answer most teams skip.

Read post

Mar 12, 2026By imkyssa5 min read

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.

Read post

Mar 11, 2026By imkyssa4 min read

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.

Read post

Mar 10, 2026By imkyssa4 min read

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.

Read post