{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Umesh Malik's Blog",
  "home_page_url": "https://umesh-malik.com",
  "feed_url": "https://umesh-malik.com/feed.json",
  "description": "Articles on AI engineering, GenAI applications, LLMs, RAG pipelines, and modern software development",
  "language": "en-US",
  "authors": [
    {
      "name": "Umesh Malik",
      "url": "https://umesh-malik.com",
      "avatar": "https://umesh-malik.com/images/umesh-malik.jpg"
    }
  ],
  "items": [
    {
      "id": "https://umesh-malik.com/blog/seo-in-the-ai-era-geo-playbook",
      "url": "https://umesh-malik.com/blog/seo-in-the-ai-era-geo-playbook",
      "title": "SEO in the AI Era: The 2026 GEO Playbook for Winning AI Search Traffic",
      "summary": "SEO in the AI era: what actually changed, why clicks fell 60%, and the GEO playbook to earn traffic from ChatGPT, Perplexity and Google AI Mode in 2026.",
      "date_published": "2026-07-27T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "SEO",
        "GEO",
        "AI Search",
        "Content Strategy",
        "Web Performance",
        "llms.txt"
      ],
      "image": "https://umesh-malik.com/blog/seo-in-the-ai-era-geo-playbook-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-opus-5-guide",
      "url": "https://umesh-malik.com/blog/claude-opus-5-guide",
      "title": "Claude Opus 5: Benchmarks, Pricing & Two Breaking Changes",
      "summary": "Claude Opus 5 delivers near-Fable capability at Opus 4.8's price. Benchmarks, the real cost math, and the two API changes that break a migration.",
      "date_published": "2026-07-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Opus 5",
        "Anthropic",
        "LLM",
        "AI Coding Agents",
        "Claude Code",
        "LLM Cost Optimization",
        "Model Comparison"
      ],
      "image": "https://umesh-malik.com/blog/claude-opus-5-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/rag-chatbot-nextjs-guide",
      "url": "https://umesh-malik.com/blog/rag-chatbot-nextjs-guide",
      "title": "Build a RAG Chatbot in Next.js: Retrieval, Streaming & Citations (2026)",
      "summary": "Build a RAG chatbot in Next.js with the AI SDK: embed the query, search pgvector, stream a grounded answer with citations, and stop hallucinations.",
      "date_published": "2026-07-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "RAG",
        "Next.js",
        "Vector Databases",
        "LLM Engineering",
        "AI Engineering",
        "Vercel AI SDK"
      ],
      "image": "https://umesh-malik.com/blog/rag-chatbot-nextjs-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/react-server-components-guide",
      "url": "https://umesh-malik.com/blog/react-server-components-guide",
      "title": "React Server Components in 2026: The Mental Model, the use client Boundary & When Not to Use Them",
      "summary": "React Server Components in 2026: the mental model that finally clicks, the use client boundary rules, and when NOT to use them — with the Web Vitals payoff.",
      "date_published": "2026-07-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "React",
        "React Server Components",
        "Next.js",
        "Web Performance",
        "Core Web Vitals",
        "Web Engineering"
      ],
      "image": "https://umesh-malik.com/blog/react-server-components-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/vercel-ai-sdk-production-guide",
      "url": "https://umesh-malik.com/blog/vercel-ai-sdk-production-guide",
      "title": "Vercel AI SDK in Production: Streaming, Tool-Calling & the Gotchas Nobody Tells You (2026)",
      "summary": "Vercel AI SDK in production: streaming, tool-calling, aborting generations, error retry UX, rate limiting, and cost control — the layer every tutorial skips.",
      "date_published": "2026-07-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Vercel AI SDK",
        "Next.js",
        "React",
        "Streaming",
        "LLM Engineering",
        "AI Engineering"
      ],
      "image": "https://umesh-malik.com/blog/vercel-ai-sdk-production-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/kimi-k3-vs-claude-fable-5",
      "url": "https://umesh-malik.com/blog/kimi-k3-vs-claude-fable-5",
      "title": "Kimi K3 vs Claude Fable 5: The Full Head-to-Head Benchmarks, Pricing, and Where the Open Model Wins (2026)",
      "summary": "Kimi K3 vs Claude Fable 5, benchmark by benchmark: where the 2.8T open model beats Anthropic's flagship, where it loses, what it costs, and how to actually use it.",
      "date_published": "2026-07-19T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Kimi K3",
        "Claude",
        "Moonshot AI",
        "LLMs",
        "Open Source",
        "Benchmarks",
        "API"
      ],
      "image": "https://umesh-malik.com/blog/kimi-k3-vs-fable-5-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/streaming-html-out-of-order-without-javascript",
      "url": "https://umesh-malik.com/blog/streaming-html-out-of-order-without-javascript",
      "title": "Streaming HTML Out of Order Without JavaScript (2026)",
      "summary": "Streaming HTML out of order without JavaScript: how Declarative Partial Updates and Declarative Shadow DOM reorder content natively in Chrome 148.",
      "date_published": "2026-07-14T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "HTML",
        "Web Platform",
        "Performance",
        "Streaming",
        "Web Engineering",
        "Browsers"
      ],
      "image": "https://umesh-malik.com/blog/streaming-html-out-of-order-without-javascript-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/chatgpt-apps-sdk-super-app-guide",
      "url": "https://umesh-malik.com/blog/chatgpt-apps-sdk-super-app-guide",
      "title": "ChatGPT Apps SDK and the Super App Reform: How Apps in ChatGPT Work (2026)",
      "summary": "The ChatGPT Apps SDK explained: how apps in ChatGPT work, why it's built on MCP, who the launch partners are, and how developers build and submit apps.",
      "date_published": "2026-07-11T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "Apps SDK",
        "MCP",
        "AI Agents",
        "Developer Tools"
      ],
      "image": "https://umesh-malik.com/blog/chatgpt-apps-sdk-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/gpt-5-6-sol-vs-terra-vs-luna",
      "url": "https://umesh-malik.com/blog/gpt-5-6-sol-vs-terra-vs-luna",
      "title": "GPT-5.6 Sol vs Terra vs Luna: Which One Should You Actually Use? (2026)",
      "summary": "GPT-5.6 Sol vs Terra vs Luna compared on price, coding, latency, and cost per task — plus a routing strategy that cuts your bill without wrecking quality.",
      "date_published": "2026-07-11T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "GPT-5.6",
        "API",
        "AI Agents",
        "LLMs",
        "LLM cost optimization"
      ],
      "image": "https://umesh-malik.com/blog/gpt-5-6-sol-terra-luna-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/openai-gpt-5-6-sol-terra-luna-guide",
      "url": "https://umesh-malik.com/blog/openai-gpt-5-6-sol-terra-luna-guide",
      "title": "OpenAI GPT-5.6 Complete Guide: Sol, Terra, Luna Benchmarks, Pricing, and API (2026)",
      "summary": "GPT-5.6 Sol, Terra & Luna: pricing ($1–$30/1M), benchmarks (Sol hits 91.9% on Terminal-Bench 2.1), 1.05M context, and which tier to actually use.",
      "date_published": "2026-07-11T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "GPT-5.6",
        "API",
        "AI Agents",
        "LLMs",
        "Machine Learning"
      ],
      "image": "https://umesh-malik.com/blog/gpt-5-6-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/build-enterprise-ai-agents-free",
      "url": "https://umesh-malik.com/blog/build-enterprise-ai-agents-free",
      "title": "How to Build Enterprise-Grade AI Agents for Free (MaxKB, 2026)",
      "summary": "How to build enterprise-grade AI agents for free in 2026: a hands-on MaxKB + local LLM guide to RAG precision, security, and $0 API cost.",
      "date_published": "2026-07-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI Agents",
        "MaxKB",
        "Open Source",
        "RAG",
        "Self-Hosting",
        "GenAI 2026"
      ],
      "image": "https://umesh-malik.com/blog/build-enterprise-ai-agents-free-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/http-query-method-rfc-10008-guide",
      "url": "https://umesh-malik.com/blog/http-query-method-rfc-10008-guide",
      "title": "HTTP QUERY Method Explained (RFC 10008): GET vs POST",
      "summary": "RFC 10008's HTTP QUERY method is safe, idempotent, and cacheable like GET but carries a body like POST. What it fixes and where it works today.",
      "date_published": "2026-07-03T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "HTTP QUERY Method",
        "RFC 10008",
        "REST API Design",
        "HTTP",
        "API Caching",
        "GraphQL",
        "Web Standards"
      ],
      "image": "https://umesh-malik.com/blog/http-query-method-rfc-10008-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-fable-5-guide",
      "url": "https://umesh-malik.com/blog/claude-fable-5-guide",
      "title": "Claude Fable 5: Capabilities, Cost & When to Use It (2026)",
      "summary": "Claude Fable 5 is Anthropic's most capable model yet. The honest deep-dive: capabilities, the $10/$50 cost math, API behavior, and when to use it.",
      "date_published": "2026-07-02T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Fable 5",
        "Anthropic",
        "LLM",
        "AI Coding Agents",
        "Agentic AI",
        "LLM Cost Optimization",
        "Claude API"
      ],
      "image": "https://umesh-malik.com/blog/claude-fable-5-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-sonnet-5-guide",
      "url": "https://umesh-malik.com/blog/claude-sonnet-5-guide",
      "title": "Claude Sonnet 5: Pricing, Benchmarks, Tokenizer Gotcha",
      "summary": "Claude Sonnet 5 gives near-Opus coding at Sonnet pricing, but a tokenizer change alters your real cost. Benchmarks, pros, cons, and when to pick it.",
      "date_published": "2026-07-01T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Sonnet 5",
        "Anthropic",
        "LLM",
        "AI Coding Agents",
        "Claude Code",
        "LLM Cost Optimization",
        "Model Comparison"
      ],
      "image": "https://umesh-malik.com/blog/claude-sonnet-5-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-code-auto-mode-production-field-report",
      "url": "https://umesh-malik.com/blog/claude-code-auto-mode-production-field-report",
      "title": "Is Claude Code Auto Mode Reliable in Production? A Field Report",
      "summary": "I ran Claude Code auto mode in production for a week — where it's reliable, where it broke, real token costs from my usage logs, and my honest verdict.",
      "date_published": "2026-06-25T00:00:00.000Z",
      "date_modified": "2026-06-25T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Code",
        "AI Coding Agents",
        "Auto Mode",
        "Developer Productivity",
        "Production Engineering",
        "AI Pair Programming",
        "DevEx"
      ],
      "image": "https://umesh-malik.com/blog/claude-code-auto-mode-production-field-report-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-code-vs-cursor-production-work-2026",
      "url": "https://umesh-malik.com/blog/claude-code-vs-cursor-production-work-2026",
      "title": "Claude Code vs Cursor for Production: A Shipping Engineer's Field Report (2026)",
      "summary": "Claude Code vs Cursor for production, field-tested on real shipping tasks: a working engineer's decision table, failure modes, pricing, and which to use when.",
      "date_published": "2026-06-25T00:00:00.000Z",
      "date_modified": "2026-06-25T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Code",
        "Cursor",
        "GitHub Copilot",
        "AI Coding Agents",
        "Developer Tooling",
        "AI Pair Programming",
        "DevEx"
      ],
      "image": "https://umesh-malik.com/blog/claude-code-vs-cursor-production-work-2026-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/use-claude-code-codex-for-free",
      "url": "https://umesh-malik.com/blog/use-claude-code-codex-for-free",
      "title": "Can You Use Claude Code and Codex for Free? Honest 2026 Guide",
      "summary": "The honest answer to using Claude Code and Codex for free in 2026: what's truly $0, what isn't, the best free AI coding CLIs, and how to cut your bill.",
      "date_published": "2026-06-23T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Code",
        "Codex",
        "Gemini CLI",
        "GitHub Copilot",
        "AI Coding Agents",
        "Developer Tools"
      ],
      "image": "https://umesh-malik.com/blog/use-claude-code-codex-for-free-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/fastapi-spa-app-frontend-explained",
      "url": "https://umesh-malik.com/blog/fastapi-spa-app-frontend-explained",
      "title": "FastAPI Finally Has Native SPA Support: app.frontend() Explained",
      "summary": "FastAPI 0.138.0 ships app.frontend() — a native way to serve React, Vue, and Svelte SPA builds. How it works, real use cases, and what it still can't do.",
      "date_published": "2026-06-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "FastAPI",
        "Python",
        "SPA",
        "Backend",
        "Web Engineering",
        "Starlette"
      ],
      "image": "https://umesh-malik.com/blog/fastapi-spa-app-frontend-explained-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/agentic-browsing-pagespeed-ai-ready",
      "url": "https://umesh-malik.com/blog/agentic-browsing-pagespeed-ai-ready",
      "title": "Agentic Browsing in PageSpeed Insights: How to Make Your Website AI-Ready (2026)",
      "summary": "Agentic browsing in PageSpeed Insights grades your site for AI agents, not just humans. What the category checks, why Google added it, how to pass it.",
      "date_published": "2026-06-19T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Agentic Browsing",
        "PageSpeed Insights",
        "AI Agents",
        "GEO",
        "Web Performance",
        "llms.txt"
      ],
      "image": "https://umesh-malik.com/blog/agentic-browsing-pagespeed-ai-ready-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/autonomous-ai-agents-production-gap-2026",
      "url": "https://umesh-malik.com/blog/autonomous-ai-agents-production-gap-2026",
      "title": "Why 77% of Autonomous AI Agents Never Reach Production (2026)",
      "summary": "Only 23% of autonomous AI agents reach production in 2026. The demo-to-production gap, why agents fail, and the playbook the winners actually use.",
      "date_published": "2026-06-14T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI Agents",
        "Agentic AI",
        "LLM Engineering",
        "AI in Production",
        "GenAI 2026"
      ],
      "image": "https://umesh-malik.com/blog/autonomous-ai-agents-production-gap-2026-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-fable-5-streaming-microservice-one-day",
      "url": "https://umesh-malik.com/blog/claude-fable-5-streaming-microservice-one-day",
      "title": "How I Built a Full Audio/Video Streaming Microservice in One Day with Claude Fable 5 Auto Mode",
      "summary": "Claude Fable 5 in auto mode built my entire HLS streaming microservice in under a day — AWS infra, security, backend, frontend, CI/CD, migrations, runbooks.",
      "date_published": "2026-06-13T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Fable 5",
        "Claude Code",
        "AI Coding Agents",
        "AWS",
        "Video Streaming",
        "HLS",
        "Microservices",
        "Terraform",
        "CI/CD"
      ],
      "image": "https://umesh-malik.com/blog/claude-fable-5-streaming-microservice-one-day-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/build-rag-pipeline-from-scratch",
      "url": "https://umesh-malik.com/blog/build-rag-pipeline-from-scratch",
      "title": "Build a RAG Pipeline From Scratch (Production Patterns That Actually Matter)",
      "summary": "Build a RAG pipeline from scratch: chunking, embeddings, retrieval, reranking, grounded generation, and the production patterns that decide whether it works.",
      "date_published": "2026-06-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "RAG",
        "LLM Engineering",
        "Vector Databases",
        "Embeddings",
        "GenAI",
        "AI Architecture"
      ],
      "image": "https://umesh-malik.com/blog/build-rag-pipeline-from-scratch-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/cursor-vs-claude-code-vs-copilot",
      "url": "https://umesh-malik.com/blog/cursor-vs-claude-code-vs-copilot",
      "title": "Cursor vs Claude Code vs Copilot (2026): Which AI Coding Tool, for What",
      "summary": "Cursor vs Claude Code vs GitHub Copilot in 2026 — how they actually differ in model, workflow, and autonomy, and which to use for what (I use all three).",
      "date_published": "2026-06-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI Coding Agents",
        "Claude Code",
        "Cursor",
        "GitHub Copilot",
        "Developer Tooling",
        "AI Pair Programming"
      ],
      "image": "https://umesh-malik.com/blog/cursor-vs-claude-code-vs-copilot-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/deploy-mcp-server-cloudflare-workers",
      "url": "https://umesh-malik.com/blog/deploy-mcp-server-cloudflare-workers",
      "title": "Deploy an MCP Server on Cloudflare Workers (Free, Stateless, at the Edge)",
      "summary": "Deploy an MCP server on Cloudflare Workers: wrangler.toml, the run_worker_first model, routing /mcp, local testing, and going live on the free tier.",
      "date_published": "2026-06-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "MCP",
        "Model Context Protocol",
        "Cloudflare Workers",
        "Wrangler",
        "Edge Computing",
        "AI Tooling"
      ],
      "image": "https://umesh-malik.com/blog/deploy-mcp-server-cloudflare-workers-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/how-to-build-mcp-server",
      "url": "https://umesh-malik.com/blog/how-to-build-mcp-server",
      "title": "How to Build an MCP Server: A Step-by-Step Guide (2026)",
      "summary": "How to build an MCP server, step by step: JSON-RPC 2.0, the Streamable HTTP transport, typed tools, and agent discovery — from a real one I shipped.",
      "date_published": "2026-06-08T00:00:00.000Z",
      "date_modified": "2026-07-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "MCP",
        "Model Context Protocol",
        "AI Agents",
        "Cloudflare Workers",
        "LLM Engineering",
        "AI Tooling"
      ],
      "image": "https://umesh-malik.com/blog/how-to-build-mcp-server-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/how-to-write-claude-md",
      "url": "https://umesh-malik.com/blog/how-to-write-claude-md",
      "title": "How to Write a CLAUDE.md That Actually Helps",
      "summary": "How to write a CLAUDE.md that actually helps Claude Code: what to include, what to leave out, a real structure, and how to stop it from rotting.",
      "date_published": "2026-06-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Code",
        "CLAUDE.md",
        "AI Coding Agents",
        "Developer Tooling",
        "Anthropic"
      ],
      "image": "https://umesh-malik.com/blog/how-to-write-claude-md-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-swap-multi-account-switcher-guide",
      "url": "https://umesh-malik.com/blog/claude-swap-multi-account-switcher-guide",
      "title": "How to Switch Between Multiple Claude Code Accounts Without Re-Logging In (claude-swap Guide)",
      "summary": "claude-swap is an open-source CLI that switches Claude Code accounts in seconds — no browser re-login. How it works, how to use it, and what it misses.",
      "date_published": "2026-05-30T00:00:00.000Z",
      "date_modified": "2026-07-27T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Claude Code",
        "Claude",
        "Developer Tools",
        "CLI",
        "OAuth",
        "Productivity",
        "Open Source",
        "Python"
      ],
      "image": "https://umesh-malik.com/blog/claude-swap-multi-account-switcher-guide-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/claude-code-leak-march-2026",
      "url": "https://umesh-malik.com/blog/claude-code-leak-march-2026",
      "title": "Claude Code Leak 2026: What Escaped and What Didn't",
      "summary": "The March 31, 2026 Claude Code source-map leak, explained: what was exposed, what wasn't, Anthropic's DMCA sweep, clean-room rebuilds, and the fallout.",
      "date_published": "2026-04-02T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Anthropic",
        "Claude Code",
        "Security",
        "Open Source",
        "DMCA",
        "Supply Chain",
        "AI Ethics"
      ],
      "image": "https://umesh-malik.com/blog/claude-code-leak-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/axios-compromised-npm-cross-platform-rat",
      "url": "https://umesh-malik.com/blog/axios-compromised-npm-cross-platform-rat",
      "title": "Axios Compromised on npm: How 1.14.1 and 0.30.4 Dropped a Cross-Platform RAT",
      "summary": "Axios was compromised on npm on March 31, 2026: versions 1.14.1 and 0.30.4 dropped a cross-platform RAT. Verified timeline, impact, IOCs, and recovery.",
      "date_published": "2026-03-31T00:00:00.000Z",
      "date_modified": "2026-03-31T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Axios",
        "npm",
        "Security",
        "Supply Chain Security",
        "DevSecOps",
        "JavaScript",
        "Node.js",
        "Open Source Security",
        "Malware"
      ],
      "image": "https://umesh-malik.com/blog/axios-compromised-npm-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/nvidia-openclaw-strategy-ai-agent-plan",
      "url": "https://umesh-malik.com/blog/nvidia-openclaw-strategy-ai-agent-plan",
      "title": "Nvidia OpenClaw Explained: What It Means for Your AI Agent Strategy (GTC 2026)",
      "summary": "At GTC 2026, Jensen Huang said every company needs an OpenClaw strategy. Here is what it means and what U.S. teams should do next.",
      "date_published": "2026-03-17T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "NVIDIA",
        "OpenClaw",
        "NemoClaw",
        "AI Agents",
        "Enterprise AI",
        "GTC",
        "Agentic AI"
      ],
      "image": "https://umesh-malik.com/blog/nvidia-openclaw-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/chatgpt-adult-mode-delay-guide",
      "url": "https://umesh-malik.com/blog/chatgpt-adult-mode-delay-guide",
      "title": "ChatGPT Adult Mode: Is It Live Yet? (Status Explained)",
      "summary": "ChatGPT adult mode is still delayed — OpenAI's official status, what the feature would allow, why it was pushed back, and answers for parents.",
      "date_published": "2026-03-16T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "Online Safety",
        "Privacy",
        "Parents",
        "Consumer Tech",
        "AI Policy"
      ],
      "image": "https://umesh-malik.com/blog/chatgpt-adult-mode-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/chatgpt-interactive-math-science-visuals-guide",
      "url": "https://umesh-malik.com/blog/chatgpt-interactive-math-science-visuals-guide",
      "title": "ChatGPT Now Teaches Math and Science With Interactive Visuals — What You Need to Know",
      "summary": "OpenAI launched interactive math and science visuals in ChatGPT (March 2026). How the learning modules work, who gets access, and why students benefit.",
      "date_published": "2026-03-12T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "Education",
        "EdTech",
        "Math",
        "Science",
        "Students"
      ],
      "image": "https://umesh-malik.com/blog/chatgpt-learning-visuals-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/anthropic-code-review-claude-code-guide",
      "url": "https://umesh-malik.com/blog/anthropic-code-review-claude-code-guide",
      "title": "Claude Code Review: How It Works, Pricing & Setup",
      "summary": "Anthropic's Claude Code Review runs multi-agent PR reviews for $15-$25 each. How it works, pricing, REVIEW.md setup, and where it beats linters.",
      "date_published": "2026-03-10T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Anthropic",
        "Claude Code",
        "Code Review",
        "AI Agents",
        "Developer Productivity",
        "GitHub",
        "Pull Requests",
        "AI Coding Tools"
      ],
      "image": "https://umesh-malik.com/blog/anthropic-code-review-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/agentic-ai-enterprise-security-model",
      "url": "https://umesh-malik.com/blog/agentic-ai-enterprise-security-model",
      "title": "Agentic AI Is Changing the Security Model for Enterprise Systems: What CISOs Need to Fix Now",
      "summary": "Agentic AI breaks static enterprise security models. How to fix identity, delegated authority, prompt injection defense, and tool-level policy in 2026.",
      "date_published": "2026-03-09T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Agentic AI",
        "Security",
        "Enterprise Security",
        "AI Agents",
        "NIST",
        "Prompt Injection"
      ],
      "image": "https://umesh-malik.com/blog/agentic-ai-enterprise-security-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/openai-gpt-5-4-complete-guide",
      "url": "https://umesh-malik.com/blog/openai-gpt-5-4-complete-guide",
      "title": "GPT-5.4 Guide: Benchmarks, Pricing, API & GPT-5.4 Pro",
      "summary": "GPT-5.4 benchmarks, pricing, and API limits, compared to GPT-5.4 Pro and GPT-5.3-Codex — the complete developer guide with real numbers.",
      "date_published": "2026-03-06T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "GPT-5.4",
        "API",
        "AI Agents",
        "LLMs",
        "Machine Learning"
      ],
      "image": "https://umesh-malik.com/blog/gpt-5-4-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/openai-gpt-5-3-instant-fewer-refusals-better-answers",
      "url": "https://umesh-malik.com/blog/openai-gpt-5-3-instant-fewer-refusals-better-answers",
      "title": "OpenAI GPT-5.3 Instant: 26.8% Fewer Hallucinations, Reduced Refusals, and Better Web Answers",
      "summary": "GPT-5.3 Instant brings 26.8% fewer hallucinations, fewer needless refusals, and better web-sourced answers — what changed and why it matters for devs.",
      "date_published": "2026-03-04T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "OpenAI",
        "ChatGPT",
        "GPT-5",
        "LLMs",
        "API",
        "Machine Learning"
      ],
      "image": "https://umesh-malik.com/blog/gpt-5-3-instant-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/deepseek-v4-release-challenge-us-ai-rivals",
      "url": "https://umesh-malik.com/blog/deepseek-v4-release-challenge-us-ai-rivals",
      "title": "DeepSeek V4 vs US AI Models: Benchmarks, Architecture, and What It Means for the Industry",
      "summary": "DeepSeek V4 is expected in early March 2026. Here is what is confirmed, what remains unverified, and how it challenges U.S. AI rivals.",
      "date_published": "2026-03-01T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "DeepSeek",
        "China",
        "NVIDIA",
        "Huawei",
        "Open Source",
        "Geopolitics",
        "LLMs"
      ],
      "image": "https://umesh-malik.com/blog/deepseek-v4-release-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/rag-vs-fine-tuning-llms-2026",
      "url": "https://umesh-malik.com/blog/rag-vs-fine-tuning-llms-2026",
      "title": "RAG vs Fine-Tuning for LLMs in 2026: A Production Decision Framework With Real Tradeoffs",
      "summary": "RAG vs fine-tuning for LLMs in 2026: a practical decision framework covering architecture tradeoffs, cost, latency, and when to use each in production.",
      "date_published": "2026-02-28T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "RAG",
        "Fine-Tuning",
        "LLM Engineering",
        "AI Architecture",
        "GenAI 2026"
      ],
      "image": "https://umesh-malik.com/blog/rag-vs-fine-tuning-llms-2026-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/figma-codex-react-2026",
      "url": "https://umesh-malik.com/blog/figma-codex-react-2026",
      "title": "Figma to React With OpenAI Codex: Step-by-Step 2026 Guide With Production-Ready Examples",
      "summary": "A complete 2026 guide to converting Figma designs into production-ready React with OpenAI Codex: setup, prompts, component structure, and real examples.",
      "date_published": "2026-02-27T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "OpenAI Codex",
        "Figma to React",
        "AI UI Development",
        "React Architecture",
        "Frontend Performance",
        "Design to Code 2026"
      ],
      "image": "https://umesh-malik.com/blog/figma-codex-react-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/cloudflare-vinext-next-js-vite-revolution",
      "url": "https://umesh-malik.com/blog/cloudflare-vinext-next-js-vite-revolution",
      "title": "Cloudflare viNext: The $1,100 Next.js-on-Vite Rebuild",
      "summary": "Cloudflare's viNext rebuilt Next.js on Vite in 7 days for $1,100: 4.4x faster builds, 57% smaller bundles, already powering CIO.gov in production.",
      "date_published": "2026-02-25T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "React",
        "Next.js",
        "Vite",
        "Performance",
        "AI",
        "Cloudflare",
        "Build Tools",
        "Developer Tools",
        "AI Engineering"
      ],
      "image": "https://umesh-malik.com/blog/cloudflare-vinext-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/anthropic-detecting-preventing-distillation-attacks",
      "url": "https://umesh-malik.com/blog/anthropic-detecting-preventing-distillation-attacks",
      "title": "The $100M AI Heist: DeepSeek's Model Distillation Attack",
      "summary": "Anthropic exposes industrial-scale AI model theft by DeepSeek, Moonshot, and MiniMax: 16 million exchanges, 24,000 fake accounts. The forensic breakdown.",
      "date_published": "2026-02-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Security",
        "Machine Learning",
        "AI Safety",
        "National Security",
        "DeepSeek"
      ],
      "image": "https://umesh-malik.com/blog/distillation-attacks-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/local-llm-coding-revolution-qwen3-coder-desktop",
      "url": "https://umesh-malik.com/blog/local-llm-coding-revolution-qwen3-coder-desktop",
      "title": "Run an 80B-Parameter LLM on Your Desktop With Zero Cloud Bills: Qwen3-Coder Deep Dive",
      "summary": "Qwen3-Coder runs 80B parameters on a desktop with only 3B active per token — and plugs into Claude Code. Why the cloud-only era of AI coding is ending.",
      "date_published": "2026-02-22T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Developer Experience",
        "Open Source",
        "Tools",
        "Performance",
        "Productivity"
      ],
      "image": "https://umesh-malik.com/blog/local-llm-coding-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/spec-driven-development-ai-agents-addy-osmani",
      "url": "https://umesh-malik.com/blog/spec-driven-development-ai-agents-addy-osmani",
      "title": "Spec-Driven Development for AI Agents: The $300K Bug That Was Never the AI's Fault (Addy Osmani)",
      "summary": "Why AI coding agent prompts fail and how to fix them — Addy Osmani's 5-principle spec framework, backed by GitHub's 2,500-config analysis.",
      "date_published": "2026-02-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Developer Experience",
        "Productivity",
        "Tools",
        "Software Engineering"
      ],
      "image": "https://umesh-malik.com/blog/spec-driven-dev-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/nodejs-memory-cut-in-half-pointer-compression",
      "url": "https://umesh-malik.com/blog/nodejs-memory-cut-in-half-pointer-compression",
      "title": "Node.js Pointer Compression: Cut Heap Memory ~50%",
      "summary": "V8 pointer compression finally lands in Node.js: one Docker image swap cuts heap memory ~50%, improves P99 latency, and can save $80K–$300K a year.",
      "date_published": "2026-02-18T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Node.js",
        "JavaScript",
        "Performance",
        "V8",
        "DevOps",
        "Cloud Computing"
      ],
      "image": "https://umesh-malik.com/blog/nodejs-memory-cut-in-half-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/agents-md-ai-coding-agents-study",
      "url": "https://umesh-malik.com/blog/agents-md-ai-coding-agents-study",
      "title": "AGENTS.md Files Don't Work the Way You Think — A 138-Repo Study Proves It",
      "summary": "A 138-repo study: AGENTS.md files hurt performance by 2-3% and raised costs 20%+. What the research found — and what actually works instead.",
      "date_published": "2026-02-17T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Developer Experience",
        "Open Source",
        "Productivity",
        "Tools"
      ],
      "image": "https://umesh-malik.com/blog/agents-md-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/docker-swarm-vs-kubernetes-166-dollar-reality-check",
      "url": "https://umesh-malik.com/blog/docker-swarm-vs-kubernetes-166-dollar-reality-check",
      "title": "Docker Swarm vs Kubernetes: $166/yr Beats a $200K Cluster",
      "summary": "Docker Swarm runs a live two-continent SaaS for $166/year with zero crashes in 10 years — while the average Kubernetes cluster wastes 87% of its CPU.",
      "date_published": "2026-02-17T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Docker",
        "Kubernetes",
        "DevOps",
        "Cloud Computing",
        "Infrastructure",
        "Cost Optimization"
      ],
      "image": "https://umesh-malik.com/blog/docker-swarm-vs-k8s-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/seedance-2-hollywood-ai-copyright-crisis",
      "url": "https://umesh-malik.com/blog/seedance-2-hollywood-ai-copyright-crisis",
      "title": "Seedance 2.0: The Two-Line Prompt That Broke Hollywood",
      "summary": "ByteDance's Seedance 2.0 made a photorealistic Tom Cruise vs Brad Pitt fight from a two-line prompt — igniting Disney, Paramount, and SAG-AFTRA backlash.",
      "date_published": "2026-02-16T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Hollywood",
        "Copyright",
        "ByteDance",
        "Deepfakes",
        "AI Ethics"
      ],
      "image": "https://umesh-malik.com/blog/seedance-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/ai-agent-attacks-developer-matplotlib-open-source",
      "url": "https://umesh-malik.com/blog/ai-agent-attacks-developer-matplotlib-open-source",
      "title": "AI Agent Attacks Developer After Matplotlib PR Rejection — Full Story",
      "summary": "The first documented AI agent attack on an open-source maintainer: rejected on a matplotlib PR, the bot published a hit piece. Full story and lessons.",
      "date_published": "2026-02-15T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "AI",
        "Open Source",
        "Software Engineering",
        "Python",
        "AI Ethics",
        "GitHub"
      ],
      "image": "https://umesh-malik.com/blog/ai-agent-matplotlib-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/nodejs-backend-for-frontend-developers",
      "url": "https://umesh-malik.com/blog/nodejs-backend-for-frontend-developers",
      "title": "Node.js Backend for Frontend Developers: Express, REST APIs, Auth, and Deployment (Step-by-Step)",
      "summary": "A frontend developer's guide to building backends with Node.js: Express, REST APIs, middleware, databases, auth, and deployment — plus the mindset shift.",
      "date_published": "2026-02-10T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Node.js",
        "Backend",
        "JavaScript",
        "TypeScript",
        "API"
      ],
      "image": "https://umesh-malik.com/blog/nodejs-backend-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/frontend-career-growth-junior-to-senior",
      "url": "https://umesh-malik.com/blog/frontend-career-growth-junior-to-senior",
      "title": "What Actually Gets You From Junior to Senior Frontend Engineer (Lessons From the Real Path)",
      "summary": "From Associate Engineer to SDE-2: what actually drives frontend career growth — technical skills, soft skills, and the things nobody tells you.",
      "date_published": "2026-01-08T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Career",
        "Frontend",
        "Software Engineering",
        "Growth"
      ],
      "image": "https://umesh-malik.com/blog/frontend-career-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/core-web-vitals-optimization-guide",
      "url": "https://umesh-malik.com/blog/core-web-vitals-optimization-guide",
      "title": "How to Fix Core Web Vitals: LCP, INP & CLS (2026)",
      "summary": "A hands-on guide to optimizing Core Web Vitals (LCP, INP, CLS). Covers measurement, diagnosis, and specific fixes with before/after examples from real projects.",
      "date_published": "2025-11-12T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Performance",
        "Core Web Vitals",
        "SEO",
        "Frontend"
      ],
      "image": "https://umesh-malik.com/blog/core-web-vitals-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/developer-productivity-tools-senior-engineers",
      "url": "https://umesh-malik.com/blog/developer-productivity-tools-senior-engineers",
      "title": "Developer Productivity Tools for Senior Engineers: My 2026 Stack (Editor, Terminal, AI Tools)",
      "summary": "The tools and workflows that keep me productive as a senior engineer: editor setup (Cursor + Claude Code), terminal, code review habits, and focus systems.",
      "date_published": "2025-09-05T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Productivity",
        "Tools",
        "Developer Experience",
        "Workflow"
      ],
      "image": "https://umesh-malik.com/blog/dev-productivity-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/frontend-testing-strategies-2025",
      "url": "https://umesh-malik.com/blog/frontend-testing-strategies-2025",
      "title": "Frontend Testing Strategies That Actually Work in 2026",
      "summary": "A pragmatic guide to frontend testing in 2025: component tests, integration, E2E strategies, and the patterns that give the most confidence per line.",
      "date_published": "2025-07-10T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "Testing",
        "React",
        "TypeScript",
        "Frontend",
        "Vitest"
      ],
      "image": "https://umesh-malik.com/blog/frontend-testing-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/tailwindcss-v4-migration-guide",
      "url": "https://umesh-malik.com/blog/tailwindcss-v4-migration-guide",
      "title": "TailwindCSS v4 Migration Guide: Breaking Changes & the @theme Config",
      "summary": "TailwindCSS v4 migration, done right: every breaking change, the new CSS-first @theme config that replaces tailwind.config.js, and a step-by-step upgrade path.",
      "date_published": "2025-05-20T00:00:00.000Z",
      "date_modified": "2026-07-21T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "TailwindCSS",
        "CSS",
        "Frontend",
        "Migration"
      ],
      "image": "https://umesh-malik.com/blog/tailwindcss-v4-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/javascript-es2024-features-you-should-know",
      "url": "https://umesh-malik.com/blog/javascript-es2024-features-you-should-know",
      "title": "JavaScript ES2024: The Features You'll Actually Use",
      "summary": "The most impactful ES2024 features: Array grouping, Promise.withResolvers, well-formed Unicode strings, and the RegExp v flag — with practical examples.",
      "date_published": "2025-03-15T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "JavaScript",
        "ES2024",
        "ECMAScript",
        "Frontend"
      ],
      "image": "https://umesh-malik.com/blog/javascript-es2024-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/typescript-utility-types-complete-guide",
      "url": "https://umesh-malik.com/blog/typescript-utility-types-complete-guide",
      "title": "TypeScript Utility Types: Complete Guide to Partial, Required, Pick, Omit, Record, and More (2026)",
      "summary": "TypeScript utility types explained: Partial, Pick, Omit, Record, Exclude, ReturnType and more — with real examples, a cheat sheet, and common pitfalls.",
      "date_published": "2024-12-15T00:00:00.000Z",
      "date_modified": "2026-07-20T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "TypeScript",
        "JavaScript",
        "Frontend",
        "Type Safety"
      ],
      "image": "https://umesh-malik.com/blog/typescript-utility-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/react-performance-optimization-techniques",
      "url": "https://umesh-malik.com/blog/react-performance-optimization-techniques",
      "title": "React Performance Optimization: 10 Proven Techniques",
      "summary": "10 battle-tested React performance techniques — memoization, code splitting, virtualization, and more — drawn from real enterprise applications.",
      "date_published": "2024-11-20T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "React",
        "Performance",
        "JavaScript",
        "Frontend"
      ],
      "image": "https://umesh-malik.com/blog/react-performance-cover.png"
    },
    {
      "id": "https://umesh-malik.com/blog/sveltekit-vs-nextjs-comparison",
      "url": "https://umesh-malik.com/blog/sveltekit-vs-nextjs-comparison",
      "title": "SvelteKit vs Next.js 2026: Which Should You Choose?",
      "summary": "An in-depth comparison of SvelteKit and Next.js covering performance, DX, routing, data fetching, and deployment. Based on real experience building with both.",
      "date_published": "2024-10-10T00:00:00.000Z",
      "authors": [
        {
          "name": "Umesh Malik"
        }
      ],
      "tags": [
        "SvelteKit",
        "Next.js",
        "React",
        "JavaScript",
        "Frontend"
      ],
      "image": "https://umesh-malik.com/blog/sveltekit-vs-nextjs-cover.png"
    }
  ]
}