Latest Blog Posts
AI, Black Mirror, and What Lies Ahead: A Thought Experiment
A reflective look at AI through the lens of Black Mirror, exploring fear, possibility, digital personhood, and the choices that could shape whether AI deepens human dignity or erodes it.

More Posts
Action Cures Fear: Become Who You Said You'd Be
Fear, anxiety, and overthinking can freeze you in place, but action breaks the cycle. A practical, honest guide to beating procrastination, rebuilding momentum after setbacks, and turning goals into daily proof.

GraphQL: The Complete Deep Dive
Master GraphQL from fundamentals to production-grade expertise. Learn the schema definition language, queries, mutations, subscriptions, resolvers, the N+1 problem with DataLoader, authentication, pagination, caching, performance, and full-stack TypeScript integration. A comprehensive reference for developers who want to truly understand GraphQL.

TypeScript Generics: The Complete Deep Dive
Master TypeScript generics from first principles to advanced type-level programming. Learn generic functions, constraints, mapped types, conditional types, the infer keyword, template literal types, variance, and real-world patterns. Build the type-level thinking that separates good TypeScript developers from great ones.

React Context: The Complete Deep Dive
Master React Context from fundamentals to advanced patterns. Learn how context works under the hood, when to use it, how to type it properly in TypeScript, and how to avoid the performance pitfalls that catch most developers. Covers useContext, useReducer patterns, provider composition, and real-world architectures. A study-friendly reference you can return to again and again.

PostgreSQL: The Complete Deep Dive
Master PostgreSQL from fundamentals to production-grade expertise. Learn data types, relationships, joins, indexes, query optimization with EXPLAIN ANALYZE, transactions, window functions, CTEs, full-text search, partitioning, replication, and TypeScript integration with Drizzle ORM. A comprehensive reference for developers who want to truly understand their database.

System Design 101: The Ultimate Beginner's Guide
Master the fundamentals of system design from the ground up. Learn how to think about scalable systems, understand the core building blocks β load balancers, databases, caching, CDNs, message queues β and practice with real-world design walkthroughs. A study-friendly reference for developers and interview prep.

System Design: The Complete Deep Dive
Go beyond the building blocks into advanced distributed systems. Master consistency models, consensus algorithms, sharding strategies, event-driven architecture, microservices patterns, rate limiting, circuit breakers, and real-world case studies for designing Twitter, payment systems, and notification platforms. A comprehensive reference for senior engineers and interview prep.

Next.js 101: The Ultimate Beginner's Guide
Master Next.js from the ground up with this comprehensive beginner's guide. Learn the App Router, server and client components, data fetching, routing, layouts, server actions, and deployment. Transform from React developer to full-stack Next.js engineer with practical TypeScript examples, real-world patterns, and best practices.

Next.js: The Complete Deep Dive
Go beyond the basics of Next.js. Understand React Server Components internals, the four caching layers, streaming and Suspense, parallel routes, server actions with optimistic updates, middleware patterns, edge runtime, authentication strategies, and production optimization. A TypeScript-first reference for experienced developers.

Problem Solving Patterns: Backtracking, Made Simple
Master backtracking from the ground up. Learn the decision tree mental model, the choose-explore-unchoose template, and solve classic problems like permutations, combinations, subsets, N-Queens, Sudoku, and word search. Build the intuition to prune efficiently and solve any backtracking problem.

Problem Solving Patterns: Binary Search, Made Simple
Master binary search beyond the basics. Learn the classic algorithm, then discover how to apply it to rotated arrays, search spaces, first/last positions, and abstract conditions. Build the intuition to recognize binary search opportunities in any problem.

Problem Solving Patterns: DFS and BFS, Made Simple
Master depth-first and breadth-first search patterns for trees and graphs. Learn when to use DFS vs BFS, iterative vs recursive approaches, and solve classic problems like number of islands, word ladder, max depth, and course schedule with confidence.

Problem Solving Patterns: Dynamic Programming, Made Simple
Master advanced dynamic programming patterns for coding interviews. Learn 1D and 2D DP, string DP, decision-making DP, interval DP, and state machine patterns. Solve classic problems like longest common subsequence, edit distance, 0/1 knapsack, and stock trading with confidence.

Problem Solving Patterns: Greedy Algorithms, Made Simple
Master greedy algorithms and learn when local optimal choices lead to global optimal solutions. Understand the greedy choice property, solve classic problems like interval scheduling, jump game, gas station, and task scheduler, and learn when greedy works vs when you need dynamic programming.

Problem Solving Patterns: Linked Lists, Made Simple
Master the linked list patterns that appear in every coding interview. Learn the fast/slow pointer technique, in-place reversal, dummy node trick, merge patterns, and cycle detection. Build the intuition to solve any linked list problem with confidence.

