Topics
Every article belongs to one of these topics.
JavaScript 23
The language itself, from variables, operators and functions to objects, this, Promises and async/await. Several posts build the same idea in small steps, and the later ones cover TypeScript and the questions that come up in JavaScript interviews.
- Mastering TypeScript: Interfaces, Generics, and Union Types Explained
- JavaScript Map and Set: The Data Structures You Should Be Using Instead of Objects and Arrays
- JavaScript Destructuring: Write Less Code, Extract More Value
Node.js & Express 16
Server-side JavaScript: how the event loop and non-blocking I/O work, building HTTP APIs with Express, middleware, file uploads, authentication with sessions and JWTs, and talking to databases with Prisma and Drizzle.
- Securing Web Apps: Password Hashing, RBAC, OAuth 2.0, and OpenID Connect Explained
- Modern Database Access in JavaScript: Prisma, Drizzle, and ORMs Explained
- Blocking vs Non-Blocking Code in Node.js: Why It Makes or Breaks Your Server
React & Next.js 7
Components, JSX, state and hooks, what React does internally when it re-renders, and how Next.js adds routing, server rendering and Server Components on top. Also covers React Native with Expo Router.
- React Hooks Masterclass: useState, useEffect, and Custom Hooks Explained
- How React Works Internally: Virtual DOM, Reconciliation, and the Rendering Pipeline
- Modern Next.js: The Complete Guide to App Router, Server Components, and Full-Stack Architecture
System Design 3
How large systems are put together: caching, rate limiting and observability, realtime messaging with polling, WebSockets and Pub/Sub, and full design walkthroughs such as a WhatsApp-style chat system.
- Realtime Systems Deep Dive: Polling, WebSockets, SSE, and Pub/Sub Explained
- Building Scalable Systems: Caching, Rate Limiting, and Observability
- How I Broke Down WhatsApp's System Design — And What I Learned Along the Way
AI & LLMs 5
How large language models turn text into tokens and answers, prompting techniques, Retrieval-Augmented Generation (RAG) and where it breaks, and the difference between a plain LLM and an agent that can use tools.
- How ChatGPT Understands Your Questions: A Deep Dive into LLMs, Tokenization, and Transformers
- Where RAG Fails: A Deep Dive Into the Real Limitations of Retrieval-Augmented Generation
- Mastering RAG (Retrieval-Augmented Generation): A Step-by-Step Guide for Developers
Networking & Web Basics 9
What happens between typing a URL and seeing a page: network devices, DNS resolution and record types, TCP and UDP, HTTP requests with curl, how a browser renders HTML and CSS, and the HTML and CSS basics themselves.
- Understanding HTML Tags and Elements: The Building Blocks of the Web
- CSS Selectors 101: Targeting Elements with Precision
- How a Browser Works: A Beginner-Friendly Guide to Browser Internals
Git & Dev Tools 5
The tools developers use every day: why version control exists, Git from the first commit to its object storage internals, the Linux filesystem from the command line, and Emmet for writing HTML faster.
- The Linux File System Hunting Expedition
- Emmet for HTML: A Beginner's Guide to Writing Faster Markup
- Why Version Control Exists: The Pendrive Problem
Career 1
Personal posts about getting into software engineering: preparation, interviews, rejections and what helped.
All 1 Career articles →