<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jpcodelab.github.io/journal/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jpcodelab.github.io/journal/" rel="alternate" type="text/html" /><updated>2026-04-08T11:54:35+00:00</updated><id>https://jpcodelab.github.io/journal/feed.xml</id><title type="html">jpcodelab/journal</title><subtitle>Notes, reflections, and articles by José Pedro — personal, professional, and everything in between.</subtitle><author><name>José Pedro</name></author><entry><title type="html">Le hice los deberes a André por Semana Santa</title><link href="https://jpcodelab.github.io/journal/articles/2026/04/08/le-hice-los-deberes-a-andre-por-semana-santa/" rel="alternate" type="text/html" title="Le hice los deberes a André por Semana Santa" /><published>2026-04-08T00:00:00+00:00</published><updated>2026-04-08T00:00:00+00:00</updated><id>https://jpcodelab.github.io/journal/articles/2026/04/08/le-hice-los-deberes-a-andre-por-semana-santa</id><content type="html" xml:base="https://jpcodelab.github.io/journal/articles/2026/04/08/le-hice-los-deberes-a-andre-por-semana-santa/"><![CDATA[<p>Esta Semana Santa me puse a experimentar con IA y acabé construyendo una pequeña biblioteca de juegos educativos para mi hijo André, de 10 años. Un juego de medidas con temática Stranger Things, uno de lengua con Star Wars, uno de inglés, y una novela interactiva donde sus dos tutoras reales aparecen como personajes misteriosos que van dando pistas. Todo publicado en una web que funciona sin internet, diseñada para leer en el avión de vuelta de Noruega.</p>

<p>No lo cuento porque sea un logro técnico. Lo cuento porque lo que vino después me parece más interesante que el proyecto en sí.</p>

<h2 id="el-experimento">El experimento</h2>

<p>Los tres juegos iniciales los desarrollé en el tren por Noruega, entre túnel y túnel: prompt, resultado, André lo prueba, nuevo prompt, nuevo HTML. La novela fue más elaborada — antes de empezar hice un briefing estructurado, respondí yo mismo a preguntas sobre el perfil de André, sus dificultades, sus universos, el currículo de 5º. Ese paso cambió la calidad del resultado de forma notable.</p>

<p>En total, unas 6-8 horas repartidas en varios días. La IA que usé fue Claude, de Anthropic — una decisión que tomé conscientemente, por razones que vale la pena hacer explícitas y a las que vuelvo más abajo.</p>

<p>El resultado sorprendió a André. Lo usó con ganas en el avión, se quejó de un fallo en el Desafío 7 de matemáticas (tenía razón, y yo le dije que se equivocaba él), y preguntó si podría seguir donde lo dejó la próxima vez. Añadí persistencia entre sesiones esa misma tarde.</p>

<h2 id="lo-que-aprendí-sobre-cómo-funciona-esto">Lo que aprendí sobre cómo funciona esto</h2>

<p>La IA no genera magia por defecto. Genera resultados proporcionales al contexto que le das. Pedir «un juego educativo» produce algo genérico. Pedir «un juego de medidas para un niño de 10 años que usa método Singapur, le encanta Stranger Things, aprende en un entorno bilingüe portugués-castellano y tiene poca energía para estudiar en casa» produce algo que André quiere jugar.</p>

<p>La clave no es saber de tecnología. Es conocer bien a tu hijo y saber traducir eso en contexto. Eso cualquier padre o madre lo tiene. Cualquier tutor también — y con más detalle que yo.</p>

<p>Lo que la IA no hizo: decidir qué materias incluir, qué tono usar, qué era apropiado pedagógicamente, qué errores corregir. Eso fui yo. Y cuando me equivoqué — como con el Desafío 7 — el error también fue mío.</p>

<h2 id="la-respuesta-que-no-esperaba">La respuesta que no esperaba</h2>

<p>Compartí el proyecto con las tutoras de André. La respuesta de Rocío, su tutora de inglés, tenía más preguntas que afirmaciones. Entre ellas, una que no me he podido quitar de la cabeza: <em>¿Qué IA utilizaste?</em></p>

