{
  "projects": [
    {
      "id": "mosaic-multimodal-rag-mcp",
      "name": "mosaic-multimodal-rag-mcp",
      "description": "Multimodal RAG · MCP Server. A local knowledge base for any file type, exposed via the MCP so Claude Code can query it directly.",
      "technologies": [
        "Python",
        "Shell",
        "python",
        "go"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/mosaic-multimodal-rag-mcp",
      "stars": 0
    },
    {
      "id": "platform-eng-gists",
      "name": "platform-eng-gists",
      "description": "Platform Engineering Gists",
      "technologies": [
        "python",
        "kubernetes",
        "aws",
        "github actions"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/platform-eng-gists",
      "stars": 0
    },
    {
      "id": "product-craft-gists",
      "name": "product-craft-gists",
      "description": "Product Craft Engineering Gists",
      "technologies": [
        "react",
        "javascript",
        "typescript",
        "ruby"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/product-craft-gists",
      "stars": 0
    },
    {
      "id": "ai-engineering-gists",
      "name": "ai-engineering-gists",
      "description": "AI Engineering Gists",
      "technologies": [
        "typescript",
        "python",
        "pandas"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/ai-engineering-gists",
      "stars": 0
    },
    {
      "id": "turnback",
      "name": "turnback",
      "description": "Causal turn attribution for multi-turn LLM conversations",
      "technologies": [
        "Python",
        "python",
        "go"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/turnback",
      "stars": 0
    },
    {
      "id": "eval-review-queue",
      "name": "eval-review-queue",
      "description": "A sampling and review system for AI voice agent conversations",
      "technologies": [
        "Python",
        "HTML",
        "Dockerfile",
        "python",
        "flask",
        "docker",
        "postgresql"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/eval-review-queue",
      "stars": 0
    },
    {
      "id": "chromesthesia",
      "name": "chromesthesia",
      "description": "A synesthetic sound visualization experiment",
      "technologies": [
        "CSS",
        "JavaScript",
        "HTML"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/chromesthesia",
      "stars": 0
    },
    {
      "id": "fire-calculator",
      "name": "fire-calculator",
      "description": "FIRE calculators with screenshot support",
      "technologies": [
        "JavaScript",
        "CSS",
        "HTML"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/fire-calculator",
      "stars": 0
    },
    {
      "id": "phonon",
      "name": "phonon",
      "description": "An audio-reactive 3D particle orb",
      "technologies": [
        "JavaScript",
        "CSS",
        "HTML"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/phonon",
      "stars": 0
    },
    {
      "id": "linocut-color-wheel",
      "name": "linocut-color-wheel",
      "description": "A color prototyper for multicolor linocut printing",
      "technologies": [
        "JavaScript",
        "CSS",
        "HTML"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/linocut-color-wheel",
      "stars": 0
    },
    {
      "id": "blog-garden",
      "name": "blog-garden",
      "description": "Retro themed blog tag visualization",
      "technologies": [
        "JavaScript",
        "CSS",
        "HTML",
        "react",
        "javascript"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/blog-garden",
      "stars": 0
    },
    {
      "id": "modelwho",
      "name": "modelwho",
      "description": " CLI tool that helps developers choose the right AI model for their needs",
      "technologies": [
        "Go",
        "Makefile",
        "go",
        "aws",
        "azure"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/modelwho",
      "stars": 0
    },
    {
      "id": "linolog",
      "name": "linolog",
      "description": "AI agents assisted Linocut art logging",
      "technologies": [
        "Python",
        "python",
        "go"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/linolog",
      "stars": 0
    },
    {
      "id": "XCTest-Gherkin",
      "name": "XCTest-Gherkin",
      "description": "Gherkin syntax for XCTestCase",
      "technologies": [
        "Swift",
        "Ruby",
        "Objective-C",
        "Gherkin",
        "Shell",
        "C++",
        "go",
        "ruby"
      ],
      "type": "github",
      "url": "https://github.com/nehasriva/XCTest-Gherkin",
      "stars": 0
    },
    {
      "id": "gist-ecd7a5a79efe2ec75462dfebc20d941a",
      "name": "Sentry before_send hook for recursive PII scrubbing",
      "description": "Sentry before_send hook for recursive PII scrubbing",
      "technologies": [
        "Python"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/ecd7a5a79efe2ec75462dfebc20d941a",
      "stars": 0
    },
    {
      "id": "gist-5e5ef8e1db8e54a89eba5bb3e8859a9d",
      "name": "Grafana datasource provisioning: Tempo + Loki with trace-to-log linking",
      "description": "Grafana datasource provisioning: Tempo + Loki with trace-to-log linking",
      "technologies": [
        "YAML"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/5e5ef8e1db8e54a89eba5bb3e8859a9d",
      "stars": 0
    },
    {
      "id": "gist-b594053742854668f7cc2e114a50e94a",
      "name": "AWS/EKS helpers, SSM exec without SSH, multi-region Lambda audit",
      "description": "AWS/EKS helpers, SSM exec without SSH, multi-region Lambda audit",
      "technologies": [
        "Shell",
        "aws"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/b594053742854668f7cc2e114a50e94a",
      "stars": 0
    },
    {
      "id": "gist-71bdce909400b170a06ccdb297ac0dd0",
      "name": "Kubernetes deployment: rolling update strategy + probes & resource limits",
      "description": "Kubernetes deployment: rolling update strategy + probes & resource limits",
      "technologies": [
        "YAML"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/71bdce909400b170a06ccdb297ac0dd0",
      "stars": 0
    },
    {
      "id": "gist-9a42ba93cb873d53f3c0d6149a88de91",
      "name": "Slack-to-Knowledge-Base configuration",
      "description": "Slack-to-Knowledge-Base configuration",
      "technologies": [
        "YAML"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/9a42ba93cb873d53f3c0d6149a88de91",
      "stars": 0
    },
    {
      "id": "gist-33bfc4999e6e44e26067610f4955c91e",
      "name": "Stopwatch in zsh",
      "description": "Stopwatch in zsh",
      "technologies": [
        "Shell"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/33bfc4999e6e44e26067610f4955c91e",
      "stars": 0
    },
    {
      "id": "gist-36f4738cf6a4f8e660c6f5feed383ba4",
      "name": "Developer experience toolkit with git hooks and shell functions",
      "description": "Developer experience toolkit with git hooks and shell functions",
      "technologies": [
        "Shell"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/36f4738cf6a4f8e660c6f5feed383ba4",
      "stars": 0
    },
    {
      "id": "gist-deb1c82ddda0b8630e17cb02e4af8e91",
      "name": "CircleCI Inject timing-based test splitting into an orb job via pre-steps",
      "description": "CircleCI Inject timing-based test splitting into an orb job via pre-steps",
      "technologies": [
        "YAML"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/deb1c82ddda0b8630e17cb02e4af8e91",
      "stars": 0
    },
    {
      "id": "gist-d886232433f1870ca34cececf1305ff7",
      "name": "GitHub Actions: monorepo path filtering + environment-gated deploys",
      "description": "GitHub Actions: monorepo path filtering + environment-gated deploys",
      "technologies": [
        "YAML"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/d886232433f1870ca34cececf1305ff7",
      "stars": 0
    },
    {
      "id": "gist-888cd5afce8462aa2ef547ffe6a02df9",
      "name": "Generate .ics events and Google Calendar deep links from form input",
      "description": "Generate .ics events and Google Calendar deep links from form input",
      "technologies": [
        "TypeScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/888cd5afce8462aa2ef547ffe6a02df9",
      "stars": 0
    },
    {
      "id": "gist-1ac3aa3290e40324d4219d4717dcf409",
      "name": "Graph traversal for Conditional question flow",
      "description": "Graph traversal for Conditional question flow",
      "technologies": [
        "TypeScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/1ac3aa3290e40324d4219d4717dcf409",
      "stars": 0
    },
    {
      "id": "gist-5829437f00ed54dbac71b4ffb192fe83",
      "name": "Ruby 3.x pattern matching",
      "description": "Ruby 3.x pattern matching",
      "technologies": [
        "Ruby",
        "ruby"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/5829437f00ed54dbac71b4ffb192fe83",
      "stars": 0
    },
    {
      "id": "gist-f0c642bacb09fbb2d563ee4217606f73",
      "name": "Radial time-series D3 polar-area rings, one per year",
      "description": "Radial time-series D3 polar-area rings, one per year",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/f0c642bacb09fbb2d563ee4217606f73",
      "stars": 0
    },
    {
      "id": "gist-7d752769af645d73c692fe66dfc21fe8",
      "name": "Playwright Mobile Test Helper Patterns",
      "description": "Playwright Mobile Test Helper Patterns",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/7d752769af645d73c692fe66dfc21fe8",
      "stars": 0
    },
    {
      "id": "gist-8093270e8c2c352bf9df9018611ce136",
      "name": "React Native Deep Links",
      "description": "React Native Deep Links",
      "technologies": [
        "TypeScript",
        "react"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/8093270e8c2c352bf9df9018611ce136",
      "stars": 0
    },
    {
      "id": "gist-f82ae49ddc6d83b9b57fef0abe4b42cd",
      "name": "React Native hook for gesture-driven bottom sheet with snap points",
      "description": "React Native hook for gesture-driven bottom sheet with snap points",
      "technologies": [
        "TypeScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/f82ae49ddc6d83b9b57fef0abe4b42cd",
      "stars": 0
    },
    {
      "id": "gist-6215d7a6f3c253fb3749bb5abac4494e",
      "name": "@Observable mocks (Xcode 16+)",
      "description": "@Observable mocks (Xcode 16+)",
      "technologies": [
        "Swift"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/6215d7a6f3c253fb3749bb5abac4494e",
      "stars": 0
    },
    {
      "id": "gist-5157671556e946558616fe548d9763c3",
      "name": "Advanced SwiftUI accessibility Patterns",
      "description": "Advanced SwiftUI accessibility Patterns",
      "technologies": [
        "Swift"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/5157671556e946558616fe548d9763c3",
      "stars": 0
    },
    {
      "id": "gist-ba272f9e1038f24db0b92cb361368bf2",
      "name": "Playwright site crawler for audit agents",
      "description": "Playwright site crawler for audit agents",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/ba272f9e1038f24db0b92cb361368bf2",
      "stars": 0
    },
    {
      "id": "gist-641f99f62d2f797b1d1d4b6903bc40a0",
      "name": "Multi-agent accessibility pipeline",
      "description": "Multi-agent accessibility pipeline",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/641f99f62d2f797b1d1d4b6903bc40a0",
      "stars": 0
    },
    {
      "id": "gist-27ac76db61701cd04213548ce3844b2f",
      "name": "Accessibility fix dispatcher",
      "description": "Accessibility fix dispatcher",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/27ac76db61701cd04213548ce3844b2f",
      "stars": 0
    },
    {
      "id": "gist-19b8908f15a9b9f2cd6a1dab5e736a2b",
      "name": "WCAG 2.1 contrast ratio, W3C formula, severity scoring",
      "description": "WCAG 2.1 contrast ratio, W3C formula, severity scoring",
      "technologies": [
        "JavaScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/19b8908f15a9b9f2cd6a1dab5e736a2b",
      "stars": 0
    },
    {
      "id": "gist-4be71679e8545bb69dfc37e4b70fad72",
      "name": "MCP resources + prompt templates",
      "description": "MCP resources + prompt templates",
      "technologies": [
        "TypeScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/4be71679e8545bb69dfc37e4b70fad72",
      "stars": 0
    },
    {
      "id": "gist-567d90a3d5d24346272ad76b96f4d13d",
      "name": "Bootstrapping a Vitest MCP server with typed tool registration",
      "description": "Bootstrapping a Vitest MCP server with typed tool registration",
      "technologies": [
        "TypeScript"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/567d90a3d5d24346272ad76b96f4d13d",
      "stars": 0
    },
    {
      "id": "gist-98013496cab5d264c0756b2a70a89718",
      "name": "LLM Prompt Eval Notebook with parallel runs and LLM-as-judge",
      "description": "LLM Prompt Eval Notebook with parallel runs and LLM-as-judge",
      "technologies": [
        "Jupyter Notebook"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/98013496cab5d264c0756b2a70a89718",
      "stars": 0
    },
    {
      "id": "gist-b725d6286b288f7ef3d23112e8373996",
      "name": "Weighted composite scoring for LLM prompt A/B tests",
      "description": "Weighted composite scoring for LLM prompt A/B tests",
      "technologies": [
        "Python"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/b725d6286b288f7ef3d23112e8373996",
      "stars": 0
    },
    {
      "id": "gist-513896b8760be078fcb841709346391a",
      "name": "Calibrate heuristic confidence scores to true probabilities using isotonic regression.",
      "description": "Calibrate heuristic confidence scores to true probabilities using isotonic regression.",
      "technologies": [
        "Python"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/513896b8760be078fcb841709346391a",
      "stars": 0
    },
    {
      "id": "gist-b19fb37ccf78a225ccd6b5c36bdca18e",
      "name": "Immutable conversation trace as a value type using Pydantic frozen models",
      "description": "Immutable conversation trace as a value type using Pydantic frozen models",
      "technologies": [
        "Python"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/b19fb37ccf78a225ccd6b5c36bdca18e",
      "stars": 0
    },
    {
      "id": "gist-ccd0b4cdf6219c49de58cf853c629831",
      "name": "Multi-turn LLM attribution",
      "description": "Multi-turn LLM attribution",
      "technologies": [
        "Python"
      ],
      "type": "gist",
      "url": "https://gist.github.com/nehasriva/ccd0b4cdf6219c49de58cf853c629831",
      "stars": 0
    },
    {
      "id": "music-discovery-bot",
      "name": "Music Discovery Bot",
      "description": "A Twitter bot that discovers and shares new music based on trending topics and user interactions. Built with Python, the Twitter API, and Spotify API....",
      "technologies": [
        "Docker",
        "Python",
        "python",
        "API",
        "Git"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "chromesthesia",
      "name": "Chromesthesia Sound Visualization",
      "description": "SOUND BECOMES COLOR",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery",
        "Canvas API"
      ],
      "type": "demo",
      "url": "/chromesthesia.html",
      "stars": 0
    },
    {
      "id": "debug-chat",
      "name": "Chat API Debug",
      "description": "Interactive Chat API Debug demo",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery",
        "D3.js"
      ],
      "type": "demo",
      "url": "/debug-chat.html",
      "stars": 0
    },
    {
      "id": "metronome",
      "name": "Pulse Metronome - Interactive Beat Keeper",
      "description": "Interactive Pulse Metronome - Interactive Beat Keeper demo",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery"
      ],
      "type": "demo",
      "url": "/metronome.html",
      "stars": 0
    },
    {
      "id": "music-bot-demo",
      "name": "Music Discovery Bot - Interactive Demo",
      "description": "Interactive Demo - Discover music based on trending topics and get personalized recommendations",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery"
      ],
      "type": "demo",
      "url": "/music-bot-demo.html",
      "stars": 0
    },
    {
      "id": "prompting-game",
      "name": "Prompting Game",
      "description": "A mesmerizing pixel art breakout experience",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery",
        "Canvas API"
      ],
      "type": "demo",
      "url": "/prompting-game.html",
      "stars": 0
    },
    {
      "id": "test-chat-expand",
      "name": "Test Chat Expand",
      "description": "This page tests the chat widget expansion functionality.",
      "technologies": [
        "HTML",
        "CSS"
      ],
      "type": "demo",
      "url": "/test-chat-expand.html",
      "stars": 0
    },
    {
      "id": "test-chat-functionality",
      "name": "Chat Widget Testing Suite",
      "description": "Chat widget will appear here during testing",
      "technologies": [
        "HTML",
        "CSS",
        "jQuery"
      ],
      "type": "demo",
      "url": "/test-chat-functionality.html",
      "stars": 0
    },
    {
      "id": "test-chat",
      "name": "Test Chat",
      "description": "This page is for testing the GitHub Chat widget functionality.",
      "technologies": [
        "HTML",
        "CSS"
      ],
      "type": "demo",
      "url": "/test-chat.html",
      "stars": 0
    },
    {
      "id": "blog-garden",
      "name": "Blog Garden",
      "description": "Remember Farmville? FarmTown? Those glorious years of watering virtual crops and pestering your friends for fertilizer? Blog Garden is a love letter t...",
      "technologies": [
        "JavaScript",
        "javascript",
        "react",
        "html",
        "css",
        "CSS"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "chromesthesia",
      "name": "Chromesthesia",
      "description": "A synesthetic sound visualization where musical notes transform into vibrant colors. Play the interactive piano and watch each pitch paint the canvas...",
      "technologies": [
        "JavaScript",
        "API"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "fire-calculator",
      "name": "Fire Calculator",
      "description": "A FIRE calculator that runs entirely in your browser, which means your financial data never touches a server, and you never have to hand your account...",
      "technologies": [
        "JavaScript",
        "API"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "linocut-color-wheel",
      "name": "Linocut Color Wheel",
      "description": "A color prototyper for multicolor linocut printing. Build up your ink layers, set opacity, and see how the colors overprint before you commit to carvi...",
      "technologies": [
        "JavaScript",
        "API",
        "html"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "phonon",
      "name": "Phonon",
      "description": "An audio-reactive 3D particle orb. Point it at your microphone and watch 800 particles respond to the frequency data coming in. Drag to rotate, scroll...",
      "technologies": [
        "JavaScript",
        "API"
      ],
      "type": "local",
      "stars": 0
    },
    {
      "id": "static-project-1",
      "name": "Project 1",
      "description": "",
      "technologies": [],
      "type": "portfolio",
      "stars": 0
    },
    {
      "id": "static-project-2",
      "name": "Project 2",
      "description": "",
      "technologies": [],
      "type": "portfolio",
      "stars": 0
    },
    {
      "id": "static-project-3",
      "name": "Project 3",
      "description": "",
      "technologies": [],
      "type": "portfolio",
      "stars": 0
    },
    {
      "id": "static-project-4",
      "name": "Project 4",
      "description": "",
      "technologies": [],
      "type": "portfolio",
      "stars": 0
    }
  ],
  "technologies": [
    "API",
    "C++",
    "CSS",
    "Canvas API",
    "D3.js",
    "Docker",
    "Dockerfile",
    "Gherkin",
    "Git",
    "Go",
    "HTML",
    "JavaScript",
    "Jupyter Notebook",
    "Makefile",
    "Objective-C",
    "Python",
    "Ruby",
    "Shell",
    "Swift",
    "TypeScript",
    "YAML",
    "aws",
    "azure",
    "css",
    "docker",
    "flask",
    "github actions",
    "go",
    "html",
    "jQuery",
    "javascript",
    "kubernetes",
    "pandas",
    "postgresql",
    "python",
    "react",
    "ruby",
    "typescript"
  ],
  "languages": [
    "C++",
    "CSS",
    "Dockerfile",
    "Gherkin",
    "Go",
    "HTML",
    "JavaScript",
    "Jupyter Notebook",
    "Makefile",
    "Objective-C",
    "Python",
    "Ruby",
    "Shell",
    "Swift",
    "TypeScript",
    "YAML"
  ],
  "types": [
    "demo",
    "gist",
    "github",
    "local",
    "portfolio"
  ]
}