{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Vivek Chopra",
  "home_page_url": "https://www.vivekchopra.com/",
  "feed_url": "https://www.vivekchopra.com/altdown.json",
  "description": "Notes on AI-native platforms, regulated markets, scaling engineering orgs, and operational reliability.",
  "language": "en",
  "_altdown": {
    "version": 1
  },
  "items": [
    {
      "id": "https://www.vivekchopra.com/",
      "url": "https://www.vivekchopra.com/",
      "title": "Thinking in public on intelligence, scale, and the hard parts.",
      "date_modified": "2026-10-31T00:00:00Z",
      "summary": "Notes on AI-native platforms, regulated markets, scaling engineering orgs, and operational reliability.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/index.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 3724,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/altdown",
      "url": "https://www.vivekchopra.com/posts/altdown",
      "title": "Altdown: RSS for agents*",
      "date_published": "2026-10-31T00:00:00Z",
      "date_modified": "2026-10-31T00:00:00Z",
      "summary": "Reader mode for agents, made by the publisher. A Markdown copy of each page, next to the HTML.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/altdown.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 5254,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/plan-before-you-prompt",
      "url": "https://www.vivekchopra.com/posts/plan-before-you-prompt",
      "title": "Plan before you prompt",
      "date_published": "2026-10-03T00:00:00Z",
      "date_modified": "2026-10-03T00:00:00Z",
      "summary": "How to steer coding agents with four small documents (architecture, ADR, plan, tasks) so your team makes the design decisions instead of the agent.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/plan-before-you-prompt.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 17424,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/ai-generated-code-guardrails",
      "url": "https://www.vivekchopra.com/posts/ai-generated-code-guardrails",
      "title": "Guardrails for AI-generated code",
      "date_published": "2026-05-17T00:00:00Z",
      "date_modified": "2026-05-17T00:00:00Z",
      "summary": "A four-layer guardrails model for AI-generated code: scope and authority, structural checks, behavioral tests, and human verification. Plus notes on a shrinking architectural half-life.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/ai-generated-code-guardrails.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 19159,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/death-to-scrum",
      "url": "https://www.vivekchopra.com/posts/death-to-scrum",
      "title": "Death to Scrum?",
      "date_published": "2026-05-07T00:00:00Z",
      "date_modified": "2026-05-07T00:00:00Z",
      "summary": "If the process of software development is changing this dramatically, what happens to Scrum?",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/death-to-scrum.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 15378,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/new-sdlc",
      "url": "https://www.vivekchopra.com/posts/new-sdlc",
      "title": "The New SDLC",
      "date_published": "2026-04-26T00:00:00Z",
      "date_modified": "2026-04-26T00:00:00Z",
      "summary": "How AI tools are changing software development. The SDLC does not go away — what changes is the speed of iteration, the shape of the work, and the boundaries between roles.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/new-sdlc.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 18479,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/llm-appsec",
      "url": "https://www.vivekchopra.com/posts/llm-appsec",
      "title": "From Reading Changelogs to Finding Zero-Days: LLMs and the Future of AppSec",
      "date_published": "2026-04-07T00:00:00Z",
      "date_modified": "2026-04-07T00:00:00Z",
      "summary": "LLMs went from reading about bugs to finding them. Then from finding them to exploiting them. The trajectory from BSides SF 2025 to Project Glasswing.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/llm-appsec.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 9675,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/spec-driven-development",
      "url": "https://www.vivekchopra.com/posts/spec-driven-development",
      "title": "Spec First, Then Code",
      "date_published": "2026-04-05T00:00:00Z",
      "date_modified": "2026-04-05T00:00:00Z",
      "summary": "LLMs have no context. You have to give it to them. On AGENTS.md, spec-driven development, and screenshots as a way to communicate precisely.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/spec-driven-development.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 8522,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/ai-coding-changed",
      "url": "https://www.vivekchopra.com/posts/ai-coding-changed",
      "title": "Something Has Changed With AI Coding",
      "date_published": "2026-03-03T00:00:00Z",
      "date_modified": "2026-03-03T00:00:00Z",
      "summary": "My view on AI coding tools has shifted. On spec-driven development and what Claude Opus 4.6 actually feels like to use.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/ai-coding-changed.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 2159,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/ai-agent-auth",
      "url": "https://www.vivekchopra.com/posts/ai-agent-auth",
      "title": "OAuth Is Not Enough: Authorization Challenges for Autonomous AI Agents",
      "date_published": "2025-06-10T00:00:00Z",
      "date_modified": "2025-06-10T00:00:00Z",
      "summary": "OAuth gives us delegated access, but by itself it can't ensure that autonomous agents stay inside the guardrails. A look at the gaps and a proposed layered mitigation strategy.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/ai-agent-auth.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 3017,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/managing-by-metrics",
      "url": "https://www.vivekchopra.com/posts/managing-by-metrics",
      "title": "Managing by Metrics",
      "date_published": "2024-10-07T00:00:00Z",
      "date_modified": "2024-10-07T00:00:00Z",
      "summary": "How to select, use, and think about engineering metrics. The difference between good metrics and the ones that just make you feel good.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/managing-by-metrics.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 9259,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/engineering-culture",
      "url": "https://www.vivekchopra.com/posts/engineering-culture",
      "title": "Engineering Culture and Principles",
      "date_published": "2024-04-12T00:00:00Z",
      "date_modified": "2024-04-12T00:00:00Z",
      "summary": "A document I wrote for my engineering team defining how we operate, what we value, and how we build the culture we are trying to create.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/engineering-culture.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 5446,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/giving-negative-feedback",
      "url": "https://www.vivekchopra.com/posts/giving-negative-feedback",
      "title": "Giving Negative Feedback",
      "date_published": "2018-08-08T00:00:00Z",
      "date_modified": "2018-08-08T00:00:00Z",
      "summary": "Most managers either delay negative feedback or soften it into uselessness. A practical framework for making it actually work.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/giving-negative-feedback.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 3182,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/parsing-text-files-shell",
      "url": "https://www.vivekchopra.com/posts/parsing-text-files-shell",
      "title": "Parsing Text Files in Shell",
      "date_published": "2015-07-25T00:00:00Z",
      "date_modified": "2015-07-25T00:00:00Z",
      "summary": "A cleaner way to parse delimited files in bash using IFS, and the gotchas that come with it.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/parsing-text-files-shell.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 3122,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    },
    {
      "id": "https://www.vivekchopra.com/posts/nine-years-of-scrum",
      "url": "https://www.vivekchopra.com/posts/nine-years-of-scrum",
      "title": "9 Years of Scrum, and All I Got Is a Lousy T-shirt (Sizing)",
      "date_published": "2015-06-01T00:00:00Z",
      "date_modified": "2015-06-01T00:00:00Z",
      "summary": "Lessons learned from nine years of scrum, with varying degrees of rigor.",
      "attachments": [
        {
          "url": "https://www.vivekchopra.com/posts/nine-years-of-scrum.md",
          "mime_type": "text/markdown",
          "size_in_bytes": 6090,
          "_altdown": {
            "signals": "search=yes, ai-input=yes, ai-train=no"
          }
        }
      ]
    }
  ]
}