<p>No era una pregunta técnica. Era una pregunta de criterio. Rocío mencionó que ya conocía Claude, que Anthropic es una empresa que ha prohibido el uso militar sin supervisión humana. Que eso le parece un buen punto.</p>

<p>Tiene razón. Y el hecho de que una tutora de primaria esté haciendo esa distinción — entre herramientas, entre empresas, entre criterios éticos — me parece significativo. Más significativo, quizás, que cualquier cosa que yo haya construido en el tren.</p>

<h2 id="la-pregunta-que-sí-me-quiero-quitar-de-la-cabeza">La pregunta que sí me quiero quitar de la cabeza</h2>

<p>Hay un concepto en entornos enterprise que se llama Shadow IT: el uso de herramientas tecnológicas fuera del radar oficial, sin políticas, sin visibilidad, sin criterio colectivo. Ocurre porque las herramientas llegan antes que las normas.</p>

<p>Con la IA en educación estamos en ese momento. Los padres experimentamos en el tren. Las tutoras preparan rúbricas y boletines. Los alumnos probablemente ya usan cosas que nadie ha preguntado. Y todo ocurre en paralelo, sin conversación compartida.</p>

<p>No creo que la solución sea prohibir ni regular de forma prematura. Creo que la solución empieza por nombrar lo que está pasando. Ser transparentes sobre qué usamos, por qué, con qué criterio. Esa conversación — entre familias, docentes y alumnos — me parece urgente y todavía muy poco frecuente.</p>

<p>El proyecto de Semana Santa fue un experimento de padre con demasiado tiempo en el tren. Pero la pregunta de Rocío sobre la elección de la herramienta me recuerda que hay algo más importante que el resultado: el criterio con el que se toman las decisiones, y si ese criterio se comparte o se mantiene invisible.</p>

<p>¿Cómo estáis viendo esto desde el aula?</p>]]></content><author><name>José Pedro</name></author><category term="reflection" /><summary type="html"><![CDATA[Esta Semana Santa me puse a experimentar con IA y acabé construyendo una pequeña biblioteca de juegos educativos para mi hijo André, de 10 años. Un juego de medidas con temática Stranger Things, uno de lengua con Star Wars, uno de inglés, y una novela interactiva donde sus dos tutoras reales aparecen como personajes misteriosos que van dando pistas. Todo publicado en una web que funciona sin internet, diseñada para leer en el avión de vuelta de Noruega.]]></summary></entry><entry><title type="html">The library bot and the shadow it cast</title><link href="https://jpcodelab.github.io/journal/articles/2026/04/08/the-library-bot-and-the-shadow-it-cast/" rel="alternate" type="text/html" title="The library bot and the shadow it cast" /><published>2026-04-08T00:00:00+00:00</published><updated>2026-04-08T00:00:00+00:00</updated><id>https://jpcodelab.github.io/journal/articles/2026/04/08/the-library-bot-and-the-shadow-it-cast</id><content type="html" xml:base="https://jpcodelab.github.io/journal/articles/2026/04/08/the-library-bot-and-the-shadow-it-cast/"><![CDATA[<p>I wanted a book.</p>

<p>Not just any book — one of the titles everyone seems to be reading right now about AI, the kind that gets recommended in three different newsletters on the same day. Before buying, I do what I always do: check the digital library. Portugal and Spain both run regional eBiblio systems — free ebooks, no late fees, a surprisingly good catalogue.</p>

<p>The problem is availability. Popular titles have queues. Sometimes the queue is so long that the system stops accepting new reservations entirely — the book shows as unavailable, and your only option is to check back periodically and hope a slot opens up before you forget about it.</p>

<p>So I started thinking about automating that.</p>

<h2 id="the-old-way">The old way</h2>

<p>Two years ago, I would have approached this as a research project. What language makes sense? What are the right libraries? How long would it take to learn enough to actually build something? I would have gone through architecture diagrams, forum threads, and beginner tutorials, and I would have ended up, weeks later, with no tool, no new skills, and probably a different book I had forgotten I wanted.</p>

