Piyush Vyas
Building the agentic web.
Architect. Builder. Founder.
DBAR
Deterministic Browser Agent Runtime — record a browser session, replay it, get the same result.
TypeScript · Playwright · ZoduSEID
Universal Semantic Element ID — stable cross-run element identity using ARIA semantics and DOM structure.
TypeScript · ZodBrowser Agent Protocol
AI agents controlling web browsers via JSON-RPC/WebSocket. Semantic selectors, native MCP integration.
TypeScript · Python · WebSocketstaff-engineer
AI staff engineer for Claude Code. Adaptive SDD, 3-stage review, quality gates.
Bash · Markdown · JSONLskill-tools
Parse, lint, score, and route SKILL.md files. Deterministic pipeline with zero LLM dependencies.
TypeScript · BM25 · CLIskills.menu
Interactive docs and in-browser playground for the skill-tools ecosystem.
Astro · WASMagent-pager
Lightweight Slack bridge for AI agent notifications. Simple webhooks, zero config.
TypeScript · Slack APIvoicecode
Voice-driven code editor powered by speech recognition and natural language understanding.
Python · ASR · NLUtransparent.fyi
Scan a barcode, decode the ingredient list, get a transparency score.
Next.js · PWA · OpenFoodFactsLet's Dink
Pickleball court booking and open play finder. Built with browser automation.
iOS · BAP · AutomationSpecAugment
PyTorch implementation of SpecAugment — data augmentation for speech recognition.
Python · PyTorch · ASRWhat Happens When Two AIs Review Each Other's Code
staff-engineer v0.2.0: DADS, Google-grade hooks, visual QA, and one command to set up quality gates.
Introducing DBAR
A standalone TypeScript package that makes browser agent sessions deterministic and replayable.
Universal Semantic Element ID
Stable element identity for browser agents across runs. uSEID fuses ARIA semantics, DOM structure, and visual position into signatures that survive UI churn.
From INTERSPEECH to Production
Best paper awards at two top venues. What changed when I started shipping ML at scale.
MCP at Scale
19,000+ servers, 8M+ monthly downloads. Lessons from building 30+ integrations.
Designing Protocols That Survive Production
What I learned designing BAP and working with the SKILL.md spec.
Zero API Keys
Every operation in skill-tools is deterministic. No LLMs, no API keys, no model drift.
Eval-Driven Development
How I test agents with deterministic scoring. Same input, same output, every time.
One Round-Trip
How BAP's composite actions cut browser agent latency from 5-10 round trips to one.
Semantic Selectors
Why I built BAP around accessibility roles instead of CSS selectors.
The Lethal Trifecta
BAP accesses private pages, processes untrusted content, and takes external actions. How I secured all three.
Context Engineering > Prompt Engineering
The bottleneck shifted from how you ask to what the agent knows.
MCP vs CLI vs SKILL.md
Real benchmarks, token costs, and a decision framework from shipping all three.
Meet staff-engineer
A Claude Code plugin for the full dev lifecycle. What I built and why.
I Audited 53 Agent Skills. Here's What Broke.
Every SKILL.md from Anthropic, OpenAI, and Vercel through my pipeline. The data.
Deterministic Tooling for Agent Skills
Parse, lint, score, and route SKILL.md files. No LLMs anywhere in the pipeline.
Browser Agent Protocol
An open standard for AI agents to control web browsers. Why I built it and how it works.
Booking Open Play Before It's Gone
The Lifetime Fitness open play battle that led me to build Browser Agent Protocol.
MCP is USB-C for Agents
The mental model I use after building 30+ MCP integrations at AWS.