Writing
Thoughts on engineering, performance, and building products.
Designed to Deceive: The Psychology Behind Dark Patterns
An examination of dark patterns in UI design — how interfaces manipulate users and the psychology behind them.
Exploring Next.js DevTools MCP with Playwright
A practical guide to using Next.js DevTools MCP server with Playwright for debugging and testing real-world applications.
From Code to Culture: How Developer Communities Shape Innovation
How developer communities, open-source collaboration, and shared knowledge accelerate technological innovation.
From Sci-Fi to Reality: Technologies That Sneaked Into Our Everyday Lives
A look at futuristic technologies that once belonged to science fiction but are now part of daily life.
Inspecting Shadow DOM in Native Controls Using Chrome DevTools
A technical deep-dive into inspecting and debugging Shadow DOM in native HTML controls using Chrome DevTools.
Leveraging AI and MCP Servers to Build AI Tests
How AI agents and MCP servers can be combined to automate test generation and execution in modern development workflows.
Programming Laws & Principles
A comprehensive collection of programming laws, principles, and heuristics that guide software engineering decisions.
Ridiculous Variable and Function Names
A humorous collection of real-world variable and function names that developers actually used in production code.
Short-Lived Pages in SEO: 404 vs 410 Explained
Understanding the difference between 404 and 410 status codes for short-lived pages, explained through stock market analogies.
Standard Operating Procedure for Integrating APIs
A structured SOP for integrating third-party APIs into existing systems, covering planning, implementation, and testing.
The Art of Growth: Embracing Learning and Unlearning as a Developer
Why continuous learning and unlearning are essential skills for developers, and how to cultivate a growth mindset.
Understanding Data Serialization in Next.js
A technical explanation of how data serialization works in Next.js, covering server components, client components, and data passing.
Why Developers Fall in Love with Their Tools
The emotional relationship developers have with their tools — editors, frameworks, and languages — and why it matters.