
How To Use Security Headers
Learn how to improve your website security with HTTP security headers. Discover how to get an A score for your website with the help of this beginner-friendly guide.
I'm a Lead Developer based in Pune, India. I have worked in software since August 2016, mostly on cloud and backend systems in Golang, AWS and Node.js, and I write this blog to document what I build and fix.
Cloud (AWS Lambda, VPC, CloudFront, GCP cost control), web security (CORS, security headers, crawler control), Git workflows, Raspberry Pi and home-network projects, browser automation with Selenium, and AI-assisted development with Claude Code and MCP servers.
Find me on LinkedIn and GitHub, or use the contact page.

Learn how to improve your website security with HTTP security headers. Discover how to get an A score for your website with the help of this beginner-friendly guide.

Automate REST API tasks with Python's requests module: call endpoints, parse JSON responses and script things like price checks or setting a desktop wallpaper.

Install Pi-hole on a Raspberry Pi to block ads for every device on your network, and set it as your router's DNS server.

How to keep your site out of Google results: use Search Console for a temporary removal, or robots.txt to block all bots, specific bots or specific pages.

Three personal tools I built: a stock exit validator, a media compression pipeline and a doom-scroll blocker. Rule: use it first, expand only if it works.

Build an MCP server in TypeScript with PostgreSQL for employee info and leave management, and connect it to Claude Desktop.

How the Claude Code browser plugin passes browser context to the CLI so you can debug cloud problems like slow database queries in one AI workflow.

Host a single-page app on Amazon CloudFront and fix the routing errors: configure custom error responses so client-side routes don't return 403 or 404.

Say goodbye to hours of manually deleting unused node modules with NPKill. This npm library automates the process and helps you save time in just a few minutes.

I mapped five AI tools to five cognitive phases of development — research, ideation, design, implementation, and discipline.

Cut Google Compute Engine costs by suspending and resuming VMs on a schedule with Cloud Scheduler, Pub/Sub and Cloud Functions.

Product price monitor for any website. Learn how to build a custom solution to monitor product prices on any website and receive Slack alerts

Use git bisect to find the exact commit that introduced a bug: a step-by-step example with the commands, common gotchas and how to automate it.

Set up Git commit, pull request, issue and release templates to save time and keep team contributions consistent, with working examples.

Generate Go unit tests and run them with coverage in VS Code using the Go extension's Test UI, with no boilerplate typing.

Build a blog with Nuxt and Tailwind CSS: create the app, add Tailblocks, write content, render posts, generate a static build and deploy to Netlify.

What .gitignore, .dockerignore and .npmignore do, when to use each, and how they keep repos clean, Docker images small and packages lean.

Why an AWS Lambda function loses internet access inside a VPC, and how to fix it by routing traffic through a NAT gateway in a public subnet.

I mined my Claude Code memory logs to discover recurring patterns, then turned them into custom rules and skills that make my AI tools smarter about me.

Discover my journey participating in hacktoberfest 2020, including my learnings and overall experience.

Use Notion as a CMS: build a static site from JSON, set up Netlify CI/CD, connect a Notion board and fetch its data at build time.

How SO_REUSEADDR and SO_REUSEPORT affect running several instances on one port in Docker, and how to resolve port conflicts.

Run Selenium WebDriver on a Raspberry Pi Zero W with the chromium-chromedriver package to automate browser tasks on a tiny device.

Automate browser-based tasks with Python's Selenium module. Learn how to control a browser with code and perform tasks with ease.

How I used Shamir's Secret Sharing to split a password into shares so I can't impulsively give in to doom scrolling, yet can still recover it.

What steganography is, its types (text, image, audio, video, network), a Python image example with cryptosteganography and free tools to try.

7 Slack tips for developers: shortcuts, channel groups, slash commands, muting, search, saved items, and apps and integrations.

The post describes how you can access raspberry-pi from anywhere in two modes (web portal and ssh).

Discover VSCodium, a community-driven alternative to Visual Studio Code. Learn why I switched from VSCode and how to install VSCodium on Windows

Convert video to GIF in the browser with FFmpeg WebAssembly: import ffmpeg.wasm into a Vue app, load the script and run the conversion command.

CORS lets a server allow cross-origin browser requests through HTTP headers. Learn how it works, the key headers, preflight, and how to fix common errors.