Problem Solving Patterns: Recursion, Made Simple
Master recursion from the ground up. Learn how the call stack works, how to identify base cases, when to go recursive vs iterative, and how to apply recursion to solve real coding problems with confidence. Build the foundation for trees, graphs, backtracking, and dynamic programming.

Problem Solving Patterns: Stacks and Queues, Made Simple
Master stack and queue problem-solving patterns that appear everywhere in coding interviews. Learn monotonic stacks, next greater element, valid parentheses, min stack, BFS with queues, and the thinking frameworks that make these problems click.

useMemo vs useCallback: The Complete Deep Dive
Master React's memoization hooks from the ground up. Learn what useMemo and useCallback actually do, how they work under the hood, when to use which, and how to combine them with React.memo and useRef for real performance gains. A TypeScript-first, study-friendly reference you can return to again and again.

Dynamic Programming 101: The Ultimate Beginner's Guide
Demystify dynamic programming from the ground up. Learn the mindset shift from brute force to optimal, understand memoization and tabulation visually, recognize DP problems on sight, and walk through beginner-friendly problems step by step. No math degree required.

Linked Lists 101: The Ultimate Beginner's Guide
Master linked lists from the ground up. Learn how nodes and pointers work, build singly and doubly linked lists in TypeScript, understand when to choose linked lists over arrays, and see the patterns that make them essential for coding interviews and real-world systems.

Sorting Algorithms: The Complete Deep Dive
Master every major sorting algorithm from bubble sort to radix sort. Understand how each works under the hood, their time and space complexity, stability, and when to use which. Includes TypeScript implementations, visual walkthroughs, and a decision framework for choosing the right sort.

Stacks and Queues 101: The Ultimate Beginner's Guide
Master stacks and queues from the ground up. Learn LIFO and FIFO principles, build your own implementations in TypeScript, understand when to use each, and see how these fundamental data structures power everything from browser history to print queues.

Trees 101: The Ultimate Beginner's Guide
Master tree data structures from the ground up. Learn tree terminology, binary trees, binary search trees, traversals, and core operations in TypeScript. Build the foundation for understanding heaps, tries, graphs, and the tree-based patterns that dominate coding interviews.

Trees and Graphs: The Complete Deep Dive
Go beyond binary trees into AVL trees, tries, heaps, priority queues, and graph data structures. Master graph representations, weighted graphs, shortest path algorithms, topological sort, union-find, and cycle detection. A comprehensive TypeScript reference for advanced data structures.

IntersectionObserver: The Complete Deep Dive
Master the IntersectionObserver API for lazy loading, infinite scroll, scroll animations, and visibility analytics. Learn root, rootMargin, and threshold, then use it properly in React with refs and a reusable hook. Performance-friendly and study-ready.

React Refs: The Complete Deep Dive
Master React refs from useRef to forwardRef and useImperativeHandle. Learn when to use refs vs state, how to access the DOM safely, and practical patterns for focus, scroll, measurements, and third-party libraries. A study-friendly reference you can return to again and again.

Closures in JavaScript: A Deep Dive
Master JavaScript closures from the ground up. Understand lexical scope, the scope chain, and how functions 'remember' their environment. Learn practical patterns, common pitfalls, and real-world use cases that will make closures second nature.

Promises and Async/Await in JavaScript: A Complete Deep Dive
Master asynchronous JavaScript from callbacks to Promises to async/await. Understand the event loop, microtasks, error handling, and advanced patterns. Includes TypeScript examples, common pitfalls, and interview questions.

The Last Decade in Tech: What Happened to Our Industry
A deep dive into how the tech industry transformed from 2015 to 2026. From the golden age of hiring to pandemic chaos, LeetCode obsession, mass layoffs, and the AI revolution. Where we've been, where we are, and where we're headed.

React, Inside Out: A Guided Q&A Journey from First Render to Production
Master React with this comprehensive Q&A guide covering fundamentals to production patterns. Learn state management, hooks, performance optimization, testing, accessibility, and advanced patterns through practical examples and real-world scenarios.

React 101: The Ultimate Beginner's Guide
Master React from the ground up with this comprehensive beginner's guide. Learn components, state, hooks, effects, and real-world patterns. Transform from JavaScript developer to React expert with practical examples, coding challenges, and best practices.

Classes in JavaScript: A Deep Dive
Master JavaScript classes from fundamentals to advanced patterns. Learn prototypes, inheritance, encapsulation, polymorphism, and real-world design patterns. Explore TypeScript integration, composition vs inheritance, and best practices for modern object-oriented programming.

Node 101: The Ultimate Beginner's Guide
Master Node.js from the ground up with this comprehensive beginner's guide. Learn server-side JavaScript, Express.js, SQLite with Prisma, TypeScript integration, and real-world backend patterns. Build scalable APIs with proper architecture, validation, and best practices.

