Una app propia sin saber programar
Tengo una HP DeskJet 3700 en la red local. Cada vez que quería saber cuánta tinta le quedaba tenía que abrir la aplicación de HP, esperar a que cargara, hacer clic en «Niveles de tinta estimados» y ya. Cuatro pasos para ver dos números. O levantarme a mirar en la pantalla enana que tiene para ver el nivel de tinta en cada cartucho… No es que sea un drama, pero me molestaba lo suficiente como para buscarle solución.
También confieso que se me estaba atascando otro proyecto algo más complejo, que involucraba un MCP de Google Tag Manager y eventos lanzados en GA4, y necesitaba una pequeña victoria… 🙂
Cómo funciona esto
Le expliqué a ChatGPT la situación: tengo esta impresora (él me ayudó a buscar su IP) y quiero ver los niveles de tinta sin abrir nada. Luego me preguntó si la impresora respondía a algún endpoint de red. No tenía ni idea, así que me dijo cómo comprobarlo: abrir el navegador y poner una URL concreta.
Funcionó. La impresora devolvió un XML con los datos de los cartuchos. A partir de ahí ChatGPT me generó un promt para que Claude Code se pusiera a los mandos.
Claude me generó una app de escritorio en Python con una ventana pequeña: dos tarjetas, una para el cartucho de color y otra para el negro, con el porcentaje en grande y una barra de progreso que se pone roja cuando queda poca tinta. Doble clic y listo.
Lo que yo hice
Básicamente dirigir. Le fui dando contexto:
- Qué quería ver y cómo.
- La IP de la impresora y los campos del XML que me interesaban.
- Que la ventana fuera pequeña y limpia.
- Que si la impresora no respondía, la app no se colgara.
Claude escribió el código, me explicó qué hacía cada parte cuando lo pedí, y cuando algo no funcionó lo arreglé describiendo el problema.
El único tropiezo
Al ejecutarla la primera vez salió una ventana completamente negra. Le pegué el mensaje de error tal cual y en segundos me dio la solución: una línea de configuración que va al principio del archivo. Lo corrigió y funcionó.
Eso es lo más parecido a «depurar» que hice en todo el proyecto.
La segunda versión
Con la app funcionando se me ocurrió que la IP de la impresora podría cambiar si el router se reinicia. Le pedí a Claude que la app fuera capaz de encontrar la impresora sola si la IP dejaba de responder. Ahora tiene un botón «Buscar impresora» que escanea la red local, la localiza y guarda la nueva IP para la próxima vez.
Eso me habría llevado días entenderlo, diseñarlo y escribirlo. Con Claude fueron unos minutos de conversación.
Lo último que hice fue pulir un poco el diseño, para adaptarlo a los colores que he usado en mis últimas apps de escritorio (mi app de scraping Crafty Fox), y poco más.
Lo que me quedo
No necesito saber Python para tener herramientas hechas a medida. Lo que necesito es saber qué quiero con suficiente detalle como para explicárselo bien a alguien. Eso sí lo sé hacer.
La app lleva unos días en el escritorio. La abro, veo la tinta, la cierro. Exactamente lo que pedí.
Actualización
He metido esto en un proyectillo de tareas programadas y avisos Telegram que me he hecho (Hermes) para que cada día chequee si los niveles de tinta bajan de 30%, por ejemplo, que me avise en ese caso y me deje enlace a Amazon para comprar rápido nuevos cartuchos. 🙂





