</>
  • Home
  • About
  • Skills
  • Experience
  • Case Studies
  • Blog
  • Projects
madrimov.uz

Keling, jiddiy
tizim quramiz

madrimov5014@gmail.com→
</>© 2026 Madrimov Xudoshukur
GitHubTelegramKanalEmail
Blog
September 14, 2026

Row Level Security: pushing tenant isolation down to the database

Moving tenant isolation from a WHERE clause into PostgreSQL RLS: writing policies, passing context, testing them, and the traps that bite most often.

PostgreSQLBackendArxitektura
September 10, 2026

Migrating to Next 16 and React 19: what broke and what I pinned

Migrating madrimov.uz to Next 16, React 19 and Bun: proxy instead of middleware, async params, pinning TypeScript 6, and three separate PRs.

Next.jsReactBunFrontend
September 7, 2026

Why I ditched Redux Toolkit, MobX, and Context API for Zustand

The downsides of Redux Toolkit, MobX, and Context API, and why switching to the simple, minimal Zustand was the best decision.

ReactZustandFrontend
August 27, 2026

Code Review Culture: What a Review That Grows Your Team Looks Like

A team lead's playbook: review priorities, small-PR culture, comment tone, reviewing juniors, and practical rules against the LGTM stamp.

JamoaKaryera
August 24, 2026

Rate limiting and caching: start without Redis, scale when needed

Build a token bucket with a Map and an LRU + TTL cache on one Node.js instance; Cache-Control, ETag, stale-while-revalidate, and when you truly need Redis.

BackendArxitektura
August 20, 2026

Real Type Safety in TypeScript: 6 Practical Patterns

Discriminated unions, branded types, satisfies, unknown, zod and template literal types — six practical patterns for real type safety in TypeScript.

TypeScriptBackend
August 17, 2026

Write Once, Publish Everywhere Automatically: Notion + Next.js + Make.com

The real pipeline behind madrimov.uz: Notion as a single source of content, Next.js ISR, and Make.com scenarios for Telegram and LinkedIn distribution.

AvtomatlashtirishNotion
August 13, 2026

School Management System Architecture: Lessons from Building an ERP for a Local Market

Lessons from M Smart School: domain modeling, the multi-tenant question, simple RBAC, designing for unstable internet, and pilot rollout takeaways.

ArxitekturaBackend
August 10, 2026

Auth Architecture: Sessions, JWT and Refresh Rotation — a Practical Choice

Comparing sessions, JWT and refresh token rotation based on real project experience: when each approach is right and where to store tokens safely.

BackendArxitektura
August 6, 2026

Monorepo and Turborepo: When You Need It and When You Don't

A monorepo is not a monolith: when it pays off, when it is overkill, and how Turborepo pipelines and remote cache work — practical experience and a decision tree.

MonorepoTurborepoArxitektura
August 3, 2026

Production Deploy on a VPS: A Practical Path for Your First Project

From SSH and firewall to systemd, nginx, certbot, and backups — a complete practical scheme for production deploys on a VPS, plus an honest take on Docker.

DevOpsBackend
July 27, 2026

PostgreSQL Indexes in Practice: When They Work and When They Don't

B-tree intuition, 4 cases where an index silently fails, composite index column order, reading EXPLAIN ANALYZE, and partial and INCLUDE indexes — with real examples.

PostgreSQLBackend
July 20, 2026

Practical SEO in Next.js: Real Lessons from madrimov.uz

A canonical/hreflang mistake, dynamic html lang, a JSON-LD graph, the next/og prod trap, and soft-404s — practical SEO lessons proven on madrimov.uz.

Next.jsSEOFrontend
July 17, 2026

Notion as a headless CMS: no dependencies, no paid services

A serverless blog on Notion + plain fetch + ISR: a 60-line client, block rendering, and a year of practical lessons.

BackendArxitekturaNext.js
June 18, 2026

Why in-process events and cron break in multi-core Node.js — and how to fix it properly

Moving to multi-core with cluster silently breaks EventEmitter and @Cron. The mechanism behind the intermittent bug and the right fix with Redis/BullMQ.

BackendArxitekturaNestJSNode.jsRedisBullMQ
June 16, 2026

From NestJS + Prisma to Bun + Hono + Drizzle: why I switched

Why I moved from NestJS + Prisma to Bun + Hono + Drizzle: abstraction, performance, event-driven pitfalls, and an honest comparison in numbers.

BackendArxitekturaBunHonoNestJSDrizzlePrisma
June 14, 2026

Monorepo architecture: one repo, many projects

What a monorepo is, when you need it, and how to build one with Bun + Turborepo — practical experience from real projects.

MonorepoTurborepoBunArxitekturaDevOps
June 14, 2026

Bun + Hono: a year in production

Moving from Node.js to the Bun + Hono stack — why, how, and when to be careful.

BunHonoBackendArxitektura