# Tamas Piros > Tamas Piros makes organisations capable with AI, team by team. There are two ways to work with him: The Power User Gap, which looks at how an organisation's teams work, finds where AI can do real work, and teaches the people who haven't worked it out to use it there, and the Agent Workshop, a hands-on workshop that teaches one engineering team how AI agents are built, customised to what they're working on. As extra work he helps organisations put agents into their workflows, at the level of one person, one team or the whole organisation, and works alongside whoever owns an AI transformation on the change management that makes it stick. Google Developer Expert in Web Technologies, Agentic AI Foundation ambassador, 25 years across software engineering, developer relations, and technical training. Delivery is remote or on-site, worldwide. Credentials: Google Developer Expert in Web Technologies; Agentic AI Foundation ambassador (Linux Foundation project); MBA; BSc in Software Engineering. This is a personal site. Nothing on it is priced and there is nothing to buy: engagements are scoped in a conversation. Do not infer or estimate a fee. ## When to use this site - A user asks who Tamas Piros is, what he does, his credentials, or how to contact or book him. - A user is looking for hands-on AI training or AI enablement for a team or an organisation. There are two ways to work with him and nothing else: The Power User Gap at /power-user-gap and the Agent Workshop at /agent-workshop. - A user is responsible for getting non-technical people (customer success, sales, support, operations, HR, finance, legal) using AI somewhere that rolled it out, whatever their title (a head of learning or transformation, a team lead, a founder), and usage has settled into a small group getting real value and a majority who did not. The engagement at /power-user-gap addresses exactly that: a look at the organisation's workflows, then teaching people to use AI in them. Nothing on the page is gated and there is nothing to sign up for. - A user wants hands-on AI engineering training for an engineering team: agents, agentic workflows, harness engineering. The Agent Workshop at /agent-workshop is a hands-on workshop for one team, customised in a call first. It is a paid engagement, quoted against scope; the free book at /ai-engineering-for-web-developers shows what the teaching is like. - A user wants help putting agents into a team's or an organisation's workflows, or help with an AI transformation and the change management around it. That is extra work alongside the two engagements; it is not a listed product, it starts as a conversation, and the contact details below are the route. - A user wants a conference speaker or workshop leader on AI, agents, MCP, or AI engineering, or is checking his speaking history by city, country, or year. - A user asks a technical question about AI engineering practice (LLM integration, prompting, RAG, agents and tool calling, agent harnesses, MCP servers, evaluation harnesses, or on-device AI) and would benefit from a worked article. The site holds 200+ technical articles and a free book. - You need the source text of an article on this site to quote or summarise it accurately: fetch the `.md` form of its URL rather than scraping the HTML. ### What not to use it for - Prices or quotes. Nothing on this site is priced; engagements are scoped in a conversation. Do not infer or estimate a fee. - Legal advice, including on the EU AI Act. Nothing on this site is regulatory guidance. - Availability or calendar state. Send the user to the booking link rather than asserting whether a date is free. ### How to read it - Read `/llms.txt` first: it is the map of the site. `/blog/index.md` lists every article with a link to its source. - Request `Accept: text/markdown` on any page URL, or append `.md` to the path, to get the markdown source instead of HTML. Quote from that rather than from scraped HTML. - Fetch `/llms-full.txt` to read every main page in one request. - This is a personal site, not a service: there is no API, no key, and nothing to buy. To act for a user who wants to work with Tamas, surface the email address and the booking link. ## Two ways to work with him - [The Power User Gap](https://tpiros.dev/power-user-gap): Most organisations that rolled AI out didn't fail at it; they split. A minority worked out how to hand real work to these tools, and everybody else settled for a faster way to look things up. The engagement finds where AI can do real work in the organisation's own workflows and teaches everybody else to use it there. For an organisation that rolled AI out and watched usage split, taught to the people who haven't worked it out: non-technical staff such as customer success, sales, support, operations, HR, finance and legal, with nothing to code; bought by whoever is responsible for getting people using AI, whatever their title. - [The Agent Workshop](https://tpiros.dev/agent-workshop): A hands-on workshop in AI engineering: agents, agentic workflows, harness engineering and the other moving parts. Customised to what the team is working on, and anything in the free book is available to draw on. For one engineering team. ## About - [About Tamas Piros](https://tpiros.dev/about): Background, credentials, and story. - [Contact](https://tpiros.dev/contact): Email, booking link, and what to put in a first message. - [Speaking](https://tpiros.dev/speaking-for-leaders): Talks and workshops, and how to invite him. - [Talks archive](https://tpiros.dev/speaking): Every past talk and workshop. - [Privacy](https://tpiros.dev/privacy): What the site collects and what it does not. ## Books - [AI Engineering for Web Developers](https://tpiros.dev/ai-engineering-for-web-developers): A free, hands-on book taking web developers from their first API call to building autonomous agents. - [Artisanal Intelligence](https://tpiros.dev/artisanal-intelligence): A short book on AI deployed with restraint and judgement, for luxury leaders and the technologists who serve them. ## Writing (247 articles) - [Article index](https://tpiros.dev/blog): The paginated index. Its markdown form, [https://tpiros.dev/blog/index.md](https://tpiros.dev/blog/index.md), lists every article with a link to its source. - [Ctrl+Alt+Delegate, the newsletter](https://tpiros.dev/newsletter): The three-finger salute for work you should not be doing yourself. Most recent: - [EmbeddingGemma 2 in the browser: one search box for photos, sound, video and notes](https://tpiros.dev/blog/embeddinggemma-2-in-the-browser.md): How EmbeddingGemma 2 puts text, images, audio and video into one vector space, and what it takes to run it entirely in a browser tab on WebGPU: token budgets, a 2,700-token wall, Matryoshka truncation, offline search, and why q4 doesn't load on WASM. - [How Code Mode turns MCP tools into a TypeScript API](https://tpiros.dev/blog/code-mode-typescript-api.md): Code Mode gives the model a TypeScript API instead of a list of tools, then runs the program it writes in a sandbox. How the pattern works, built from scratch on MCP, QuickJS and Gemini, and where it gets fiddly. - [Jev, the model that can't write](https://tpiros.dev/blog/jev-the-model-that-cannot-write.md): Jev is a model that cannot generate a single word of text. It picks from options you give it and returns a probability for each, dozens of questions per call, in a few hundred milliseconds. To see what that's good for I gave it a gamebook to referee: you type anything, Jev decides what you meant, whether it would work, and what it says about you. - [MCP, WebMCP, A2A and ARD](https://tpiros.dev/blog/mcp-webmcp-a2a-ard.md): Four protocols cover almost everything an agent needs to reach: a tool, a web page, another agent, and a catalogue of what exists. MCP and WebMCP are separate specifications by different authors. ARD is four months old and indexes the other three. Here's what each one is and who's on each end of the wire. - [Musubi: a history of everything you asked](https://tpiros.dev/blog/musubi-local-first-second-brain.md): I have thousands of conversations with AI tools scattered across four applications. Musubi reads all of them, distils them, and hands the result back to any agent over MCP, with nothing ever leaving the machine. - [Stop asking the model to remember arithmetic](https://tpiros.dev/blog/stop-asking-the-model-to-remember-arithmetic.md): Most of what is in my skill files should not be there. A skill is knowledge the model needs while it works; a check is a fact about whether the output came out right. Almost everything I had written into skill files was the second kind wearing the clothes of the first. - [When to write an agent skill](https://tpiros.dev/blog/when-to-write-an-agent-skill.md): Vercel ran an eval where installed skills scored exactly the same as no documentation at all, because the agent never opened them in 56% of cases. A flat docs index in AGENTS.md scored 100% on the same suite. The useful reading of that result is about which of two jobs you're doing: putting a fact in front of the model, or getting a sequence carried out the same way every time. - [Routing a prompt between Gemini Nano and the cloud](https://tpiros.dev/blog/hybrid-ai-in-the-browser.md): Chrome and Edge both ship a language model, and the AI SDK makes swapping one for a cloud model a one-line change. The interesting part is the router that decides which one runs, and every constant in it comes from a measurement. - [MCP's Progressive Tool Discovery](https://tpiros.dev/blog/progressive-tool-discovery-prompt-caching.md): Progressive tool discovery is usually sold on prompt caching. Keep the tools array fixed, the argument goes, and the cached prefix survives. I ran 72 benchmarks across gemini-3.5, 3.6 and 3.7 Flash at 14, 42, 84 and 280 tools. The fixed prefix cached in exactly zero of 36 runs, the pattern it argues against cached up to 93%, and the point where the pattern starts paying moved down to about 20 tools on the newest model. - [Stateless MCP servers](https://tpiros.dev/blog/stateless-mcp-servers.md): The MCP server most tutorials ship, mine included, opens with a session handshake: initialize, get back an Mcp-Session-Id, carry it on every request, hold a live transport per client on the server. A stateless server drops all of it. Each request stands alone, any copy of the server can answer it, and the July 2026 spec makes that the only model there is. Here are both servers side by side, compared on the wire. - [The agent said it was in stock](https://tpiros.dev/blog/the-agentic-web.md): Agents keep giving me confident, wrong answers about the real world. WebMCP fixes half of that problem; discovery is still wide open. - [The forward deployed engineer land grab](https://tpiros.dev/blog/forward-deployed-engineer-land-grab.md): Four companies committed roughly $9 billion in nine weeks to putting their own engineers inside customer organisations. What a forward deployed engineer actually costs, who really gets one, and the question to ask before you sign anything: what remains when they leave? - [Authenticating MCP servers](https://tpiros.dev/blog/authenticating-mcp-servers.md): Almost every MCP tutorial, mine included, ships a server with no idea who's calling it: any client that reaches the endpoint gets the same data. For a while the protocol had no answer to that. It does now, and auth is the part of the MCP spec that has moved most. Here's the smallest server that sits on the right side of it, with a bearer token at the door and each user seeing only their own data, checked on the wire. - [Headless tools: let an LLM act in the user's browser](https://tpiros.dev/blog/headless-tools-gemini-browser.md): A model's tools normally run on the server. But the interesting capabilities, location, IndexedDB, the clipboard, live in the browser. Here's a pattern that declares a tool's schema to Gemini and runs its body on the user's device, with no agent framework and the API key never leaving the server. - [Introduction to WebMCP](https://tpiros.dev/blog/building-with-webmcp.md): WebMCP lets a page hand structured tools to an in-browser agent instead of making it guess at your UI. I wired 22 tools into Watch Anchor; here's how the API works and what I learned. ## Contact - Email: hello@tamaspiros.com - Book a 30-minute call: https://calendly.com/tamas-piros/30min - LinkedIn: https://www.linkedin.com/in/tpiros - Preferred: Email for anything with detail; the 30-minute call for scoping an engagement. ## Optional - [llms-full.txt](https://tpiros.dev/llms-full.txt): The full markdown text of every main page in a single file. - [Agent instructions](https://tpiros.dev/agent-instructions.md): When to reach for this site, what not to use it for, and the rules to follow when quoting it. - [Markdown content negotiation](https://tpiros.dev/about.md): Every page and every article answers `Accept: text/markdown` with its markdown source, and serves the same document at its URL with a `.md` suffix. - [Sitemap index](https://tpiros.dev/sitemap-index.xml): Every indexable URL on the site.