<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Muhammad Sharjeel, writing</title><description>Notes on platform engineering, multi-tenant systems and building software with AI agents.</description><link>https://www.sharjeelafzaal.com/</link><item><title>A portfolio that builds itself while you scroll</title><link>https://www.sharjeelafzaal.com/blog/how-this-site-builds-itself/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/how-this-site-builds-itself/</guid><description>This site starts as a blank canvas and a swarm of cursors draws it in front of you. Here is why I wanted that, what it is made of, and everything that went wrong on the way.</description><pubDate>Tue, 10 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Unslopping AI output with nothing but a skill</title><link>https://www.sharjeelafzaal.com/blog/unslop-ai-with-skills/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/unslop-ai-with-skills/</guid><description>You do not need a better model to get rid of the purple gradients. You need your taste written down as a skill the agent loads before it touches the screen.</description><pubDate>Tue, 10 Nov 2026 00:00:00 GMT</pubDate></item><item><title>AI Assistant Coding vs Vibe Coding</title><link>https://www.sharjeelafzaal.com/blog/ai-assistant-coding-vs-vibe-coding/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/ai-assistant-coding-vs-vibe-coding/</guid><description>As AI becomes ubiquitous in software development, a dangerous pattern is emerging: developers blindly accepting AI suggestions without understanding the code. This &apos;vibe coding&apos; approach undermines the fundamentals of being a developer. Here&apos;s why understanding code matters more than shipping it, and how to use AI as a proper assistant.</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Hosting Multiple Domains on One Server with Docker, NGINX &amp; SSL (DevOps for Developers)</title><link>https://www.sharjeelafzaal.com/blog/multi-domain-docker-nginx-ssl-lets-encrypt/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/multi-domain-docker-nginx-ssl-lets-encrypt/</guid><description>As a full-stack developer, I recently had to deploy multiple backend services on one server, each with its own domain and SSL certificate. Here&apos;s how I combined Docker, NGINX, and Certbot to build a scalable, production-grade setup — without needing a dedicated DevOps engineer.</description><pubDate>Sun, 13 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Taming CORS in a Microservices Monorepo: From Async Validation to a Unified Config</title><link>https://www.sharjeelafzaal.com/blog/taming-cors-microservices-monorepo/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/taming-cors-microservices-monorepo/</guid><description>CORS errors can be frustrating, especially in a microservices monorepo setup. This blog dives into what CORS really is, why it matters, and how I solved the CORS challenge using a shared JSON config file — establishing a single source of truth for all services.</description><pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate></item><item><title>Debugging Tips for Frontend Developers (React + Next.js)</title><link>https://www.sharjeelafzaal.com/blog/debugging-tips-frontend-developers-react-nextjs/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/debugging-tips-frontend-developers-react-nextjs/</guid><description>Effective debugging is one of the most valuable skills for frontend developers. Here&apos;s a practical guide to debugging with logs, using the debugger keyword, troubleshooting APIs, and improving performance — with a special focus on React and Next.js.</description><pubDate>Sat, 26 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Is the ‘AI Developer’ a Threat to Jobs – or a Marketing Stunt?</title><link>https://www.sharjeelafzaal.com/blog/ai-developer-threat-or-stunt/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/ai-developer-threat-or-stunt/</guid><description>AI dev tools are booming — but are they replacing developers or just reshaping workflows? Here&apos;s the balanced view.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Using Docker &amp; NGINX to Build a Suite of Microservices</title><link>https://www.sharjeelafzaal.com/blog/docker-nginx-microservices/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/docker-nginx-microservices/</guid><description>Explore how to use Docker and NGINX to containerize and orchestrate a scalable microservices suite. Includes setup tips, architecture advice, and real-world tradeoffs.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Getting Started with Next.js: Structure, Tips &amp; Deployment</title><link>https://www.sharjeelafzaal.com/blog/getting-started-with-nextjs/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/getting-started-with-nextjs/</guid><description>A developer-friendly introduction to Next.js — learn how to scaffold projects, understand folder structure, configure features, and deploy to Vercel seamlessly.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Grid Systems: The Foundation of Great UI Design</title><link>https://www.sharjeelafzaal.com/blog/grid-system-ui-design/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/grid-system-ui-design/</guid><description>Want cleaner, more balanced layouts? A grid system brings structure, rhythm, and clarity to your UI — and Tailwind makes it easier than ever to implement.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Using Generative AI to Speed Up Creative and Dev Workflows</title><link>https://www.sharjeelafzaal.com/blog/using-generative-ai-to-speed-up/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/using-generative-ai-to-speed-up/</guid><description>From ChatGPT to v0.dev — here&apos;s how generative AI helps streamline UI design, prototyping, coding, and problem-solving in modern workflows.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>What Is Accessible Design and Why It Matters</title><link>https://www.sharjeelafzaal.com/blog/what-is-accessible-design/</link><guid isPermaLink="true">https://www.sharjeelafzaal.com/blog/what-is-accessible-design/</guid><description>Accessibility isn’t a nice-to-have. It’s a necessity. Here&apos;s why accessible design matters — and how to get it right in your UI and frontend code.</description><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item></channel></rss>