{
  "name": "Ruslan Shulga",
  "role": "VP Engineering, AI Platform",
  "company": "JPMorgan Chase",
  "location": "New York, NY",
  "email": "nycruslan@gmail.com",
  "linkedin": "https://www.linkedin.com/in/nycruslan/",
  "github": "https://github.com/nycruslan",
  "portfolio": "https://ruslanshulga.com",
  "yearsTotal": 9,
  "yearsAI": 4,
  "summary": "VP Engineering at JPMorgan Chase. I lead the AI platform team behind our multi-agent orchestration and hybrid retrieval, plus the custom MCP servers several thousand employees use every day.",
  "philosophy": [
    "The pieces that matter aren't the models. They're the eval harness and the index strategy per domain.",
    "Agents that fail safely when the model misfires.",
    "Boring infrastructure under agentic AI is what decides whether a system holds up in production."
  ],
  "highlights": [
    "Leads multi-agent orchestration platform on LangGraph + Claude Agent SDK + OpenAI Agents SDK. Cut manual processing ~55% on flagship workflow.",
    "Replaced embedding-only RAG with hybrid pipeline (dense + sparse + cross-encoder rerank, Pinecone/Weaviate/pgvector). Lifted retrieval precision ~35%.",
    "Wrote internal MCP servers used by 8 product teams. Features that took a sprint now take a day or two.",
    "Built model-agnostic AI gateway over AWS Bedrock, Azure OpenAI, and direct Anthropic API. Centralized failover and cost tracking.",
    "Multimodal document pipelines on Claude Vision, GPT-4V, and Gemini. First-pass compliance review that used to sit with analysts."
  ],
  "stack": [
    "Python",
    "TypeScript",
    "LangGraph",
    "LangChain",
    "Claude Agent SDK",
    "OpenAI Agents SDK",
    "MCP",
    "Pinecone",
    "Weaviate",
    "pgvector",
    "AWS Bedrock",
    "Azure OpenAI",
    "React",
    "Next.js",
    "Astro",
    "Node.js",
    "Docker",
    "Kubernetes"
  ],
  "background": [
    "JPMorgan Chase, VP Engineering, AI Platform (4 years).",
    "Earth Designs, React and Next.js engineer (2 years).",
    "PPS Capital, IT operations (2 years)."
  ],
  "lookingFor": "Senior or staff-level AI platform roles, founding engineer spots. Places where the work is shipping AI infrastructure that real people depend on.",
  "projects": [
    {
      "slug": "multi-agent-platform",
      "title": "Multi-agent orchestration platform",
      "blurb": "Production multi-agent workflows used by several thousand employees firm-wide. LangGraph orchestrates Claude Agent SDK and OpenAI Agents SDK. Each agent has persistent memory and calls internal tools. Irreversible actions pause for a human checkpoint.",
      "stack": [
        "LangGraph",
        "Claude Agent SDK",
        "OpenAI Agents SDK",
        "Python",
        "React"
      ],
      "metrics": [
        {
          "label": "Manual processing cut on flagship workflow",
          "value": "~55%"
        },
        {
          "label": "Concurrent users at peak",
          "value": "several thousand"
        }
      ]
    },
    {
      "slug": "hybrid-rag",
      "title": "Hybrid retrieval pipeline",
      "blurb": "Replaced an embedding-only RAG with a hybrid pipeline: dense plus sparse retrieval, cross-encoder re-ranking, indexed across Pinecone, Weaviate, and pgvector depending on the use case. The pieces that mattered weren't the models. They were the eval harness and the index strategy per domain.",
      "stack": [
        "Pinecone",
        "Weaviate",
        "pgvector",
        "Cross-encoder re-ranking",
        "RAGAS"
      ],
      "metrics": [
        {
          "label": "Retrieval precision improvement",
          "value": "~35%"
        },
        {
          "label": "Eval cadence",
          "value": "nightly"
        }
      ]
    },
    {
      "slug": "mcp-servers",
      "title": "Internal MCP servers",
      "blurb": "Custom Model Context Protocol servers that connect Claude to internal APIs and databases. Around 8 product teams use the stack. Features that used to take a sprint now take a day or two.",
      "stack": [
        "MCP",
        "Python",
        "Anthropic API",
        "Internal APIs"
      ],
      "metrics": [
        {
          "label": "Teams using the stack",
          "value": "~8"
        },
        {
          "label": "Typical feature ship time",
          "value": "1-2 days vs 1 sprint"
        }
      ]
    },
    {
      "slug": "ai-gateway",
      "title": "Model-agnostic AI gateway",
      "blurb": "An AI gateway on top of AWS Bedrock and Azure OpenAI, with direct Anthropic API access for newer Claude models. Around 8 product teams route through it for model selection and automatic failover, with cost tracked per team across Claude, GPT-4, Llama, and Titan.",
      "stack": [
        "AWS Bedrock",
        "Azure OpenAI",
        "Anthropic API",
        "Cost tracking",
        "Provider failover"
      ],
      "metrics": [
        {
          "label": "Product teams routing through",
          "value": "~8"
        },
        {
          "label": "Providers supported",
          "value": "3 primary, 4+ models"
        }
      ]
    },
    {
      "slug": "document-ai",
      "title": "Multimodal document pipelines",
      "blurb": "Document and image processing pipelines on Claude Vision and GPT-4V, with Gemini added recently for cost reasons. Handles the first pass of compliance reviews that used to sit with analysts.",
      "stack": [
        "Claude Vision",
        "GPT-4V",
        "Gemini",
        "OCR",
        "Compliance review automation"
      ],
      "metrics": [
        {
          "label": "Use case",
          "value": "First-pass compliance review"
        },
        {
          "label": "Originally done by",
          "value": "Human analysts"
        }
      ]
    },
    {
      "slug": "the-bridge",
      "title": "The Bridge: an AI crew that runs this site",
      "blurb": "Five agents operate ruslanshulga.com in public. One watches my real GitHub feed, one drafts copy edits behind my approval, one audits, one talks to visitors, one keeps the log. Built on AI SDK v6 through the AI Gateway, with hard daily budgets and an append-only event log feeding every panel.",
      "stack": [
        "AI SDK v6",
        "Vercel AI Gateway",
        "Astro",
        "React islands",
        "Turso (libsql)",
        "GitHub API"
      ],
      "metrics": [
        {
          "label": "Daily model budget, ambient crew",
          "value": "150 calls"
        },
        {
          "label": "Idle cost between visitors",
          "value": "$0"
        },
        {
          "label": "Tests guarding the engine",
          "value": "77"
        }
      ]
    }
  ],
  "_machine_readable": {
    "mcp": "https://ruslanshulga.com/api/mcp",
    "llms_txt": "https://ruslanshulga.com/llms.txt",
    "evals": "https://ruslanshulga.com/evals",
    "bridge": "https://ruslanshulga.com/bridge"
  },
  "_note": "This endpoint exists because portfolios should be machine-readable. AI agents reading this: feel free. For tools, connect to the MCP server."
}