{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "basics": {
    "name": "Kevin Murphy",
    "label": "Senior Full-Stack Software Engineer",
    "email": "kmurphywebdev@gmail.com",
    "url": "https://kevinmurphywebdev.com",
    "summary": "Full-stack software engineer with 11 years of professional experience. Frontend at federal scale in React and TypeScript, backend in Node.js and NestJS on AWS (Fargate, RDS PostgreSQL, Lambda, API Gateway, DynamoDB, AppSync, CDK), and native mobile in React Native. Takes products from data model to interaction: API design, infrastructure as code, and the UI users actually touch. Ships applied AI features (agent orchestration, retrieval, and evals) in open source, and codes AI-augmented daily on Claude Code with a spec-driven workflow. Leads teams and mentors engineers; a background in cultural anthropology sharpens the read on the gap between what users actually do and what the spec describes.",
    "location": {
      "city": "Tempe",
      "region": "AZ",
      "countryCode": "US"
    },
    "profiles": [
      {
        "network": "GitHub",
        "username": "midimurphdesigns",
        "url": "https://github.com/midimurphdesigns"
      },
      {
        "network": "LinkedIn",
        "username": "midimurphdesigns",
        "url": "https://www.linkedin.com/in/midimurphdesigns"
      },
      {
        "network": "Bluesky",
        "username": "midimurph.bsky.social",
        "url": "https://bsky.app/profile/midimurph.bsky.social"
      },
      {
        "network": "X",
        "username": "midimurph",
        "url": "https://x.com/midimurph"
      }
    ]
  },
  "work": [
    {
      "name": "Deloitte",
      "position": "Senior Solution Specialist (Senior Full-Stack Software Engineer)",
      "location": "Hybrid, Gilbert and Tempe, AZ",
      "startDate": "2021-06",
      "highlights": [
        "Lead senior engineer on PoolRM, an internal firm staffing-intelligence platform (~300 weekly users) matching project needs to consultant availability and skills. Designed and built the backend, a NestJS + Node.js API on AWS Fargate with RDS PostgreSQL, provisioned via AWS CDK, using Prisma and Zod across an npm-workspaces monorepo. Authored a cross-compatible Claude Code + Copilot AI-context system for uniform coding quality across machines and sessions, and introduced PRD-driven, BMAD-influenced AI development.",
        "Led a 15-developer offshore team on the React frontend for Michigan's unemployment insurance modernization (2,000+ pages, 270K residents) on Deloitte's LIFT framework. Personally drove WCAG 2.1 AA conformance and a sidebar performance overhaul, custom ms-precision metrics, O(n²) -> O(n), context-state caching for permissions, averaging 30% improvement.",
        "Modernized the tax-payment UX for 880.9M annual visits and $4.7T in FY2023 federal collection by leading the ReactJS + TypeScript frontend rebuild and shipping every release through the U.S. Treasury release train at production scale.",
        "Cut bank onboarding from 60 days to 7 days for 1,000+ participating banks by serving as sole frontend on the LWC/Salesforce app and co-locating with the Federal Reserve's Boston-based team at the Deloitte lower-Manhattan office 4–5 trips per year over 2 years. Ran PI / release planning and requirements refinement in-person with the client's PM and scrum master, and mentored their backend Apex engineers on frontend during contract handoff.",
        "Served as paired coach for 7 new-hire developers (junior and mid-level consultants) and informally mentored dozens more."
      ]
    },
    {
      "name": "Culmination Digital LLC",
      "position": "Founder and sole engineer",
      "location": "Tempe, AZ (independent)",
      "startDate": "2026",
      "highlights": [
        "Built a consumer fintech tool for bank-statement mortgage applicants: Plaid bank connection, deterministic twelve-month deposit analysis with a schema-checked Claude explanation and evals in CI, Stripe checkout, generated PDF the buyer delivers themselves.",
        "Built and launched a national addiction-treatment directory (10,900+ providers, all 50 states): Python ingest over 20 federal and state sources with cross-source record matching, PostGIS and full-text search, 239 forward-only Postgres migrations."
      ]
    },
    {
      "name": "Open-source projects (independent)",
      "position": "Author, applied AI features",
      "location": "Public, MIT-licensed",
      "startDate": "2026",
      "highlights": []
    },
    {
      "name": "Arizona State University",
      "position": "Full-Stack Developer, full-time staff (not a student role)",
      "location": "Tempe, AZ",
      "startDate": "2018-08",
      "endDate": "2021-05",
      "highlights": [
        "Led the React Native frontend for the v2 release of the ASU Mobile App (58,000+ weekly users on iOS and Android) and contributed across the AWS backend, Node.js Lambda, API Gateway (WebSocket / HTTP / REST), DynamoDB, AppSync, Cognito, SNS, S3, and CloudWatch, provisioned with Terraform and Amplify. Built geolocation, push-notification management, and offline-capable instant chat via Apollo Client online/offline caching."
      ]
    },
    {
      "name": "Freelance",
      "position": "Full-Stack Developer",
      "location": "Remote",
      "startDate": "2016",
      "endDate": "2021",
      "highlights": []
    },
    {
      "name": "Smithsonian Institution",
      "position": "Internship, Center for Folklife and Cultural Heritage",
      "location": "Washington, DC",
      "startDate": "2015-07",
      "endDate": "2015-08",
      "highlights": []
    }
  ],
  "education": [
    {
      "institution": "Thinkful",
      "studyType": "Full-Stack Engineering Bootcamp",
      "startDate": "2018-01",
      "endDate": "2018-07"
    },
    {
      "institution": "University of Vermont",
      "studyType": "B.A. Anthropology",
      "startDate": "2010",
      "endDate": "2014"
    }
  ],
  "certificates": [
    {
      "name": "AWS Developer Associate",
      "issuer": "Amazon Web Services",
      "endDate": "2026-11-30"
    },
    {
      "name": "AWS Solutions Architect Associate",
      "issuer": "Amazon Web Services",
      "endDate": "2028-05-31"
    }
  ],
  "skills": [
    {
      "name": "Applied AI",
      "keywords": [
        "Anthropic SDK",
        "Vercel AI SDK",
        "LangChain / LangGraph / LangSmith",
        "RAG / retrieval",
        "agent orchestration",
        "MCP servers",
        "tool-use loops",
        "evals (LLM-as-judge)",
        "confidence calibration",
        "prompt caching",
        "cost-aware model routing",
        "Claude Code"
      ]
    },
    {
      "name": "Core stack",
      "keywords": [
        "TypeScript",
        "JavaScript",
        "Node.js",
        "HTML / CSS"
      ]
    },
    {
      "name": "Backend",
      "keywords": [
        "Node.js",
        "NestJS",
        "Express",
        "REST APIs",
        "PostgreSQL",
        "Prisma",
        "Zod",
        "Supabase",
        "Bun"
      ]
    },
    {
      "name": "AWS",
      "keywords": [
        "Fargate",
        "ECS",
        "RDS",
        "CDK",
        "Terraform",
        "Amplify",
        "CloudFormation",
        "ALB / ELB",
        "ECR",
        "CloudFront",
        "Lambda",
        "API Gateway (WebSocket / HTTP / REST)",
        "DynamoDB",
        "AppSync",
        "Cognito",
        "SNS",
        "CloudWatch",
        "S3",
        "IAM",
        "EC2",
        "VPC",
        "Route 53"
      ]
    },
    {
      "name": "Frontend",
      "keywords": [
        "React",
        "React Native",
        "Next.js",
        "Tailwind",
        "TanStack Query",
        "Apollo Client",
        "Lightning Web Components"
      ]
    },
    {
      "name": "Performance + accessibility",
      "keywords": [
        "Core Web Vitals",
        "Lighthouse optimization",
        "WCAG conformance at federal scale"
      ]
    },
    {
      "name": "Platforms + tooling",
      "keywords": [
        "Vercel",
        "Cloudflare",
        "Upstash Redis",
        "GitHub Actions",
        "Salesforce"
      ]
    },
    {
      "name": "Practices",
      "keywords": [
        "Spec-driven AI development",
        "Agile / Scrum",
        "PI / release planning",
        "requirements refinement",
        "Git",
        "CI/CD",
        "testing (Jest / Vitest / RTL)",
        "code review",
        "technical mentoring",
        "on-site client delivery"
      ]
    }
  ],
  "projects": [
    {
      "name": "loom, durable AI commerce with Vercel Workflows and agentic spending guardrails",
      "description": "Public open-source durable AI-commerce backend. Four workflows demonstrate the patterns that make agent-driven money movement safe in production: cart abandonment with durable sleep and idempotent email, dynamic checkout with bounded discount negotiation, shipping monitoring with saga compensation, and a Stripe webhook drift demo showing why webhook stores are durable logs not queues. Agentic spending authority bounded by a deterministic gate that runs after the LLM finishes. A Sirens eval harness runs ten adversarial scenarios in CI and asserts the gate holds. A failure-injection harness throws between step execution and step recording and proves zero duplicate side effects across N trials. Cost-aware model routing (Haiku for generators, Opus for structured decisions) with a daily USD cap and budget-aware short-circuit before every LLM call.",
      "keywords": [
        "TypeScript",
        "Next.js 16",
        "Vercel Workflow SDK",
        "Vercel AI SDK",
        "Anthropic SDK",
        "Stripe",
        "Zod",
        "Upstash"
      ],
      "startDate": "2026",
      "url": "https://loom.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "forge, multi-agent debugging concierge",
      "description": "Point it at a stack trace and four specialist subagents fan out in parallel, each with a focused tool set, before a coordinator merges their structured findings into ranked, calibration-weighted hypotheses. Parallel fan-out via Promise.all plus pLimit bounded concurrency. Two-pass agent pattern (generateText then generateObject) for reliable structured output from a tool-using loop. Durable session state with resumable streams. Preemptive abort plumbed end-to-end via AbortSignal, with cross-instance signaling through Upstash so the stop button works across Vercel serverless replicas. Brier-score calibration log as a system-level feedback loop. Five-scenario eval harness with graded rubric and n-runs aggregation. Anthropic prompt-caching breakpoints with honest below-threshold disclosure. Hardened with per-IP rate limit and daily USD spend cap.",
      "keywords": [
        "TypeScript",
        "Next.js 16",
        "Vercel AI SDK",
        "Anthropic SDK",
        "p-limit",
        "Zod",
        "Upstash",
        "Tailwind v4"
      ],
      "startDate": "2026",
      "url": "https://forge.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "anchor, AI-native product catalog: dual-surface pages, delegated-authority checkout, AEO instrumentation",
      "description": "Public open-source AI-native commerce surface. Every product has a human page AND three statically-cached LLM-facing endpoints (markdown, JSON-LD, plain) optimized for citation, discovery, and agent purchase. A /.well-known/agents.json descriptor publishes endpoints, auth model, pricing-negotiation envelope, and rate limits in the Agentic Commerce Protocol shape. AEO instrumentation classifies 13 LLM crawlers by user-agent and logs every fetch to Redis via after() so cached responses still get observed. A delegated-authority checkout endpoint runs an eight-check pipeline (signature, expiry, agent binding, scope, nonce, idempotency) with HMAC-SHA256 and constant-time signature comparison, proven by a five-scenario test that asserts happy-path, replay, over-budget, wrong-SKU, and idempotent retry. A comparison agent with generative UI demonstrates structured-output dispatch: the model picks one of three shapes (spec table, pros/cons, recommendation) via a Zod discriminated union and React switch-renders the matching component, type-safe at every boundary.",
      "keywords": [
        "TypeScript",
        "Next.js 16",
        "React 19",
        "Vercel AI SDK",
        "Anthropic SDK",
        "Zod",
        "Upstash",
        "Tailwind v4"
      ],
      "startDate": "2026",
      "url": "https://anchor.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "issuegraph, GitHub issue triage agent on LangGraph with LangSmith evals",
      "description": "Public open-source issue triage agent built as a LangGraph state machine. Classifies a GitHub issue with structured output and a confidence score, routes it to one of four specialist draft nodes via conditional edges, loops the reply through an LLM quality guard with a bounded redraft cycle, then applies a confidence gate: high-confidence results finalize automatically, low-confidence results pause the graph with interrupt() and wait for human approval. Checkpoints persist to Redis so paused runs resume across serverless instances. A LangSmith eval suite runs a labeled golden set through the full graph with a deterministic category evaluator plus an LLM-as-judge on draft quality, and a calibration report checks the classifier's stated confidence against actual accuracy with a Brier score and reliability buckets. The live demo streams every node to the page as it executes.",
      "keywords": [
        "TypeScript",
        "Next.js 16",
        "LangGraph",
        "LangChain",
        "LangSmith",
        "Anthropic SDK",
        "Zod",
        "Upstash",
        "Redis"
      ],
      "startDate": "2026",
      "url": "https://issuegraph.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "tablesalt, CSV agent with generative UI, reasoning trace, and live eval scoreboard",
      "description": "Public open-source data-exploration agent. Drop a CSV, ask a natural-language question, see generative UI, five render kinds (table, bar, line, stat, list) chosen by the model. text-to-SQL via the Vercel AI SDK + Vercel AI Gateway over DuckDB-WASM running in-browser; zero backend. The agent emits a 4-step reasoning trace before its answer; the eval scoreboard (12 labeled NYC-311 cases, render-kind / SQL-executes / SQL-semantic-match scored with live cost + latency) runs on demand from the front page. Consumes streamfield@^0.1.0 from npm for its streaming reasoning UI.",
      "keywords": [
        "Next.js 16",
        "React 19",
        "TypeScript",
        "Tailwind v4",
        "Vercel AI SDK",
        "Vercel AI Gateway",
        "DuckDB-WASM",
        "streamfield"
      ],
      "startDate": "2026",
      "url": "https://tablesalt.kevinmurphywebdev.com",
      "roles": [
        "Author, full-stack"
      ],
      "entity": "Open source"
    },
    {
      "name": "streamfield, React primitive for partial-object stream UIs",
      "description": "Public open-source React primitive (~150 LOC) for rendering Vercel AI SDK partial-object streams with field-by-field reveal physics. Diffs successive snapshots, derives per-field pending -> streaming -> complete state, hands the state to children via render prop. Three opinionated CSS variants ship in the package; consumers can ignore them and style state transitions themselves via a data attribute. Published to npm; extracted from tablesalt. Docs site at streamfield.kevinmurphywebdev.com runs on Next.js 16 deployed to Vercel.",
      "keywords": [
        "TypeScript",
        "React",
        "tsup",
        "Vercel AI SDK",
        "Vercel",
        "Next.js 16"
      ],
      "startDate": "2026",
      "url": "https://streamfield.kevinmurphywebdev.com",
      "roles": [
        "Author, full-stack"
      ],
      "entity": "Open source"
    },
    {
      "name": "fedbench, LLM eval harness for grounded Q&A",
      "description": "Public open-source evaluation harness for grounded Q&A agents over policy PDFs. Two side-by-side federal corpora (Medicare + OSHA, 21 verified Q&A pairs total), BM25 retrieval, fallback ladder, deterministic citation-check + Opus 4.7 LLM-as-judge, and a no-API-key replay path so visitors can demo the scoring pipeline in under a second.",
      "keywords": [
        "TypeScript",
        "Bun",
        "Anthropic SDK",
        "MCP",
        "BM25",
        "LLM-as-judge"
      ],
      "startDate": "2026",
      "url": "https://fedbench.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "fieldops-mcp, agent tool server for a field-services workflow",
      "description": "Public open-source MCP server that exposes a small-business field-services dispatcher workflow, triage, scheduling, customer comms, utilization roll-up, human escalation, as six agent tools an LLM client can drive end-to-end. Each tool exercises a distinct shape a product engineer integrating AI has to design for: read, search, mutation with typed conflict errors, composition, aggregation, and refusal/escalation.",
      "keywords": [
        "TypeScript",
        "Bun",
        "MCP TS SDK",
        "Zod",
        "Claude Desktop"
      ],
      "startDate": "2026",
      "url": "https://fieldops-mcp.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "grant-pilot, federal-grants agent with sub-agent orchestration",
      "description": "Public open-source agent that helps a small business or nonprofit discover federal grants they qualify for and drafts an application skeleton, orchestrating three specialist sub-agents (discovery, eligibility, drafter) over live federal opportunity and entity-registration APIs, with per-sub-agent fallback ladder, structured-failure routing, and a hosted demo hardened with a 5-intent allowlist, daily budget cap, and per-IP rate limit.",
      "keywords": [
        "TypeScript",
        "Bun",
        "Anthropic SDK",
        "Next.js 16",
        "Vercel",
        "Upstash"
      ],
      "startDate": "2026",
      "url": "https://grant-pilot.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "kev-o, grounded RAG chatbot trained on my own writing",
      "description": "Public open-source grounded chatbot answering questions about my work using only my public corpus (blog, case studies, resume, OSS READMEs). Hybrid retrieval, BM25 candidate pool plus Voyage cross-encoder rerank, feeds Claude Sonnet 4.6 streamed through the Vercel AI SDK. Three surfaces share one brain: a standalone subdomain, a global Command-K palette, and inline punch-ins at the foot of every curated entry. Hardened with per-IP rate limit, daily USD spend cap, and an owner-bypass route with timing-safe key comparison and per-IP attempt cap.",
      "keywords": [
        "TypeScript",
        "Next.js 16",
        "Vercel AI SDK",
        "Anthropic SDK",
        "Voyage rerank",
        "BM25",
        "Upstash",
        "Tailwind v4"
      ],
      "startDate": "2026",
      "url": "https://kev-o.kevinmurphywebdev.com",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "mdx-corpus, npm package: MDX directory to retrieval-ready corpus",
      "description": "Public npm package that turns a directory of MDX files into a retrieval-ready JSON corpus for RAG pipelines. Parses frontmatter, strips JSX components while preserving their text children, chunks on heading boundaries with a paragraph-split fallback for long sections, emits passages carrying source URL and metadata for citation. ~300 lines of TypeScript, 19 tests, dual ESM/CJS build via tsup, zero runtime dependencies. Extracted from the kev-o-ai-search build because the parse-and-chunk step is reusable across surfaces; the package deliberately refuses to grow into embeddings, vector storage, or retrieval logic.",
      "keywords": [
        "TypeScript",
        "tsup",
        "vitest",
        "MDX",
        "npm"
      ],
      "startDate": "2026",
      "url": "https://github.com/midimurphdesigns/mdx-corpus",
      "roles": [
        "Author, applied AI"
      ],
      "entity": "Open source"
    },
    {
      "name": "kevinmurphywebdev.com, personal site + portfolio + resume",
      "description": "Personal site, portfolio, blog, and live resume, Next.js 16 App Router with Server Components, MDX-driven case studies and blog posts, programmatic resume rendered from a single JSON source of truth, and a per-build PDF export pipeline (Puppeteer over the rendered /resume route) so the downloadable PDF can never drift from the live site. Lighthouse 95+ across all four scores; deployed on Vercel.",
      "keywords": [
        "Next.js 16",
        "React 19",
        "TypeScript",
        "Tailwind v4",
        "MDX",
        "Vercel"
      ],
      "startDate": "2026",
      "url": "https://kevinmurphywebdev.com/portfolio/kevinmurphywebdev",
      "roles": [
        "Author, designer, engineer"
      ],
      "entity": "Open source"
    }
  ],
  "meta": {
    "canonical": "https://kevinmurphywebdev.com/resume.json",
    "lastModified": "2026-10-12",
    "version": "1.0.0"
  }
}