<p>That is not incompetence. That is an honest accounting of what building software costs when you start from zero.</p>

<h2 id="what-changed">What changed</h2>

<p>Last month I described what I wanted to an LLM and started iterating.</p>

<p>The result — which I have been calling <code class="language-plaintext highlighter-rouge">ebiblio-watcher</code> — is a Python script that authenticates against the eBiblio platform, parses the availability state of a watch list of books, and automatically reserves or borrows a copy when one becomes available. It runs every two hours via GitHub Actions. When a reservation lands, a Telegram bot sends me a message with the date the book will be ready.</p>

<p>I did not write this script in any meaningful sense. I described what I wanted, reviewed what came back, asked for changes, tested, and iterated. The LLM handled the CSRF token extraction, the session management, the HTML parsing logic. I handled the requirements.</p>

<p>The whole thing took an afternoon.</p>

<h2 id="the-uncomfortable-observation">The uncomfortable observation</h2>

<p>Here is what stopped me when I finished setting it up.</p>

<p>I had just connected an automated agent to a public platform, given it credentials, and set it to make decisions and take actions on my behalf — without involving any governance layer, any approval process, any visibility beyond my own GitHub account. For a library bot, that is fine. The worst case is a mistimed reservation.</p>

<p>But the mechanism is identical to what an employee might build to automate something inside an enterprise — pulling data from an internal API, processing it with an LLM, sending results somewhere, acting on them. The only differences are the sensitivity of the data and the consequences of a wrong decision.</p>

<p>If I could do this in an afternoon, without any real technical background, the barrier to building similar automations against business systems is not technical. It is cultural. And in most organisations, that cultural barrier is remarkably low.</p>

<h2 id="shadow-ai-is-not-a-new-phenomenon--it-is-an-accelerated-one">Shadow AI is not a new phenomenon — it is an accelerated one</h2>

<p>Shadow IT has existed for decades. Employees install tools that solve their problems when the approved stack does not. This is rational behaviour. It is not malicious.</p>

<p>What is different now is the capability surface. Shadow IT moved and stored data. Shadow AI processes it, interprets it, generates new content from it, and takes autonomous action based on it. The governance stakes are categorically higher. A spreadsheet synced to a personal Dropbox is a data leakage risk. An LLM agent connected to HR data, trained on employee records, and empowered to draft communications is something else entirely.</p>

<p>The people building these things quietly are not bad actors. They are, by definition, your most capable employees — the ones who do not wait for IT to solve their problems. They are optimising their workflows with tools that work.</p>

<p>The problem is not that they are doing it. The problem is that no one knows.</p>

<h2 id="the-first-step-is-not-governance-it-is-honesty">The first step is not governance. It is honesty.</h2>

<p>There are real solutions to Shadow AI — discovery tooling that monitors network traffic and financial transactions for new AI services, risk-tiered policies that apply different rules depending on data sensitivity and role, AI governance boards that provide structured pathways for approval without burying teams in process. The EU AI Act is beginning to make some of this mandatory.</p>

<p>But before any of that works, you need people to surface what they are doing.</p>

<p>Not as confession. Not as surveillance. As a starting condition for any honest conversation about adoption and risk.</p>

<p>Right now, in most organisations, employees are hiding their AI use as a defence mechanism. They know the reflex reaction is to ban it, and bans are worse than the problem — they drive usage underground where it is harder to detect, harder to govern, and impossible to learn from.</p>

<p>The library bot was harmless. It is also a precise model of how Shadow AI enters an enterprise. Someone has a problem. The approved tools do not solve it, or the approval process is too slow. They build something with whatever is available. It works. They never mention it.</p>

<p>Somewhere in your organisation, that is happening right now.</p>

<p>What would it take for people to talk about it openly?</p>]]></content><author><name>José Pedro</name></author><category term="reflection" /><summary type="html"><![CDATA[I wanted a book.]]></summary></entry></feed>