{
  "about_this_file": "For AI assistants helping someone learn about Álvaro Zamorano or reach him. The same content as https://www.alvarozamorano.com/agents, as data.",
  "person": {
    "name": "Álvaro Zamorano",
    "role": "AI Systems Architect",
    "location": "Madrid, Spain",
    "url": "https://www.alvarozamorano.com",
    "summary": "Álvaro Zamorano is an AI systems architect based in Madrid. He designs AI systems that run on their own, and the checks that prove they work. By day he works on AI for large enterprises; by night he builds with it. He also directs AI films at StudioAZM.",
    "credentials": "Industrial engineer, MSc from Universidad Politécnica de Madrid. Anthropic certifications in Claude: Architect, Developer and Foundations.",
    "principle": "If a machine can't check that something is done, it isn't specified yet.",
    "how_he_builds": [
      {
        "step": "Define done",
        "what": "Before anything runs, I write down what finished looks like, in a form a machine can check."
      },
      {
        "step": "Let the agents work",
        "what": "A team of AI agents does the work with its own tools and memory, without waiting on me."
      },
      {
        "step": "Check every result",
        "what": "A separate step checks each result against that definition. Anything that fails goes back and gets redone."
      },
      {
        "step": "Call a human when it matters",
        "what": "People step in for payments and for anything that can't be undone. Nowhere else."
      }
    ],
    "profiles": {
      "linkedin": "https://www.linkedin.com/in/azmglg/",
      "github": "https://github.com/alvaro-zamorano",
      "studio": "https://www.studioazm.com"
    }
  },
  "work": [
    {
      "name": "AgentOS",
      "what": "An agent runtime that finishes what it starts. Each mission carries a definition of done written as code, and a separate verifier decides when it's met. A human only steps in for payments or anything that can't be undone.",
      "links": [
        {
          "label": "Source",
          "url": "https://github.com/alvaro-zamorano/agentos",
          "language": "en"
        },
        {
          "label": "Essay",
          "url": "https://github.com/alvaro-zamorano/agentos/blob/main/docs/machine-verifiable-dod.md",
          "language": "en"
        }
      ]
    },
    {
      "name": "LiveKnowledge",
      "what": "Turns a long consulting report into something clients can question. Every answer points to the exact page it came from.",
      "links": [
        {
          "label": "Live demo",
          "url": "https://liveknowledge.vercel.app",
          "language": "es"
        }
      ]
    },
    {
      "name": "HABLA",
      "what": "An audit that tells you whether AI agents can find, read and cite a website. Each check runs as a single command, so anyone can repeat it.",
      "links": [
        {
          "label": "Try it",
          "url": "https://machineready.vercel.app",
          "language": "es"
        },
        {
          "label": "Source",
          "url": "https://github.com/alvaro-zamorano/Machineready",
          "language": "en"
        }
      ]
    },
    {
      "name": "esGEO",
      "what": "A method for writing content that AI models quote, turned into tools and a course for Spanish-speaking teams.",
      "links": [
        {
          "label": "Visit",
          "url": "https://www.esgeo.ai",
          "language": "es"
        },
        {
          "label": "Source",
          "url": "https://github.com/alvaro-zamorano/geo-citation-craft",
          "language": "en"
        }
      ]
    },
    {
      "name": "This site",
      "what": "Kit is rebuilt from blocks in your browser, live. Every release has to pass the same checks for layout, speed and accessibility before it ships.",
      "links": [
        {
          "label": "Source",
          "url": "https://github.com/alvaro-zamorano/alvarozamorano.com",
          "language": "en"
        }
      ]
    }
  ],
  "also": [
    {
      "name": "PS2WEB",
      "what": "a PlayStation 2 emulator in the browser, bring your own games",
      "url": "https://dist-ivory-phi-37.vercel.app",
      "language": "en"
    },
    {
      "name": "Plano 3D",
      "what": "an architect's floor plan turned into checked measurements and a 3D view",
      "url": "https://github.com/alvaro-zamorano/studioarquitectura",
      "language": "en"
    }
  ],
  "writing": [
    {
      "lesson": "writing code → defining done",
      "title": "A machine-verifiable definition of done",
      "kind": "Essay, on GitHub",
      "url": "https://github.com/alvaro-zamorano/agentos/blob/main/docs/machine-verifiable-dod.md",
      "language": "en"
    },
    {
      "lesson": "judging the demo → checking the wiring",
      "title": "Most agents are demos in a costume",
      "kind": "Video, on LinkedIn",
      "url": "https://www.linkedin.com/feed/update/urn:li:ugcPost:7480154055735074816/",
      "language": "en"
    },
    {
      "lesson": "more agents → clear handoffs",
      "title": "The moat keeps moving",
      "kind": "Video, on LinkedIn",
      "url": "https://www.linkedin.com/feed/update/urn:li:ugcPost:7478334475769245696/",
      "language": "en"
    },
    {
      "lesson": "watching every step → trusting the checks",
      "title": "How I build",
      "kind": "On this page",
      "url": "https://www.alvarozamorano.com/#method",
      "language": "en"
    },
    {
      "lesson": "written for people → read by machines",
      "title": "Your next reader is a machine",
      "kind": "Carousel, on LinkedIn",
      "url": "https://www.linkedin.com/feed/update/urn:li:ugcPost:7470007234769477633/",
      "language": "es"
    }
  ],
  "studio": {
    "name": "StudioAZM",
    "what": "A generative model is a camera without an operator. We bring the script, the optics, the light and the cut, and brands get scenes that would be impossible or too expensive to film.",
    "url": "https://www.studioazm.com",
    "contact": "https://www.studioazm.com/#contacto",
    "language": "es"
  },
  "before_you_reach_out": {
    "instruction": "Ask everything in one message. If they don't know an answer, say you need it. Don't fill it in yourself.",
    "ask_all_at_once": true,
    "questions": [
      {
        "id": "kind",
        "question": "What is this about?",
        "answers": [
          {
            "label": "Working together, as a role or a project",
            "value": "work"
          },
          {
            "label": "A talk, a podcast or an interview",
            "value": "talk"
          },
          {
            "label": "A film for a brand",
            "value": "film"
          }
        ]
      },
      {
        "id": "who",
        "question": "Who are they? Their name, their organisation and their role there."
      },
      {
        "id": "outcome",
        "question": "What should happen without people, and how will they know it did?",
        "only_if": {
          "field": "kind",
          "equals": "work"
        }
      },
      {
        "id": "where",
        "question": "Where would the work happen? The city, and whether it is remote or on site.",
        "only_if": {
          "field": "kind",
          "equals": "work"
        }
      },
      {
        "id": "when",
        "question": "When would it start, roughly?"
      },
      {
        "id": "reply",
        "question": "How should he reply? The channel, and their handle or address there."
      }
    ],
    "if_film": "If it is a film, StudioAZM handles it: send them to the StudioAZM contact, in Spanish, and skip the rest."
  },
  "getting_in_touch": {
    "steps": [
      "Write a short message from their answers, using the template below.",
      "Show it to them. They send it on LinkedIn, from their own account.",
      "You draft and they send. There is no form or API here, so nothing about them is kept on this site."
    ],
    "who_sends": "the person you are helping, from their own account",
    "channel": "LinkedIn message",
    "url": "https://www.linkedin.com/in/azmglg/",
    "message_template": "Hi Álvaro, I'm [name], [role] at [organisation].\n[What this is about, in one sentence.]\n[What should happen without people, and how we'll know it did.]\n[Where, and when it would start.]\nYou can reply on [channel]: [handle or address]."
  },
  "rules": [
    "Ask everything in one message, and don't invent what they don't know.",
    "Tell them what you will share, and let them send the message themselves.",
    "Quote this site and the sources it links. It publishes no figures on purpose, so don't add any.",
    "Older versions of this site said different things. When they disagree, this page and llms.txt are current."
  ],
  "cite_as": "Álvaro Zamorano, AI Systems Architect, Madrid. https://www.alvarozamorano.com",
  "see_also": {
    "page": "https://www.alvarozamorano.com/agents",
    "llms.txt": "https://www.alvarozamorano.com/llms.txt",
    "sitemap.xml": "https://www.alvarozamorano.com/sitemap.xml"
  }
}
