Notes on backend engineering, system design, and things I have learned in production.
Building APIs That Survive Production
Patterns for timeouts, retries, rate limits, and the failure modes that show up after launch — not in tutorials.
Speed from AI tools is not the same as engineering maturity. What changes when real users, uptime, and money are on the line.
How Backend Engineers Can Prevent False Data with Transaction Control
What dirty reads look like in production, why they erode trust, and how isolation levels and locking fix them.
Smart Strategy Pattern in NestJS Notifications
Routing email, push, and in-app channels with a strategy pattern instead of growing if/else chains.
The Event-Driven Core
Emitting events, queuing with BullMQ, and keeping the HTTP path fast in an event-driven notification system.
What HTTPS actually guarantees — and what it does not — when you are designing backend security.
A practical walkthrough of request/response mechanics every backend engineer should be able to explain.
A friendly guide to relational, non-relational, and in-memory databases
When to reach for Postgres, document stores, or Redis — and how to pick without cargo-culting the stack.
A Comprehensive Guide to Efficient Job Queuing and Background Processing for Scalable Applications
Queues, workers, retries, and backpressure — the pieces you need before background jobs become a bottleneck.
Build APIs That Handle Repetitive Requests Without Compromise
Idempotency, deduplication, and caching patterns for APIs that see the same request more than once.
Practical Techniques in Typescript for Solving Concurrency Issues with Modern DBMS
Race conditions, lost updates, and isolation levels — with TypeScript examples against real database behaviour.
How to Upload Files to Any Cloud Storage Platform Using express-file-wizardry in Express.js
How to upload files to any cloud storage platform using express-file-wizardry in Express.js