Blog
Showing 46 of 46 articles
Aug 9, 2026
9 min read
RFC 10008 adds QUERY to HTTP — a safe, idempotent method with a request body. Why GET and POST were never enough for complex searches, how QUERY differs from both, caching and Accept-Query, and when you should actually use it.
Aug 1, 2026
12 min read
How a single obfuscated block appended to a routine tailwind.config.js became a credential stealer beaconing to a public TRON RPC — indicators, triage steps, and a defense checklist for the config files you never read.
Jul 27, 2026
12 min read
SSG, SSR, ISR, RSC, streaming, or CSR — an engineer's breakdown of which rendering strategy actually wins for SEO in 2026, why Googlebot's two-wave indexing matters, and how to pick the right one per route.
Jul 27, 2026
15 min read
A practical, deep dive on SSE — how it actually works on the wire, the protocol details most tutorials skip (Last-Event-ID, retry intervals, named events), how to build it in NestJS with proper auth, scaling, and reconnection handling, and when SSE beats WebSockets for your real-time app.
Jul 25, 2026
16 min read
Every rendering strategy that matters in 2026, side by side — what each one does, when the HTML is generated, where JavaScript runs, what the trade-offs are, and which one to pick for marketing sites, apps, dashboards, e-commerce, and AI products.
Jul 24, 2026
19 min read
A practical guide to Convex — the TypeScript-first reactive backend with built-in database, functions, real-time sync, and ACID transactions. How it works, when to use it, how it compares to Supabase and Firebase, and what its function primitives (queries, mutations, actions) actually do.
Jul 24, 2026
11 min read
A practical, copy-pasteable walkthrough for setting up Convex on your machine — from the first `npx convex dev` to writing schemas, queries, mutations, and wiring a React client. Includes troubleshooting tips and the dev loop that actually works.
Jul 23, 2026
28 min read
A practical, opinionated guide to hardening a NestJS REST API against cookie hijacking, XSS, CSRF, SQL injection, brute force, and the rest of the OWASP Top 10 — with the exact middleware, guards, headers, and code to make hacking genuinely hard.
Jul 21, 2026
16 min read
A working guide to semantic search using OpenAI and Gemini embedding models, why a sidecar vector database beats forcing your Postgres into being one, how Qdrant fits into a real backend, and the production details that turn a clever demo into a reliable feature.
Jul 21, 2026
14 min read
A ground-up introduction to BullMQ — what job queues actually solve, how to install Redis, build your first queue/producer/worker, configure retries, delays, priorities, and avoid the beginner mistakes that bite everyone once.
Jul 19, 2026
9 min read
URI, header, media-type, and query-param versioning compared with their real trade-offs, NestJS's built-in versioning support, what actually counts as a breaking change, and how to deprecate a version without burning your clients.
Jul 19, 2026
10 min read
A practical guide to moving slow work out of the request path with BullMQ and NestJS — processors, exponential backoff, idempotent handlers, repeatable jobs, dead-letter patterns, and the operational details that keep queues healthy in production.
Jul 19, 2026
10 min read
A complete GitHub Actions pipeline for a NestJS backend — trigger strategy, pnpm caching, lint/test/typecheck stages, building and pushing Docker images to GHCR with buildx layer caching, and deploying to a VPS over SSH.
Jul 19, 2026
9 min read
The step-by-step journey of shrinking a Node.js API image by 87% — multi-stage builds, production-only deps, alpine vs distroless trade-offs, .dockerignore, layer ordering, and BuildKit cache mounts.
Jul 19, 2026
9 min read
A deep dive into HTTP APIs and gRPC — what actually travels over the wire, how Protocol Buffers and HTTP/2 change the game, the four gRPC streaming modes, and a practical decision guide for choosing between them.
Jul 19, 2026
10 min read
A practical guide to building JWT auth in NestJS that holds up in production — short-lived access tokens, refresh token rotation with reuse detection, cookie vs header trade-offs, and revocation strategies that actually revoke.
Jul 19, 2026
9 min read
A translation guide from Docker Compose to Kubernetes — how services, ports, volumes, and env files map to Deployments, Services, PVCs, and ConfigMaps, with side-by-side YAML and an honest take on when you don't need k8s at all.
Jul 19, 2026
9 min read
How I instrument NestJS services with prom-client, which metrics actually predict outages — p95s, event-loop lag, pool saturation — and how to build Grafana dashboards and alerts that only fire when something is truly wrong.
Jul 19, 2026
10 min read
An annotated, production-shaped Nginx config — location matching, the proxy_pass trailing-slash trap, SSL termination with certbot, gzip and caching that actually matter, WebSockets, load balancing, rate limiting, and how to debug 502s.
Jul 19, 2026
10 min read
The N+1 problem explained with a concrete example, how to catch it with query logging and APM, the fixes in TypeORM and Prisma — plus the other ORM traps: hydration cost, missing indexes, cartesian explosions, and offset pagination.
Jul 19, 2026
9 min read
A practical guide to building payment flows that survive retries, timeouts, and webhook redelivery — idempotency keys, database transactions, the outbox pattern, and query-before-retry, with NestJS and Postgres examples.
Jul 19, 2026
14 min read
Everything you need to integrate PayPal into a NestJS backend — Orders, Authorize/Capture, Refunds, Voids, Subscriptions, Vault tokenization, Payouts, Disputes, and signed webhook handling.
Jul 19, 2026
9 min read
A practical guide to PostgreSQL backup strategies — logical dumps, physical base backups, continuous WAL archiving to S3, point-in-time recovery, and why a backup you've never restored doesn't count.
Jul 19, 2026
10 min read
How I rate limit NestJS APIs in production — the four classic algorithms compared, where @nestjs/throttler stops being enough, atomic Redis counters, choosing between per-IP and per-key limits, and returning 429s clients can actually cooperate with.
Jul 19, 2026
9 min read
Why plain role checks quietly rot into an unmaintainable mess, how permission-per-action and attribute-based access control fix it, and how to build the guards and decorators in NestJS.
Jul 19, 2026
10 min read
A working guide to caching with Redis in NestJS — cache-aside vs write-through vs write-behind, TTL selection, invalidation strategies, stampede protection, and the situations where a cache quietly makes everything worse.
Jul 19, 2026
10 min read
REST API and RESTful API get used interchangeably, but there's a real distinction hiding underneath — REST's six constraints, the Richardson Maturity Model, and what it takes for an API to genuinely be RESTful.
Jul 19, 2026
9 min read
Why .env files in production are a liability, the tiers of secrets management from platform env vars to Vault, runtime injection patterns in NestJS, rotation without redeploys, and what to actually do after a leak.
Jul 19, 2026
8 min read
A realistic monthly cost comparison between a VPS running Docker and the managed-services equivalent — including the hidden costs on both sides that the pricing pages never mention.
Jul 19, 2026
10 min read
Why console.log stops working the day you run two services, how I set up Pino for structured JSON logs with propagated request IDs, and how OpenTelemetry traces stitch one request's journey across every service it touches.
Jul 19, 2026
10 min read
How polling, long polling, SSE, and WebSockets actually work over HTTP, what each one costs to scale, and a practical decision guide for picking the right real-time transport for your feature.
Jul 19, 2026
10 min read
How to ship schema changes to a live Postgres database without locking tables or breaking rolling deploys — the expand/contract pattern step by step, batched backfills, and the Postgres gotchas that bite in production.
Jul 19, 2026
9 min read
Why deploys drop requests and how to stop it — readiness vs liveness checks with @nestjs/terminus, SIGTERM handling and graceful shutdown in Node, connection draining, and choosing between rolling, blue-green, and canary rollouts.
Jul 18, 2026
10 min read
A practical cheat sheet of Ubuntu (GNOME) keyboard shortcuts, terminal tricks, and lesser-known settings that speed up daily work.
Jul 15, 2026
9 min read
How to wire up bKash's tokenized checkout API in a NestJS backend — grant token, create payment, execute, verify, and handle webhooks without losing money to edge cases.
Jul 15, 2026
7 min read
A practical guide to splitting a NestJS monolith into microservices — choosing transports, designing an API gateway, and shipping it to production.
Jul 15, 2026
8 min read
How I built a SaaS where every customer gets their own domain (subdomain or custom), managed entirely from a single admin panel — without forking the codebase.
Jul 15, 2026
12 min read
Everything you need to integrate Stripe into a NestJS backend — PaymentIntents, SetupIntents, refunds, reversals, captures, subscriptions, payouts, Connect, disputes, multi-card storage, autopay, and webhook handling.
Jul 13, 2026
3 min read
How I containerize and deploy a Next.js frontend and NestJS backend from a single monorepo, with separate images and a shared Docker Compose setup.
May 19, 2026
7 min read
An open-source CLI that writes conventional commit messages with AI and blocks secrets from being committed — one command for the whole git workflow.
May 19, 2026
9 min read
How nestjs-api-forge standardizes API responses, errors, and pagination in NestJS so you never hand-write another wrapper.
May 19, 2026
6 min read
A practical comparison of NestJS and Express — architecture, TypeScript support, performance, ecosystem, and which one fits your project.
Nov 30, 2025
4 min read
A step-by-step guide to installing Prisma in a NestJS project and fixing the database connection issues that trip people up.
Oct 12, 2024
3 min read
A handy cheatsheet of VS Code shortcuts, commands, and features that significantly speed up daily development work.
Sep 29, 2024
7 min read
The essential Git commands for everyday work — branching, merging, rebasing, undoing mistakes, and collaborating — in one cheatsheet.
Aug 2, 2022
1 min read
Build a personal portfolio that stays up to date automatically by pulling your projects from the GitHub API, with a blog included.