TypeScript 101: The Ultimate Beginner's Guide
Master TypeScript from the ground up with this comprehensive beginner's guide. Learn static typing, interfaces, generics, utility types, and real-world patterns. Transform from JavaScript developer to TypeScript expert with practical examples and best practices.

Problem Solving Patterns: Hashmaps and Sets, Made Simple
Master the art of using Maps and Sets to transform complex coding problems into elegant solutions. Learn when to reach for these powerful data structures, understand their performance benefits, and build the pattern recognition skills that turn brute-force approaches into optimized algorithms.

Mastering Leetcode 1652: Defuse the Bomb (JavaScript Deep Dive)
A comprehensive guide to solving LeetCode 1652 "Defuse the Bomb" using JavaScript. Learn both brute-force and optimized sliding window approaches, master circular array manipulation, and understand when to apply each technique for maximum efficiency.

Problem Solving Patterns: Sliding Window, Made Simple
Master the Sliding Window technique with fixed and dynamic windows. Learn when to use this powerful optimization pattern, solve classic problems efficiently, and transform O(nΒ²) solutions to O(n).

Problem Solving Patterns: Two Pointers, Made Simple
Master the Two Pointers technique with practical examples and real-world applications. Learn when to use this powerful pattern, common variations, and solve classic coding problems efficiently.

Strings 101: The Ultimate Beginners Guide
Master JavaScript strings from fundamentals to advanced techniques. Learn string immutability, Unicode handling, performance optimization, and essential methods with practical examples.

Arrays 101: The Ultimate Beginner's Guide
Master JavaScript arrays from fundamentals to advanced patterns. Learn essential methods, time complexity, common pitfalls, and interview techniques with practical examples.

Understanding JSX in React: A Deep Dive
Master JSX fundamentals with practical examples and real-world patterns. Learn how JSX compiles, differs from HTML, and enables powerful React component composition.

The Only Big O Guide You'll Ever Need
Master Big O notation with practical examples, real-world analogies, and clear explanations. Learn how to analyze algorithm performance and make better coding decisions that scale.

Solving Two Sum: From Brute Force to Optimal Thinking
Master the classic Two Sum problem with two approaches: brute force for understanding and hash map optimization for efficiency. Learn the algorithmic thinking patterns that will serve you throughout your coding journey.

Prime Numbers: The Building Blocks of Math and a LeetCode Classic
Prime numbers are simple in definition, yet endlessly interesting in behavior. They show up in cryptography, hashing algorithms, and yes

Why I Wrote Book of the Wire
Book of the Wire started as a single post. Just eight verses. Then came the thought: What if this could be more? A scripture written in static for those who build in the dark and release without applause.

Revolutionizing the Grocery Store: How AI is Transforming Your Shopping Experience.
In an era where technology is rapidly advancing, apple (joke) intelligence(AI) is paving the way for a smarter, more efficient grocery shopping experience. From optimizing supply chains to offering personalized recommendations, AI is revolutionizing every aspect of the grocery store industry when done right.

Fleeting late night thoughts
Midnight comes, life slows down, and the mind ramps up. A weird thing happens deep in your mind; you feel a sense of lostness and euphoria without the consumption of alcohol. You grow numb, and your emotions start to boil and mix into this weird soup of anguish, anxiety, happiness, and sadness.

vsDebugServer.js can't be found
If you have nvim-dap set up for javascript/typescript/etc.. and are using nvim-dap-vscode-js you most likely have ran into an error where 'vsDebugServer.js cant be found'.

A TC39 Proposal for Signals, JavaScript just keeps getting better.
According to the proposal, a signal is a data type that enables one-way data flow by modeling cells of state and computations derived from other state/computations.

A letter to you
I come today to write about the hardships you will encounter, the obstacles you need to overcome, and to tell you that things will get better.

A million miles away
From working in the fields to being an Austronaut. With 11 rejections from NASA he persevere and kept accumulating achievements and getting the necessary certifications to be better qualified to get accepted.

Reduce Method
What was your βwowβ moment when you started coding? I know there probably are many and all have a great story attached to them but for me it was when I got introduced to the reduce method. As far as I could remember I had not used it both in real work environment and or on my own for something.

Punctuality
You know what really irritates me? When you set a date or a time for a call and you seem to brush it off by saying you had to go to the βstoreβ and if this is still a good time but you end up not answering an email for 40 to 50 minutes and never call.

Why failing isnβt just good, It is necessary!
The thing I always tell myself when I go into βget a new jobβ mode is, let me test the waters and see where I stand in the interview process. Now we all know a good cv, resume can do wonders for you but...

Can we normalize setting up date and times for initial phone calls
Now I donβt know if this is normal to others or not but I was used to getting emails with links to set up a date and time to have a short 20 to 30 min conversation about the possible job position.























