Posts

Thoughts, tutorials, and insights from my journey in software development.

Stop putting JWTs in localStorage: a fun, practical guide for frontend apps

A hands-on, example-packed guide to storing and refreshing JWTs safely in frontend apps: in-memory access tokens, HttpOnly refresh cookies, rotation, CORS/CSRF, and real code you can ship.

views
10 Sept 2025

Closures in JavaScript: From Pizza Shops to Caching Superpowers

A fun and practical guide to understanding closures in JavaScript, with real-world use cases like caching, rate limiting, event handling, and more.

views
9 Sept 2025

Imperative vs Declarative in JavaScript/TypeScript

A fun and practical guide to understanding when to use imperative vs declarative approaches in JS/TS, with lots of real-world examples.

views
6 Sept 2025

Promise Methods Playbook

A fun, practical guide to JavaScript promise methods — all, allSettled, race, any, resolve/reject, and finally — with examples you'll actually use.

views
4 Sept 2025

Implementing Web3 Wallet Authentication in Express.js

A comprehensive guide to implementing secure wallet-based authentication using Ethereum signatures in Express.js applications, with real-world use cases and security considerations

views
1 Sept 2025

Domain-Driven Design in Next.js

Learn how to implement Domain-Driven Design in a Next.js application using TypeScript.

views
27 Aug 2025

Stop Using GET Inside Server Actions

Learn why using GET inside Next.js Server Actions creates unnecessary round trips, how to fetch data efficiently with React Server Components, and when to use Server Actions the right way — with fun analogies and diagrams.

views
25 Aug 2025

Custom Authentication in Next.js Using External Backend

Learn how to implement custom authentication in Next.js with access tokens, refresh tokens, and token renewal using an external backend. Achieve full control and flexibility in your authentication flow.

views
18 Sept 2024

Deleting Local Stale Branches in Git

Learn how to clean up your Git repository by deleting local stale branches with a simple command. Keep your workspace organized and in sync with the remote repository.

views
28 Aug 2024