AyushShah

My Blog

Thoughts, technical guides, and insights about web development, programming, and my journey as a developer.

How to Stop a Running Port: A Quick Fix for Developers
TechnologyDevelopmentTech Tips

How to Stop a Running Port: A Quick Fix for Developers

Learn how to quickly resolve the 'EADDRINUSE' error and free up a port for your development server. Follow these steps to identify and kill the process using the port, along with a bonus tip for a one-liner solution on macOS/Linux.

July 4, 2025
148
Read More
Stop Repeating Tailwind Classes: Build Scalable UIs with `tailwind-variants`
Web DevelopmentFrontend DevelopmentDesign Systems

Stop Repeating Tailwind Classes: Build Scalable UIs with `tailwind-variants`

Say goodbye to long, repetitive class strings in Tailwind CSS. Learn how `tailwind-variants` can help you build scalable UIs with prop-based styling.

July 4, 2025
233
Read More
Stop Using JWT in localStorage β€” Here's Why (and What to Do Instead)
Web DevelopmentTechnologySecurityLifestyleBest Practices

Stop Using JWT in localStorage β€” Here's Why (and What to Do Instead)

Storing JWT tokens in localStorage can ruin your app's security. Learn why and how to use HttpOnly cookies instead.

July 4, 2025
269
Read More
Vibe Coding vs Real Learning: Be a Coder, Not Just a Prompter
ProgrammingTechnologyCareer Development

Vibe Coding vs Real Learning: Be a Coder, Not Just a Prompter

The dark side of vibe coding: Why relying on AI-generated code can make you a prompter, not a developer. Learn how to use AI effectively and stay relevant in tech.

July 4, 2025
276
Read More
πŸ” How JWT Authentication Works Behind the Scenes
TechnologySecurity

πŸ” How JWT Authentication Works Behind the Scenes

Learn how JWT authentication works, from sending a request to verifying a token

July 5, 2025
381
Read More
Spicing Up Git Commands With Custom Aliases πŸš€
DevelopmentGitProductivity Tips

Spicing Up Git Commands With Custom Aliases πŸš€

Give your Git commands a Gen-Z twist! Learn how to replace boring Git ops with fun aliases like vibes, slay, rizz, and yeet for a cooler terminal experience.

July 5, 2025
259
Read More
Why AI loves Tailwind, but struggles with CSS
Web DevelopmentProgrammingTechnology

Why AI loves Tailwind, but struggles with CSS

Explore why AI tools like Tailwind CSS are favored over traditional CSS by large language models, the limitations AI faces in understanding classic CSS, and why human developers with deep CSS knowledge remain essential in frontend development.

July 4, 2025
294
Read More
How to Create an MCP Model Context Protocol Server Using TypeScript: A Step-by-Step Guide with Weather API Example
Web DevelopmentProgrammingTypeScript

How to Create an MCP Model Context Protocol Server Using TypeScript: A Step-by-Step Guide with Weather API Example

Learn how to build an MCP Model Context Protocol server with TypeScript, using a weather API example. Step-by-step guide with code.

July 4, 2025
324
Read More
Why Companies Are Moving Away from Next.js
Web DevelopmentTechnology Trends

Why Companies Are Moving Away from Next.js

Explore why some companies are shifting from Next.js to alternatives like Vite and Remix due to performance and stability issues.

July 5, 2025
324
Read More
Understanding env() Safe Area Insets in CSS: From Basics to React and Tailwind

Understanding env() Safe Area Insets in CSS: From Basics to React and Tailwind

Discover how to use CSS env() function and safe area insets to create responsive, device-rotation-friendly designs. Learn to manage content visibility across various devices, addressing issues with notches, rounded corners, and screen orientation changes in CSS, React, and Tailwind.

July 5, 2025
364
Read More