Michael Liendo
Michael Liendo is a staff developer advocate at Auth0 who writes and teaches as Focus Otter. He makes delegated access concrete with a small purchase. A reader wants an AI assistant to buy one paywalled article. What credential would let it pay for that article without giving it the reader’s card number?
On this page
Teaching with working software
Michael worked as a UX engineer and technical instructor at John Deere from 2019 to 2021. He founded Focus Otter Solutions in 2020 and joined AWS as a senior developer advocate in 2021. Alongside his video tutorials, he wrote examples at different scales. One showed how to package Sharp, an image-processing library, as a reusable Lambda layer. In 2023, he and Eric Robertson showed how to build a chat application with Amazon Bedrock. Users could chat with an agent and an administrator could configure it. AppSync connected the React interface to Bedrock, and DynamoDB kept the conversation history.
For a 2024 tutorial, Michael used a four-in-a-row game to show how a move on one player’s screen reaches the other player. The sample’s IAM policy gives every guest the same API-wide permission to connect, publish and subscribe. The game code selects the channel for the match, and AppSync Events carries each move to subscribers over a WebSocket.
In his account-signup example, timing matters. Michael uses Amazon Cognito’s post-confirmation event to trigger a Lambda function that adds the new user to a group. The user gains membership only after confirming the account.
Who sets an agent’s spending limit?
Michael joined Auth0 in 2025. In May 2026, he and Rosalie Bartlett showed developers how to connect an Auth0 tenant to a Stripe Project from the command line. That July, Michael examined payments from the buyer’s side in Your AI Agent Doesn't Need Your Card Number.
Giving an assistant a card number puts a reusable credential in the model’s context, even when the reader has authorized just one purchase. Michael draws on OAuth, where a user can grant software a narrow permission that expires or can be revoked. In his article-purchase example, the assistant gets a shared payment token that only the designated seller can redeem, before it expires and up to the amount the reader approved. The payment provider enforces that limit. Even if the seller asks for more and the assistant agrees, the provider refuses the charge.