{"version":1,"lang":"es","user":"guest","home":"/home/guest","downloads":"Descargas","root":{"type":"dir","name":"","id":"root","children":[{"type":"dir","name":"home","id":"home","children":[{"type":"dir","name":"guest","id":"guest","children":[{"type":"file","name":".plan","id":".plan","mime":"text/plain","raw":"Encontraste el .plan, como en los viejos tiempos de finger.\n\nAhora mismo: construyendo Armadillo Gaming (mesas de juego con IoT e IA) y dando Ingeniería\nde Software en IDRA.\n"},{"type":"file","name":"contacto.md","id":"contact.md","mime":"text/markdown","raw":"# Contacto\n\nLa vía preferida es LinkedIn: mandame un mensaje contando qué necesitás.\n\n- **LinkedIn:** [linkedin.com/in/magregorio](https://www.linkedin.com/in/magregorio)\n- **GitHub:** [github.com/martingregorio](https://github.com/martingregorio)\n- **Email:** hi (arroba) martingregorio (punto) com (punto) ar\n","alt":"contact.md","html":"<h1>Contacto</h1>\n<p>La vía preferida es LinkedIn: mandame un mensaje contando qué necesitás.</p>\n<ul>\n<li><strong>LinkedIn:</strong> <a href=\"https://www.linkedin.com/in/magregorio\" target=\"_blank\" rel=\"noopener noreferrer\">linkedin.com/in/magregorio</a></li>\n<li><strong>GitHub:</strong> <a href=\"https://github.com/martingregorio\" target=\"_blank\" rel=\"noopener noreferrer\">github.com/martingregorio</a></li>\n<li><strong>Email:</strong> hi (arroba) martingregorio (punto) com (punto) ar</li>\n</ul>"},{"type":"file","name":"cv.json","id":"cv.json","mime":"application/json","raw":"{\n  \"lang\": \"es\",\n  \"basics\": {\n    \"name\": \"Martin Gregorio\",\n    \"label\": \"Principal Engineer y arquitecto de software\",\n    \"location\": \"Mar del Plata, Argentina\",\n    \"summary\": \"Principal Engineer y arquitecto de software con más de 14 años diseñando sistemas backend, cloud e IoT. Trabajé en pipelines de video para WWE y Canela Media, en fintech multi-país con Tigo Money, y hoy construyo Armadillo Gaming, una plataforma de mesas de juego con IA. Trabajo con desarrollo guiado por especificaciones y agentes de IA, y enseño Ingeniería de Software en IDRA, donde acompaño a estudiantes en proyectos para clientes reales.\",\n    \"email\": \"hi@martingregorio.com.ar\",\n    \"profiles\": [\n      {\n        \"network\": \"LinkedIn\",\n        \"url\": \"https://www.linkedin.com/in/magregorio\"\n      },\n      {\n        \"network\": \"GitHub\",\n        \"url\": \"https://github.com/martingregorio\"\n      }\n    ]\n  },\n  \"experience\": [\n    {\n      \"id\": \"idra-ingsoft\",\n      \"company\": \"IDRA\",\n      \"role\": \"Profesor de Ingeniería de Software\",\n      \"start\": \"2026\",\n      \"end\": null,\n      \"location\": \"Mar del Plata\",\n      \"highlights\": [\n        \"Ciclo de vida del software, metodologías ágiles, CI/CD, testing unitario, métricas y roles dentro de un equipo.\",\n        \"Integraciones con APIs REST y GraphQL.\",\n        \"Acompaño a los estudiantes durante el proyecto anual, una solución real para un cliente real.\"\n      ],\n      \"stack\": [\n        \"GraphQL\",\n        \"GitHub Actions\"\n      ],\n      \"tags\": [\n        \"docencia\"\n      ]\n    },\n    {\n      \"id\": \"armadillo\",\n      \"company\": \"Armadillo Gaming\",\n      \"role\": \"Founder y arquitecto de software\",\n      \"start\": \"2025-01\",\n      \"end\": null,\n      \"location\": \"Mar del Plata\",\n      \"highlights\": [\n        \"Fundé y lidero un producto que une hardware y software. Coordino al equipo que diseña, desarrolla la electrónica y construye las mesas modulares en madera maciza.\",\n        \"Diseñé de punta a punta la plataforma IoT, de los dispositivos a la nube, sobre AWS y con infraestructura como código.\",\n        \"Construí un coach de juegos con IA que enseña a jugar y responde dudas de reglas en voz alta, con respuestas que citan el reglamento.\",\n        \"Implementé actualizaciones de firmware remotas, firmadas y con rollback automático.\",\n        \"Trabajo con desarrollo guiado por especificaciones y agentes de IA, con contratos versionados y gates de calidad en CI.\"\n      ],\n      \"stack\": [\n        \"Go\",\n        \"TypeScript\",\n        \"NestJS\",\n        \"Svelte\",\n        \"PostgreSQL\",\n        \"MQTT\",\n        \"AWS\",\n        \"Terraform / OpenTofu\",\n        \"GitHub Actions\",\n        \"LLMs (Claude, Gemini)\",\n        \"RAG y embeddings\",\n        \"Agentes de IA\"\n      ],\n      \"tags\": [\n        \"iot\",\n        \"ia\",\n        \"arquitectura\",\n        \"liderazgo\"\n      ]\n    },\n    {\n      \"id\": \"idra-prog2\",\n      \"company\": \"IDRA\",\n      \"role\": \"Profesor de Programación 2\",\n      \"start\": \"2022-02\",\n      \"end\": \"2023-07\",\n      \"location\": \"Mar del Plata\",\n      \"highlights\": [\n        \"Lenguajes de programación, programación orientada a objetos y principios SOLID.\"\n      ],\n      \"stack\": [],\n      \"tags\": [\n        \"docencia\"\n      ]\n    },\n    {\n      \"id\": \"intive-canela\",\n      \"company\": \"intive (ex Spark Digital)\",\n      \"role\": \"Principal Engineer · Canela Media\",\n      \"start\": \"2022\",\n      \"end\": null,\n      \"location\": \"Mar del Plata (remoto)\",\n      \"highlights\": [\n        \"Responsable del pipeline de media completo, desde que llega el archivo fuente de los rightsholders hasta que el contenido está disponible para los clientes.\",\n        \"Transcode de mezzanine y proxy, y distribución automatizada a QuickPlay y Brightcove.\",\n        \"Integración con Vionlabs para obtener metadata y ad breaks a partir de los proxies, lo que agiliza el trabajo del equipo de contenido.\",\n        \"CI/CD con GitHub Actions e infraestructura con Terraform sobre AWS.\"\n      ],\n      \"stack\": [\n        \"TypeScript\",\n        \"DynamoDB\",\n        \"PostgreSQL\",\n        \"AWS\",\n        \"Terraform / OpenTofu\",\n        \"GitHub Actions\"\n      ],\n      \"tags\": [\n        \"media\",\n        \"streaming\",\n        \"arquitectura\"\n      ]\n    },\n    {\n      \"id\": \"intive-wwe\",\n      \"company\": \"intive (ex Spark Digital)\",\n      \"role\": \"Senior Engineer / Tech Lead · WWE\",\n      \"start\": \"2016-09\",\n      \"end\": \"2022\",\n      \"location\": \"Mar del Plata (remoto)\",\n      \"highlights\": [\n        \"Desarrollo del sistema interno que transcodifica video con AWS Elemental Server on-premise y lo distribuye a WWE.com, WWE Network, YouTube, Peacock y Sony LIV.\",\n        \"A cargo del MDM, con master records de los que cada plataforma hereda la metadata y la sobrescribe para cumplir sus propios requisitos.\",\n        \"CI/CD con GitLab y servicios en Laravel, NestJS y Go sobre AWS.\"\n      ],\n      \"stack\": [\n        \"Laravel\",\n        \"Vue\",\n        \"NestJS\",\n        \"MySQL\",\n        \"Beanstalkd\",\n        \"Redis\",\n        \"Go\",\n        \"AWS\",\n        \"AWS Elemental\",\n        \"GitLab CI\"\n      ],\n      \"tags\": [\n        \"media\",\n        \"streaming\",\n        \"video\"\n      ]\n    },\n    {\n      \"id\": \"globant\",\n      \"company\": \"Globant\",\n      \"role\": \"Desarrollador PHP → Líder técnico\",\n      \"start\": \"2014-08\",\n      \"end\": \"2016-09\",\n      \"location\": \"Mar del Plata\",\n      \"highlights\": [\n        \"Para Millicom/TIGO, desarrollé el backend de Tigo Money, una API REST en Phalcon que conectaba las apps móviles con los middlewares SOAP de las operadoras.\",\n        \"Lo implementé en Honduras, Guatemala y Bolivia, y di soporte a El Salvador y Tanzania. Empecé como desarrollador y terminé como líder técnico.\",\n        \"Después trabajé en Handler, un marketplace en Laravel para contratar servicios del hogar, como electricistas, plomeros o limpieza.\"\n      ],\n      \"stack\": [\n        \"PHP\",\n        \"Phalcon\",\n        \"Laravel\",\n        \"MySQL\"\n      ],\n      \"tags\": [\n        \"fintech\",\n        \"liderazgo\"\n      ]\n    },\n    {\n      \"id\": \"freelance\",\n      \"company\": \"Freelance\",\n      \"role\": \"Consultor y desarrollador de software\",\n      \"start\": \"2012-07\",\n      \"end\": null,\n      \"location\": \"Mar del Plata\",\n      \"highlights\": [\n        \"Desarrollé y mantengo desde 2017 el CRM de una fundación de ayuda a la infancia, que genera los débitos automáticos de sus donantes en siete redes de tarjetas (Visa, Mastercard, Cabal y Naranja, entre otras).\",\n        \"En 2026 lo reconstruí sobre Symfony 8 y AWS, con infraestructura como código, CI/CD y deploys atómicos con rollback automático, por unos 10 dólares al mes.\",\n        \"Consultoría y desarrollo en proyectos Laravel.\"\n      ],\n      \"stack\": [\n        \"PHP\",\n        \"Symfony\",\n        \"Laravel\",\n        \"MySQL\",\n        \"AWS\",\n        \"Terraform / OpenTofu\",\n        \"GitHub Actions\"\n      ],\n      \"tags\": [\n        \"fintech\",\n        \"consultoria\"\n      ]\n    }\n  ],\n  \"projects\": [\n    {\n      \"id\": \"this-site\",\n      \"title\": \"Este sitio\",\n      \"year\": 2026,\n      \"role\": \"Autor\",\n      \"summary\": \"Un sitio personal que es una terminal estilo fish, hecho con Astro y Svelte.\",\n      \"stack\": [\n        \"Astro\",\n        \"Svelte\",\n        \"TypeScript\",\n        \"AWS\",\n        \"Terraform / OpenTofu\"\n      ],\n      \"tags\": [\n        \"web\",\n        \"open-source\"\n      ],\n      \"url\": \"https://github.com/martingregorio/site\"\n    },\n    {\n      \"id\": \"armadillo-gaming\",\n      \"title\": \"Armadillo Gaming\",\n      \"year\": 2025,\n      \"role\": \"Founder y arquitecto\",\n      \"summary\": \"Mesas de juego modulares con IoT e IA, que ambientan cada partida con luz y sonido y enseñan a jugar.\",\n      \"stack\": [\n        \"Go\",\n        \"TypeScript\",\n        \"NestJS\",\n        \"Svelte\",\n        \"PostgreSQL\",\n        \"MQTT\",\n        \"AWS\",\n        \"Terraform / OpenTofu\",\n        \"GitHub Actions\",\n        \"LLMs (Claude, Gemini)\",\n        \"RAG y embeddings\",\n        \"Python\"\n      ],\n      \"tags\": [\n        \"iot\",\n        \"ia\",\n        \"hardware\",\n        \"arquitectura\"\n      ]\n    },\n    {\n      \"id\": \"canela-media\",\n      \"title\": \"Pipeline de media para Canela Media\",\n      \"year\": 2022,\n      \"role\": \"Principal Engineer\",\n      \"summary\": \"Ingesta, transcode y distribución de video, desde el archivo del rightsholder hasta QuickPlay y Brightcove.\",\n      \"stack\": [\n        \"TypeScript\",\n        \"DynamoDB\",\n        \"PostgreSQL\",\n        \"AWS\",\n        \"Terraform / OpenTofu\",\n        \"GitHub Actions\"\n      ],\n      \"tags\": [\n        \"media\",\n        \"streaming\",\n        \"arquitectura\"\n      ]\n    },\n    {\n      \"id\": \"wwe-media\",\n      \"title\": \"Transcode y metadata para WWE\",\n      \"year\": 2016,\n      \"role\": \"Senior Engineer / Tech Lead\",\n      \"summary\": \"Sistema interno de transcode y distribución de video a WWE Network, YouTube, Peacock y Sony LIV, con un MDM de metadata.\",\n      \"stack\": [\n        \"Laravel\",\n        \"Vue\",\n        \"NestJS\",\n        \"MySQL\",\n        \"Beanstalkd\",\n        \"Redis\",\n        \"Go\",\n        \"AWS\",\n        \"AWS Elemental\",\n        \"GitLab CI\"\n      ],\n      \"tags\": [\n        \"media\",\n        \"streaming\",\n        \"video\"\n      ]\n    },\n    {\n      \"id\": \"tigo-money\",\n      \"title\": \"Tigo Money\",\n      \"year\": 2014,\n      \"role\": \"Desarrollador → Líder técnico\",\n      \"summary\": \"Backend de la billetera móvil de Millicom/TIGO, implementado en varios países de Latinoamérica.\",\n      \"stack\": [\n        \"PHP\",\n        \"Phalcon\",\n        \"MySQL\"\n      ],\n      \"tags\": [\n        \"fintech\",\n        \"mobile\",\n        \"integraciones\"\n      ]\n    }\n  ],\n  \"skills\": [\n    {\n      \"category\": \"Arquitectura y cloud\",\n      \"items\": [\n        \"AWS\",\n        \"AWS Elemental\",\n        \"Terraform / OpenTofu\",\n        \"MQTT\",\n        \"IoT\"\n      ]\n    },\n    {\n      \"category\": \"Backend\",\n      \"items\": [\n        \"Go\",\n        \"TypeScript\",\n        \"Node.js\",\n        \"NestJS\",\n        \"PHP\",\n        \"Laravel\",\n        \"Symfony\",\n        \"GraphQL\",\n        \"RabbitMQ\"\n      ]\n    },\n    {\n      \"category\": \"Frontend\",\n      \"items\": [\n        \"Vue\",\n        \"Svelte\",\n        \"Astro\"\n      ]\n    },\n    {\n      \"category\": \"Datos\",\n      \"items\": [\n        \"PostgreSQL\",\n        \"MySQL\",\n        \"DynamoDB\",\n        \"Redis\",\n        \"MongoDB\"\n      ]\n    },\n    {\n      \"category\": \"IA\",\n      \"items\": [\n        \"LLMs (Claude, Gemini)\",\n        \"RAG / embeddings\",\n        \"AI agents\"\n      ]\n    },\n    {\n      \"category\": \"DevOps\",\n      \"items\": [\n        \"GitHub Actions\",\n        \"GitLab CI\",\n        \"Docker\"\n      ]\n    }\n  ],\n  \"education\": [\n    {\n      \"institution\": \"Universidad Tecnológica Nacional, Mar del Plata\",\n      \"degree\": \"Técnico Superior en Programación\",\n      \"start\": \"2011\",\n      \"end\": \"2013\"\n    },\n    {\n      \"institution\": \"Universidad FASTA\",\n      \"degree\": \"Ingeniería en Informática (estudios parciales)\",\n      \"start\": \"2006\",\n      \"end\": \"2011\"\n    }\n  ],\n  \"languages\": [\n    {\n      \"language\": \"Español\",\n      \"level\": \"Nativo\"\n    },\n    {\n      \"language\": \"Inglés\",\n      \"level\": \"Profesional\"\n    }\n  ],\n  \"certifications\": [\n    {\n      \"name\": \"Go: The Complete Developer's Guide (Golang)\"\n    },\n    {\n      \"name\": \"RabbitMQ and Messaging Concepts\"\n    },\n    {\n      \"name\": \"gRPC [Golang] Master Class: Build Modern API & Microservices\"\n    },\n    {\n      \"name\": \"Software Architecture for the Enterprise Architect\"\n    },\n    {\n      \"name\": \"M121: The MongoDB Aggregation Framework\",\n      \"issuer\": \"MongoDB University\"\n    }\n  ]\n}\n"},{"type":"file","name":"cv.md","id":"cv.md","mime":"text/markdown","raw":"# Martin Gregorio\n\n**Principal Engineer y arquitecto de software** · Mar del Plata, Argentina\n\n[LinkedIn](https://www.linkedin.com/in/magregorio) · [GitHub](https://github.com/martingregorio)\n\n## Resumen\n\nPrincipal Engineer y arquitecto de software con más de 14 años diseñando sistemas backend, cloud e IoT. Trabajé en pipelines de video para WWE y Canela Media, en fintech multi-país con Tigo Money, y hoy construyo Armadillo Gaming, una plataforma de mesas de juego con IA. Trabajo con desarrollo guiado por especificaciones y agentes de IA, y enseño Ingeniería de Software en IDRA, donde acompaño a estudiantes en proyectos para clientes reales.\n\n## Experiencia\n\n### Profesor de Ingeniería de Software — IDRA\n\n*2026 – actualidad* · Mar del Plata\n\n- Ciclo de vida del software, metodologías ágiles, CI/CD, testing unitario, métricas y roles dentro de un equipo.\n- Integraciones con APIs REST y GraphQL.\n- Acompaño a los estudiantes durante el proyecto anual, una solución real para un cliente real.\n\n**Stack:** GraphQL, GitHub Actions\n\n### Founder y arquitecto de software — Armadillo Gaming\n\n*ene 2025 – actualidad* · Mar del Plata\n\n- Fundé y lidero un producto que une hardware y software. Coordino al equipo que diseña, desarrolla la electrónica y construye las mesas modulares en madera maciza.\n- Diseñé de punta a punta la plataforma IoT, de los dispositivos a la nube, sobre AWS y con infraestructura como código.\n- Construí un coach de juegos con IA que enseña a jugar y responde dudas de reglas en voz alta, con respuestas que citan el reglamento.\n- Implementé actualizaciones de firmware remotas, firmadas y con rollback automático.\n- Trabajo con desarrollo guiado por especificaciones y agentes de IA, con contratos versionados y gates de calidad en CI.\n\n**Stack:** Go, TypeScript, NestJS, Svelte, PostgreSQL, MQTT, AWS, Terraform / OpenTofu, GitHub Actions, LLMs (Claude, Gemini), RAG y embeddings, Agentes de IA\n\n### Profesor de Programación 2 — IDRA\n\n*feb 2022 – jul 2023* · Mar del Plata\n\n- Lenguajes de programación, programación orientada a objetos y principios SOLID.\n\n### Principal Engineer · Canela Media — intive (ex Spark Digital)\n\n*2022 – actualidad* · Mar del Plata (remoto)\n\n- Responsable del pipeline de media completo, desde que llega el archivo fuente de los rightsholders hasta que el contenido está disponible para los clientes.\n- Transcode de mezzanine y proxy, y distribución automatizada a QuickPlay y Brightcove.\n- Integración con Vionlabs para obtener metadata y ad breaks a partir de los proxies, lo que agiliza el trabajo del equipo de contenido.\n- CI/CD con GitHub Actions e infraestructura con Terraform sobre AWS.\n\n**Stack:** TypeScript, DynamoDB, PostgreSQL, AWS, Terraform / OpenTofu, GitHub Actions\n\n### Senior Engineer / Tech Lead · WWE — intive (ex Spark Digital)\n\n*sept 2016 – 2022* · Mar del Plata (remoto)\n\n- Desarrollo del sistema interno que transcodifica video con AWS Elemental Server on-premise y lo distribuye a WWE.com, WWE Network, YouTube, Peacock y Sony LIV.\n- A cargo del MDM, con master records de los que cada plataforma hereda la metadata y la sobrescribe para cumplir sus propios requisitos.\n- CI/CD con GitLab y servicios en Laravel, NestJS y Go sobre AWS.\n\n**Stack:** Laravel, Vue, NestJS, MySQL, Beanstalkd, Redis, Go, AWS, AWS Elemental, GitLab CI\n\n### Desarrollador PHP → Líder técnico — Globant\n\n*ago 2014 – sept 2016* · Mar del Plata\n\n- Para Millicom/TIGO, desarrollé el backend de Tigo Money, una API REST en Phalcon que conectaba las apps móviles con los middlewares SOAP de las operadoras.\n- Lo implementé en Honduras, Guatemala y Bolivia, y di soporte a El Salvador y Tanzania. Empecé como desarrollador y terminé como líder técnico.\n- Después trabajé en Handler, un marketplace en Laravel para contratar servicios del hogar, como electricistas, plomeros o limpieza.\n\n**Stack:** PHP, Phalcon, Laravel, MySQL\n\n### Consultor y desarrollador de software — Freelance\n\n*jul 2012 – actualidad* · Mar del Plata\n\n- Desarrollé y mantengo desde 2017 el CRM de una fundación de ayuda a la infancia, que genera los débitos automáticos de sus donantes en siete redes de tarjetas (Visa, Mastercard, Cabal y Naranja, entre otras).\n- En 2026 lo reconstruí sobre Symfony 8 y AWS, con infraestructura como código, CI/CD y deploys atómicos con rollback automático, por unos 10 dólares al mes.\n- Consultoría y desarrollo en proyectos Laravel.\n\n**Stack:** PHP, Symfony, Laravel, MySQL, AWS, Terraform / OpenTofu, GitHub Actions\n\n## Proyectos\n\n### [Este sitio](https://github.com/martingregorio/site) (2026)\n\nAutor. Un sitio personal que es una terminal estilo fish, hecho con Astro y Svelte.\n\n**Stack:** Astro, Svelte, TypeScript, AWS, Terraform / OpenTofu\n\n### Armadillo Gaming (2025)\n\nFounder y arquitecto. Mesas de juego modulares con IoT e IA, que ambientan cada partida con luz y sonido y enseñan a jugar.\n\n**Stack:** Go, TypeScript, NestJS, Svelte, PostgreSQL, MQTT, AWS, Terraform / OpenTofu, GitHub Actions, LLMs (Claude, Gemini), RAG y embeddings, Python\n\n### Pipeline de media para Canela Media (2022)\n\nPrincipal Engineer. Ingesta, transcode y distribución de video, desde el archivo del rightsholder hasta QuickPlay y Brightcove.\n\n**Stack:** TypeScript, DynamoDB, PostgreSQL, AWS, Terraform / OpenTofu, GitHub Actions\n\n### Transcode y metadata para WWE (2016)\n\nSenior Engineer / Tech Lead. Sistema interno de transcode y distribución de video a WWE Network, YouTube, Peacock y Sony LIV, con un MDM de metadata.\n\n**Stack:** Laravel, Vue, NestJS, MySQL, Beanstalkd, Redis, Go, AWS, AWS Elemental, GitLab CI\n\n### Tigo Money (2014)\n\nDesarrollador → Líder técnico. Backend de la billetera móvil de Millicom/TIGO, implementado en varios países de Latinoamérica.\n\n**Stack:** PHP, Phalcon, MySQL\n\n## Habilidades\n\n- **Arquitectura y cloud:** AWS, AWS Elemental, Terraform / OpenTofu, MQTT, IoT\n- **Backend:** Go, TypeScript, Node.js, NestJS, PHP, Laravel, Symfony, GraphQL, RabbitMQ\n- **Frontend:** Vue, Svelte, Astro\n- **Datos:** PostgreSQL, MySQL, DynamoDB, Redis, MongoDB\n- **IA:** LLMs (Claude, Gemini), RAG / embeddings, AI agents\n- **DevOps:** GitHub Actions, GitLab CI, Docker\n\n## Educación\n\n- **Técnico Superior en Programación**, Universidad Tecnológica Nacional, Mar del Plata (2011 – 2013)\n- **Ingeniería en Informática (estudios parciales)**, Universidad FASTA (2006 – 2011)\n\n## Idiomas\n\n- **Español:** Nativo\n- **Inglés:** Profesional\n\n## Certificaciones\n\n- Go: The Complete Developer's Guide (Golang)\n- RabbitMQ and Messaging Concepts\n- gRPC [Golang] Master Class: Build Modern API & Microservices\n- Software Architecture for the Enterprise Architect\n- M121: The MongoDB Aggregation Framework (MongoDB University)\n","html":"<h1>Martin Gregorio</h1>\n<p><strong>Principal Engineer y arquitecto de software</strong> · Mar del Plata, Argentina</p>\n<p><a href=\"https://www.linkedin.com/in/magregorio\" target=\"_blank\" rel=\"noopener noreferrer\">LinkedIn</a> · <a href=\"https://github.com/martingregorio\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub</a></p>\n<h2>Resumen</h2>\n<p>Principal Engineer y arquitecto de software con más de 14 años diseñando sistemas backend, cloud e IoT. Trabajé en pipelines de video para WWE y Canela Media, en fintech multi-país con Tigo Money, y hoy construyo Armadillo Gaming, una plataforma de mesas de juego con IA. Trabajo con desarrollo guiado por especificaciones y agentes de IA, y enseño Ingeniería de Software en IDRA, donde acompaño a estudiantes en proyectos para clientes reales.</p>\n<h2>Experiencia</h2>\n<h3>Profesor de Ingeniería de Software — IDRA</h3>\n<p><em>2026 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Ciclo de vida del software, metodologías ágiles, CI/CD, testing unitario, métricas y roles dentro de un equipo.</li>\n<li>Integraciones con APIs REST y GraphQL.</li>\n<li>Acompaño a los estudiantes durante el proyecto anual, una solución real para un cliente real.</li>\n</ul>\n<p><strong>Stack:</strong> GraphQL, GitHub Actions</p>\n<h3>Founder y arquitecto de software — Armadillo Gaming</h3>\n<p><em>ene 2025 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Fundé y lidero un producto que une hardware y software. Coordino al equipo que diseña, desarrolla la electrónica y construye las mesas modulares en madera maciza.</li>\n<li>Diseñé de punta a punta la plataforma IoT, de los dispositivos a la nube, sobre AWS y con infraestructura como código.</li>\n<li>Construí un coach de juegos con IA que enseña a jugar y responde dudas de reglas en voz alta, con respuestas que citan el reglamento.</li>\n<li>Implementé actualizaciones de firmware remotas, firmadas y con rollback automático.</li>\n<li>Trabajo con desarrollo guiado por especificaciones y agentes de IA, con contratos versionados y gates de calidad en CI.</li>\n</ul>\n<p><strong>Stack:</strong> Go, TypeScript, NestJS, Svelte, PostgreSQL, MQTT, AWS, Terraform / OpenTofu, GitHub Actions, LLMs (Claude, Gemini), RAG y embeddings, Agentes de IA</p>\n<h3>Profesor de Programación 2 — IDRA</h3>\n<p><em>feb 2022 – jul 2023</em> · Mar del Plata</p>\n<ul>\n<li>Lenguajes de programación, programación orientada a objetos y principios SOLID.</li>\n</ul>\n<h3>Principal Engineer · Canela Media — intive (ex Spark Digital)</h3>\n<p><em>2022 – actualidad</em> · Mar del Plata (remoto)</p>\n<ul>\n<li>Responsable del pipeline de media completo, desde que llega el archivo fuente de los rightsholders hasta que el contenido está disponible para los clientes.</li>\n<li>Transcode de mezzanine y proxy, y distribución automatizada a QuickPlay y Brightcove.</li>\n<li>Integración con Vionlabs para obtener metadata y ad breaks a partir de los proxies, lo que agiliza el trabajo del equipo de contenido.</li>\n<li>CI/CD con GitHub Actions e infraestructura con Terraform sobre AWS.</li>\n</ul>\n<p><strong>Stack:</strong> TypeScript, DynamoDB, PostgreSQL, AWS, Terraform / OpenTofu, GitHub Actions</p>\n<h3>Senior Engineer / Tech Lead · WWE — intive (ex Spark Digital)</h3>\n<p><em>sept 2016 – 2022</em> · Mar del Plata (remoto)</p>\n<ul>\n<li>Desarrollo del sistema interno que transcodifica video con AWS Elemental Server on-premise y lo distribuye a WWE.com, WWE Network, YouTube, Peacock y Sony LIV.</li>\n<li>A cargo del MDM, con master records de los que cada plataforma hereda la metadata y la sobrescribe para cumplir sus propios requisitos.</li>\n<li>CI/CD con GitLab y servicios en Laravel, NestJS y Go sobre AWS.</li>\n</ul>\n<p><strong>Stack:</strong> Laravel, Vue, NestJS, MySQL, Beanstalkd, Redis, Go, AWS, AWS Elemental, GitLab CI</p>\n<h3>Desarrollador PHP → Líder técnico — Globant</h3>\n<p><em>ago 2014 – sept 2016</em> · Mar del Plata</p>\n<ul>\n<li>Para Millicom/TIGO, desarrollé el backend de Tigo Money, una API REST en Phalcon que conectaba las apps móviles con los middlewares SOAP de las operadoras.</li>\n<li>Lo implementé en Honduras, Guatemala y Bolivia, y di soporte a El Salvador y Tanzania. Empecé como desarrollador y terminé como líder técnico.</li>\n<li>Después trabajé en Handler, un marketplace en Laravel para contratar servicios del hogar, como electricistas, plomeros o limpieza.</li>\n</ul>\n<p><strong>Stack:</strong> PHP, Phalcon, Laravel, MySQL</p>\n<h3>Consultor y desarrollador de software — Freelance</h3>\n<p><em>jul 2012 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Desarrollé y mantengo desde 2017 el CRM de una fundación de ayuda a la infancia, que genera los débitos automáticos de sus donantes en siete redes de tarjetas (Visa, Mastercard, Cabal y Naranja, entre otras).</li>\n<li>En 2026 lo reconstruí sobre Symfony 8 y AWS, con infraestructura como código, CI/CD y deploys atómicos con rollback automático, por unos 10 dólares al mes.</li>\n<li>Consultoría y desarrollo en proyectos Laravel.</li>\n</ul>\n<p><strong>Stack:</strong> PHP, Symfony, Laravel, MySQL, AWS, Terraform / OpenTofu, GitHub Actions</p>\n<h2>Proyectos</h2>\n<h3><a href=\"https://github.com/martingregorio/site\" target=\"_blank\" rel=\"noopener noreferrer\">Este sitio</a> (2026)</h3>\n<p>Autor. Un sitio personal que es una terminal estilo fish, hecho con Astro y Svelte.</p>\n<p><strong>Stack:</strong> Astro, Svelte, TypeScript, AWS, Terraform / OpenTofu</p>\n<h3>Armadillo Gaming (2025)</h3>\n<p>Founder y arquitecto. Mesas de juego modulares con IoT e IA, que ambientan cada partida con luz y sonido y enseñan a jugar.</p>\n<p><strong>Stack:</strong> Go, TypeScript, NestJS, Svelte, PostgreSQL, MQTT, AWS, Terraform / OpenTofu, GitHub Actions, LLMs (Claude, Gemini), RAG y embeddings, Python</p>\n<h3>Pipeline de media para Canela Media (2022)</h3>\n<p>Principal Engineer. Ingesta, transcode y distribución de video, desde el archivo del rightsholder hasta QuickPlay y Brightcove.</p>\n<p><strong>Stack:</strong> TypeScript, DynamoDB, PostgreSQL, AWS, Terraform / OpenTofu, GitHub Actions</p>\n<h3>Transcode y metadata para WWE (2016)</h3>\n<p>Senior Engineer / Tech Lead. Sistema interno de transcode y distribución de video a WWE Network, YouTube, Peacock y Sony LIV, con un MDM de metadata.</p>\n<p><strong>Stack:</strong> Laravel, Vue, NestJS, MySQL, Beanstalkd, Redis, Go, AWS, AWS Elemental, GitLab CI</p>\n<h3>Tigo Money (2014)</h3>\n<p>Desarrollador → Líder técnico. Backend de la billetera móvil de Millicom/TIGO, implementado en varios países de Latinoamérica.</p>\n<p><strong>Stack:</strong> PHP, Phalcon, MySQL</p>\n<h2>Habilidades</h2>\n<ul>\n<li><strong>Arquitectura y cloud:</strong> AWS, AWS Elemental, Terraform / OpenTofu, MQTT, IoT</li>\n<li><strong>Backend:</strong> Go, TypeScript, Node.js, NestJS, PHP, Laravel, Symfony, GraphQL, RabbitMQ</li>\n<li><strong>Frontend:</strong> Vue, Svelte, Astro</li>\n<li><strong>Datos:</strong> PostgreSQL, MySQL, DynamoDB, Redis, MongoDB</li>\n<li><strong>IA:</strong> LLMs (Claude, Gemini), RAG / embeddings, AI agents</li>\n<li><strong>DevOps:</strong> GitHub Actions, GitLab CI, Docker</li>\n</ul>\n<h2>Educación</h2>\n<ul>\n<li><strong>Técnico Superior en Programación</strong>, Universidad Tecnológica Nacional, Mar del Plata (2011 – 2013)</li>\n<li><strong>Ingeniería en Informática (estudios parciales)</strong>, Universidad FASTA (2006 – 2011)</li>\n</ul>\n<h2>Idiomas</h2>\n<ul>\n<li><strong>Español:</strong> Nativo</li>\n<li><strong>Inglés:</strong> Profesional</li>\n</ul>\n<h2>Certificaciones</h2>\n<ul>\n<li>Go: The Complete Developer's Guide (Golang)</li>\n<li>RabbitMQ and Messaging Concepts</li>\n<li>gRPC [Golang] Master Class: Build Modern API &#x26; Microservices</li>\n<li>Software Architecture for the Enterprise Architect</li>\n<li>M121: The MongoDB Aggregation Framework (MongoDB University)</li>\n</ul>"},{"type":"dir","name":"Descargas","id":"downloads","children":[],"writable":true,"alt":"Downloads"},{"type":"dir","name":"experiencia","id":"experience","children":[{"type":"file","name":"2012-independiente.md","id":"freelance","mime":"text/markdown","raw":"# Consultor y desarrollador de software — Freelance\n\n*jul 2012 – actualidad* · Mar del Plata\n\n- Desarrollé y mantengo desde 2017 el CRM de una fundación de ayuda a la infancia, que genera los débitos automáticos de sus donantes en siete redes de tarjetas (Visa, Mastercard, Cabal y Naranja, entre otras).\n- En 2026 lo reconstruí sobre Symfony 8 y AWS, con infraestructura como código, CI/CD y deploys atómicos con rollback automático, por unos 10 dólares al mes.\n- Consultoría y desarrollo en proyectos Laravel.\n\nEn paralelo a mi trabajo principal, acompaño a clientes en proyectos de largo plazo. El CRM\nde la fundación es el mejor ejemplo: lo construí en 2017, lo mantuve durante años y en 2026\nlo reconstruí con un stack moderno, sin cambiar las reglas de negocio que ya funcionaban.\n\n**Stack:** [PHP](~/tecnologias/php) · [Symfony](~/tecnologias/symfony) · [Laravel](~/tecnologias/laravel) · [MySQL](~/tecnologias/mysql) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform) · [GitHub Actions](~/tecnologias/github-actions)\n","meta":{"title":"Consultor y desarrollador de software — Freelance","year":2012,"role":"Consultor y desarrollador de software","company":"Freelance","tags":["fintech","consultoria"]},"alt":"2012-freelance.md","html":"<h1>Consultor y desarrollador de software — Freelance</h1>\n<p><em>jul 2012 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Desarrollé y mantengo desde 2017 el CRM de una fundación de ayuda a la infancia, que genera los débitos automáticos de sus donantes en siete redes de tarjetas (Visa, Mastercard, Cabal y Naranja, entre otras).</li>\n<li>En 2026 lo reconstruí sobre Symfony 8 y AWS, con infraestructura como código, CI/CD y deploys atómicos con rollback automático, por unos 10 dólares al mes.</li>\n<li>Consultoría y desarrollo en proyectos Laravel.</li>\n</ul>\n<p>En paralelo a mi trabajo principal, acompaño a clientes en proyectos de largo plazo. El CRM\nde la fundación es el mejor ejemplo: lo construí en 2017, lo mantuve durante años y en 2026\nlo reconstruí con un stack moderno, sin cambiar las reglas de negocio que ya funcionaban.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/php/\" data-cmd=\"cd ~/tecnologias/php; and ls\">PHP</a> · <a href=\"/es/plain/tecnologias/symfony/\" data-cmd=\"cd ~/tecnologias/symfony; and ls\">Symfony</a> · <a href=\"/es/plain/tecnologias/laravel/\" data-cmd=\"cd ~/tecnologias/laravel; and ls\">Laravel</a> · <a href=\"/es/plain/tecnologias/mysql/\" data-cmd=\"cd ~/tecnologias/mysql; and ls\">MySQL</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a></p>"},{"type":"file","name":"2014-globant.md","id":"globant","mime":"text/markdown","raw":"# Desarrollador PHP → Líder técnico — Globant\n\n*ago 2014 – sept 2016* · Mar del Plata\n\n- Para Millicom/TIGO, desarrollé el backend de Tigo Money, una API REST en Phalcon que conectaba las apps móviles con los middlewares SOAP de las operadoras.\n- Lo implementé en Honduras, Guatemala y Bolivia, y di soporte a El Salvador y Tanzania. Empecé como desarrollador y terminé como líder técnico.\n- Después trabajé en Handler, un marketplace en Laravel para contratar servicios del hogar, como electricistas, plomeros o limpieza.\n\nEn Globant di el salto de desarrollador a líder técnico, con un producto financiero que\ntenía que funcionar igual en países con integraciones muy distintas.\n\n**Stack:** [PHP](~/tecnologias/php) · [Phalcon](~/tecnologias/phalcon) · [Laravel](~/tecnologias/laravel) · [MySQL](~/tecnologias/mysql)\n","meta":{"title":"Desarrollador PHP → Líder técnico — Globant","year":2014,"role":"Desarrollador PHP → Líder técnico","company":"Globant","tags":["fintech","liderazgo"]},"html":"<h1>Desarrollador PHP → Líder técnico — Globant</h1>\n<p><em>ago 2014 – sept 2016</em> · Mar del Plata</p>\n<ul>\n<li>Para Millicom/TIGO, desarrollé el backend de Tigo Money, una API REST en Phalcon que conectaba las apps móviles con los middlewares SOAP de las operadoras.</li>\n<li>Lo implementé en Honduras, Guatemala y Bolivia, y di soporte a El Salvador y Tanzania. Empecé como desarrollador y terminé como líder técnico.</li>\n<li>Después trabajé en Handler, un marketplace en Laravel para contratar servicios del hogar, como electricistas, plomeros o limpieza.</li>\n</ul>\n<p>En Globant di el salto de desarrollador a líder técnico, con un producto financiero que\ntenía que funcionar igual en países con integraciones muy distintas.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/php/\" data-cmd=\"cd ~/tecnologias/php; and ls\">PHP</a> · <a href=\"/es/plain/tecnologias/phalcon/\" data-cmd=\"cd ~/tecnologias/phalcon; and ls\">Phalcon</a> · <a href=\"/es/plain/tecnologias/laravel/\" data-cmd=\"cd ~/tecnologias/laravel; and ls\">Laravel</a> · <a href=\"/es/plain/tecnologias/mysql/\" data-cmd=\"cd ~/tecnologias/mysql; and ls\">MySQL</a></p>"},{"type":"file","name":"2016-intive-wwe.md","id":"intive-wwe","mime":"text/markdown","raw":"# Senior Engineer / Tech Lead · WWE — intive (ex Spark Digital)\n\n*sept 2016 – 2022* · Mar del Plata (remoto)\n\n- Desarrollo del sistema interno que transcodifica video con AWS Elemental Server on-premise y lo distribuye a WWE.com, WWE Network, YouTube, Peacock y Sony LIV.\n- A cargo del MDM, con master records de los que cada plataforma hereda la metadata y la sobrescribe para cumplir sus propios requisitos.\n- CI/CD con GitLab y servicios en Laravel, NestJS y Go sobre AWS.\n\nEntré a Spark Digital, que después pasó a ser intive, y durante seis años trabajé para WWE.\nAhí aprendí el oficio de mover video a escala: transcode, metadata y entrega a plataformas\ncon requisitos muy distintos entre sí.\n\n**Stack:** [Laravel](~/tecnologias/laravel) · [Vue](~/tecnologias/vue) · [NestJS](~/tecnologias/nestjs) · [MySQL](~/tecnologias/mysql) · [Beanstalkd](~/tecnologias/beanstalkd) · [Redis](~/tecnologias/redis) · [Go](~/tecnologias/go) · [AWS](~/tecnologias/aws) · [AWS Elemental](~/tecnologias/aws-elemental) · [GitLab CI](~/tecnologias/gitlab-ci)\n","meta":{"title":"Senior Engineer / Tech Lead · WWE — intive (ex Spark Digital)","year":2016,"role":"Senior Engineer / Tech Lead · WWE","company":"intive (ex Spark Digital)","tags":["media","streaming","video"]},"html":"<h1>Senior Engineer / Tech Lead · WWE — intive (ex Spark Digital)</h1>\n<p><em>sept 2016 – 2022</em> · Mar del Plata (remoto)</p>\n<ul>\n<li>Desarrollo del sistema interno que transcodifica video con AWS Elemental Server on-premise y lo distribuye a WWE.com, WWE Network, YouTube, Peacock y Sony LIV.</li>\n<li>A cargo del MDM, con master records de los que cada plataforma hereda la metadata y la sobrescribe para cumplir sus propios requisitos.</li>\n<li>CI/CD con GitLab y servicios en Laravel, NestJS y Go sobre AWS.</li>\n</ul>\n<p>Entré a Spark Digital, que después pasó a ser intive, y durante seis años trabajé para WWE.\nAhí aprendí el oficio de mover video a escala: transcode, metadata y entrega a plataformas\ncon requisitos muy distintos entre sí.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/laravel/\" data-cmd=\"cd ~/tecnologias/laravel; and ls\">Laravel</a> · <a href=\"/es/plain/tecnologias/vue/\" data-cmd=\"cd ~/tecnologias/vue; and ls\">Vue</a> · <a href=\"/es/plain/tecnologias/nestjs/\" data-cmd=\"cd ~/tecnologias/nestjs; and ls\">NestJS</a> · <a href=\"/es/plain/tecnologias/mysql/\" data-cmd=\"cd ~/tecnologias/mysql; and ls\">MySQL</a> · <a href=\"/es/plain/tecnologias/beanstalkd/\" data-cmd=\"cd ~/tecnologias/beanstalkd; and ls\">Beanstalkd</a> · <a href=\"/es/plain/tecnologias/redis/\" data-cmd=\"cd ~/tecnologias/redis; and ls\">Redis</a> · <a href=\"/es/plain/tecnologias/go/\" data-cmd=\"cd ~/tecnologias/go; and ls\">Go</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/aws-elemental/\" data-cmd=\"cd ~/tecnologias/aws-elemental; and ls\">AWS Elemental</a> · <a href=\"/es/plain/tecnologias/gitlab-ci/\" data-cmd=\"cd ~/tecnologias/gitlab-ci; and ls\">GitLab CI</a></p>"},{"type":"file","name":"2022-idra-programacion-2.md","id":"idra-prog2","mime":"text/markdown","raw":"# Profesor de Programación 2 — IDRA\n\n*feb 2022 – jul 2023* · Mar del Plata\n\n- Lenguajes de programación, programación orientada a objetos y principios SOLID.\n\nMi primera experiencia como docente: los fundamentos de la orientación a objetos y del\ndiseño que después aparecen en cualquier sistema grande.\n","meta":{"title":"Profesor de Programación 2 — IDRA","year":2022,"role":"Profesor de Programación 2","company":"IDRA","tags":["docencia"]},"alt":"2022-idra-programming-2.md","html":"<h1>Profesor de Programación 2 — IDRA</h1>\n<p><em>feb 2022 – jul 2023</em> · Mar del Plata</p>\n<ul>\n<li>Lenguajes de programación, programación orientada a objetos y principios SOLID.</li>\n</ul>\n<p>Mi primera experiencia como docente: los fundamentos de la orientación a objetos y del\ndiseño que después aparecen en cualquier sistema grande.</p>"},{"type":"file","name":"2022-intive-canela.md","id":"intive-canela","mime":"text/markdown","raw":"# Principal Engineer · Canela Media — intive (ex Spark Digital)\n\n*2022 – actualidad* · Mar del Plata (remoto)\n\n- Responsable del pipeline de media completo, desde que llega el archivo fuente de los rightsholders hasta que el contenido está disponible para los clientes.\n- Transcode de mezzanine y proxy, y distribución automatizada a QuickPlay y Brightcove.\n- Integración con Vionlabs para obtener metadata y ad breaks a partir de los proxies, lo que agiliza el trabajo del equipo de contenido.\n- CI/CD con GitHub Actions e infraestructura con Terraform sobre AWS.\n\nEn Canela Media pasé de construir partes de un sistema de media a ser responsable del\npipeline completo, con decisiones de arquitectura, infraestructura y entrega continua.\n\n**Stack:** [TypeScript](~/tecnologias/typescript) · [DynamoDB](~/tecnologias/dynamodb) · [PostgreSQL](~/tecnologias/postgresql) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform) · [GitHub Actions](~/tecnologias/github-actions)\n","meta":{"title":"Principal Engineer · Canela Media — intive (ex Spark Digital)","year":2022,"role":"Principal Engineer · Canela Media","company":"intive (ex Spark Digital)","tags":["media","streaming","arquitectura"]},"html":"<h1>Principal Engineer · Canela Media — intive (ex Spark Digital)</h1>\n<p><em>2022 – actualidad</em> · Mar del Plata (remoto)</p>\n<ul>\n<li>Responsable del pipeline de media completo, desde que llega el archivo fuente de los rightsholders hasta que el contenido está disponible para los clientes.</li>\n<li>Transcode de mezzanine y proxy, y distribución automatizada a QuickPlay y Brightcove.</li>\n<li>Integración con Vionlabs para obtener metadata y ad breaks a partir de los proxies, lo que agiliza el trabajo del equipo de contenido.</li>\n<li>CI/CD con GitHub Actions e infraestructura con Terraform sobre AWS.</li>\n</ul>\n<p>En Canela Media pasé de construir partes de un sistema de media a ser responsable del\npipeline completo, con decisiones de arquitectura, infraestructura y entrega continua.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/typescript/\" data-cmd=\"cd ~/tecnologias/typescript; and ls\">TypeScript</a> · <a href=\"/es/plain/tecnologias/dynamodb/\" data-cmd=\"cd ~/tecnologias/dynamodb; and ls\">DynamoDB</a> · <a href=\"/es/plain/tecnologias/postgresql/\" data-cmd=\"cd ~/tecnologias/postgresql; and ls\">PostgreSQL</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a></p>"},{"type":"file","name":"2025-armadillo-gaming.md","id":"armadillo","mime":"text/markdown","raw":"# Founder y arquitecto de software — Armadillo Gaming\n\n*ene 2025 – actualidad* · Mar del Plata\n\n- Fundé y lidero un producto que une hardware y software. Coordino al equipo que diseña, desarrolla la electrónica y construye las mesas modulares en madera maciza.\n- Diseñé de punta a punta la plataforma IoT, de los dispositivos a la nube, sobre AWS y con infraestructura como código.\n- Construí un coach de juegos con IA que enseña a jugar y responde dudas de reglas en voz alta, con respuestas que citan el reglamento.\n- Implementé actualizaciones de firmware remotas, firmadas y con rollback automático.\n- Trabajo con desarrollo guiado por especificaciones y agentes de IA, con contratos versionados y gates de calidad en CI.\n\nArmadillo Gaming nació de juntar dos cosas que me gustan: los juegos de mesa y la\narquitectura de software. Es mi proyecto más completo, porque va desde la madera y la\nelectrónica de la mesa hasta la nube y la IA, y me obliga a pensar cada decisión de punta a\npunta.\n\n**Stack:** [Go](~/tecnologias/go) · [TypeScript](~/tecnologias/typescript) · [NestJS](~/tecnologias/nestjs) · [Svelte](~/tecnologias/svelte) · [PostgreSQL](~/tecnologias/postgresql) · [MQTT](~/tecnologias/mqtt) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform) · [GitHub Actions](~/tecnologias/github-actions) · [LLMs (Claude, Gemini)](~/tecnologias/llm) · [RAG y embeddings](~/tecnologias/rag) · [Agentes de IA](~/tecnologias/ai-agents)\n","meta":{"title":"Founder y arquitecto de software — Armadillo Gaming","year":2025,"role":"Founder y arquitecto de software","company":"Armadillo Gaming","tags":["iot","ia","arquitectura","liderazgo"]},"html":"<h1>Founder y arquitecto de software — Armadillo Gaming</h1>\n<p><em>ene 2025 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Fundé y lidero un producto que une hardware y software. Coordino al equipo que diseña, desarrolla la electrónica y construye las mesas modulares en madera maciza.</li>\n<li>Diseñé de punta a punta la plataforma IoT, de los dispositivos a la nube, sobre AWS y con infraestructura como código.</li>\n<li>Construí un coach de juegos con IA que enseña a jugar y responde dudas de reglas en voz alta, con respuestas que citan el reglamento.</li>\n<li>Implementé actualizaciones de firmware remotas, firmadas y con rollback automático.</li>\n<li>Trabajo con desarrollo guiado por especificaciones y agentes de IA, con contratos versionados y gates de calidad en CI.</li>\n</ul>\n<p>Armadillo Gaming nació de juntar dos cosas que me gustan: los juegos de mesa y la\narquitectura de software. Es mi proyecto más completo, porque va desde la madera y la\nelectrónica de la mesa hasta la nube y la IA, y me obliga a pensar cada decisión de punta a\npunta.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/go/\" data-cmd=\"cd ~/tecnologias/go; and ls\">Go</a> · <a href=\"/es/plain/tecnologias/typescript/\" data-cmd=\"cd ~/tecnologias/typescript; and ls\">TypeScript</a> · <a href=\"/es/plain/tecnologias/nestjs/\" data-cmd=\"cd ~/tecnologias/nestjs; and ls\">NestJS</a> · <a href=\"/es/plain/tecnologias/svelte/\" data-cmd=\"cd ~/tecnologias/svelte; and ls\">Svelte</a> · <a href=\"/es/plain/tecnologias/postgresql/\" data-cmd=\"cd ~/tecnologias/postgresql; and ls\">PostgreSQL</a> · <a href=\"/es/plain/tecnologias/mqtt/\" data-cmd=\"cd ~/tecnologias/mqtt; and ls\">MQTT</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a> · <a href=\"/es/plain/tecnologias/llm/\" data-cmd=\"cd ~/tecnologias/llm; and ls\">LLMs (Claude, Gemini)</a> · <a href=\"/es/plain/tecnologias/rag/\" data-cmd=\"cd ~/tecnologias/rag; and ls\">RAG y embeddings</a> · <a href=\"/es/plain/tecnologias/ai-agents/\" data-cmd=\"cd ~/tecnologias/ai-agents; and ls\">Agentes de IA</a></p>"},{"type":"file","name":"2026-idra-ingenieria-de-software.md","id":"idra-ingsoft","mime":"text/markdown","raw":"# Profesor de Ingeniería de Software — IDRA\n\n*2026 – actualidad* · Mar del Plata\n\n- Ciclo de vida del software, metodologías ágiles, CI/CD, testing unitario, métricas y roles dentro de un equipo.\n- Integraciones con APIs REST y GraphQL.\n- Acompaño a los estudiantes durante el proyecto anual, una solución real para un cliente real.\n\nEnseñar me obliga a explicar por qué hacemos lo que hacemos. En Ingeniería de Software llevo\nal aula lo que uso todos los días y acompaño a los equipos de estudiantes mientras\nconstruyen una solución para un cliente real.\n\n**Stack:** [GraphQL](~/tecnologias/graphql) · [GitHub Actions](~/tecnologias/github-actions)\n","meta":{"title":"Profesor de Ingeniería de Software — IDRA","year":2026,"role":"Profesor de Ingeniería de Software","company":"IDRA","tags":["docencia"]},"alt":"2026-idra-software-engineering.md","html":"<h1>Profesor de Ingeniería de Software — IDRA</h1>\n<p><em>2026 – actualidad</em> · Mar del Plata</p>\n<ul>\n<li>Ciclo de vida del software, metodologías ágiles, CI/CD, testing unitario, métricas y roles dentro de un equipo.</li>\n<li>Integraciones con APIs REST y GraphQL.</li>\n<li>Acompaño a los estudiantes durante el proyecto anual, una solución real para un cliente real.</li>\n</ul>\n<p>Enseñar me obliga a explicar por qué hacemos lo que hacemos. En Ingeniería de Software llevo\nal aula lo que uso todos los días y acompaño a los equipos de estudiantes mientras\nconstruyen una solución para un cliente real.</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/graphql/\" data-cmd=\"cd ~/tecnologias/graphql; and ls\">GraphQL</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a></p>"}],"alt":"experience"},{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"dir","name":"armadillo-gaming","id":"armadillo-gaming","children":[{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Armadillo Gaming\n\n**Año:** 2025 · **Rol:** Founder y arquitecto · **Tags:** iot, ia, hardware, arquitectura\n\n**Stack:** [Go](~/tecnologias/go) · [TypeScript](~/tecnologias/typescript) · [NestJS](~/tecnologias/nestjs) · [Svelte](~/tecnologias/svelte) · [PostgreSQL](~/tecnologias/postgresql) · [MQTT](~/tecnologias/mqtt) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform) · [GitHub Actions](~/tecnologias/github-actions) · [LLMs (Claude, Gemini)](~/tecnologias/llm) · [RAG y embeddings](~/tecnologias/rag) · [Python](~/tecnologias/python)\n\n## Descripción\n\nArmadillo Gaming es un producto físico y digital: mesas de juego modulares de madera maciza\ncon electrónica propia. Al apoyar en la mesa figuras con NFC, la mesa reconoce el juego y\narma la ambientación con luces y música. Los jugadores la controlan desde una app y llevan\nel registro de sus partidas.\n\nLa mesa también tiene un coach con IA que enseña a jugar paso a paso y responde dudas de\nreglas en voz alta, citando la sección del reglamento de donde sale cada respuesta.\n\n## Rol\n\nSoy el fundador. Coordino al equipo que diseña, desarrolla la electrónica y construye las\nmesas, y lidero la arquitectura y el desarrollo de todo el software: el firmware de los\ndispositivos, la plataforma IoT en AWS, el backend, las apps y el coach con IA.\n\n## Resultados\n\n- Una plataforma IoT de punta a punta, con un contrato de mensajería versionado entre los\n  dispositivos y la nube.\n- Actualizaciones de firmware remotas, firmadas y con rollback automático si algo falla.\n- Un coach con IA que responde con citas verificables y dice \"no lo sé\" cuando el\n  reglamento no cubre la pregunta.\n- Infraestructura como código, CI/CD sin credenciales de larga duración y desarrollo guiado\n  por especificaciones con agentes de IA.\n","html":"<h1>Armadillo Gaming</h1>\n<p><strong>Año:</strong> 2025 · <strong>Rol:</strong> Founder y arquitecto · <strong>Tags:</strong> iot, ia, hardware, arquitectura</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/go/\" data-cmd=\"cd ~/tecnologias/go; and ls\">Go</a> · <a href=\"/es/plain/tecnologias/typescript/\" data-cmd=\"cd ~/tecnologias/typescript; and ls\">TypeScript</a> · <a href=\"/es/plain/tecnologias/nestjs/\" data-cmd=\"cd ~/tecnologias/nestjs; and ls\">NestJS</a> · <a href=\"/es/plain/tecnologias/svelte/\" data-cmd=\"cd ~/tecnologias/svelte; and ls\">Svelte</a> · <a href=\"/es/plain/tecnologias/postgresql/\" data-cmd=\"cd ~/tecnologias/postgresql; and ls\">PostgreSQL</a> · <a href=\"/es/plain/tecnologias/mqtt/\" data-cmd=\"cd ~/tecnologias/mqtt; and ls\">MQTT</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a> · <a href=\"/es/plain/tecnologias/llm/\" data-cmd=\"cd ~/tecnologias/llm; and ls\">LLMs (Claude, Gemini)</a> · <a href=\"/es/plain/tecnologias/rag/\" data-cmd=\"cd ~/tecnologias/rag; and ls\">RAG y embeddings</a> · <a href=\"/es/plain/tecnologias/python/\" data-cmd=\"cd ~/tecnologias/python; and ls\">Python</a></p>\n<h2>Descripción</h2>\n<p>Armadillo Gaming es un producto físico y digital: mesas de juego modulares de madera maciza\ncon electrónica propia. Al apoyar en la mesa figuras con NFC, la mesa reconoce el juego y\narma la ambientación con luces y música. Los jugadores la controlan desde una app y llevan\nel registro de sus partidas.</p>\n<p>La mesa también tiene un coach con IA que enseña a jugar paso a paso y responde dudas de\nreglas en voz alta, citando la sección del reglamento de donde sale cada respuesta.</p>\n<h2>Rol</h2>\n<p>Soy el fundador. Coordino al equipo que diseña, desarrolla la electrónica y construye las\nmesas, y lidero la arquitectura y el desarrollo de todo el software: el firmware de los\ndispositivos, la plataforma IoT en AWS, el backend, las apps y el coach con IA.</p>\n<h2>Resultados</h2>\n<ul>\n<li>Una plataforma IoT de punta a punta, con un contrato de mensajería versionado entre los\ndispositivos y la nube.</li>\n<li>Actualizaciones de firmware remotas, firmadas y con rollback automático si algo falla.</li>\n<li>Un coach con IA que responde con citas verificables y dice \"no lo sé\" cuando el\nreglamento no cubre la pregunta.</li>\n<li>Infraestructura como código, CI/CD sin credenciales de larga duración y desarrollo guiado\npor especificaciones con agentes de IA.</li>\n</ul>"},{"type":"file","name":"stack.txt","id":"stack.txt","mime":"text/plain","raw":"Go\nTypeScript\nNestJS\nSvelte\nPostgreSQL\nMQTT\nAWS\nTerraform / OpenTofu\nGitHub Actions\nLLMs (Claude, Gemini)\nRAG y embeddings\nPython\n"}],"meta":{"title":"Armadillo Gaming","summary":"Mesas de juego modulares con IoT e IA, que ambientan cada partida con luz y sonido y enseñan a jugar.","year":2025,"role":"Founder y arquitecto","tags":["iot","ia","hardware","arquitectura"],"links":{}}},{"type":"dir","name":"canela-media","id":"canela-media","children":[{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Pipeline de media para Canela Media\n\n**Año:** 2022 · **Rol:** Principal Engineer · **Tags:** media, streaming, arquitectura\n\n**Stack:** [TypeScript](~/tecnologias/typescript) · [DynamoDB](~/tecnologias/dynamodb) · [PostgreSQL](~/tecnologias/postgresql) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform) · [GitHub Actions](~/tecnologias/github-actions)\n\n## Descripción\n\nCanela Media distribuye contenido en español. Su pipeline de media recibe el archivo fuente\nde cada rightsholder, genera el mezzanine y el proxy, y entrega el contenido a QuickPlay y\nBrightcove para que lo consuman sus clientes.\n\n## Rol\n\nDesde intive, estamos a cargo del pipeline de punta a punta: arquitectura, desarrollo,\ninfraestructura con Terraform en AWS y CI/CD con GitHub Actions.\n\n## Resultados\n\n- Un flujo automatizado desde la recepción del archivo hasta la publicación en cada\n  plataforma.\n- Integración con Vionlabs, que extrae metadata y ad breaks de los proxies y agiliza el\n  trabajo del equipo de contenido.\n","html":"<h1>Pipeline de media para Canela Media</h1>\n<p><strong>Año:</strong> 2022 · <strong>Rol:</strong> Principal Engineer · <strong>Tags:</strong> media, streaming, arquitectura</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/typescript/\" data-cmd=\"cd ~/tecnologias/typescript; and ls\">TypeScript</a> · <a href=\"/es/plain/tecnologias/dynamodb/\" data-cmd=\"cd ~/tecnologias/dynamodb; and ls\">DynamoDB</a> · <a href=\"/es/plain/tecnologias/postgresql/\" data-cmd=\"cd ~/tecnologias/postgresql; and ls\">PostgreSQL</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a> · <a href=\"/es/plain/tecnologias/github-actions/\" data-cmd=\"cd ~/tecnologias/github-actions; and ls\">GitHub Actions</a></p>\n<h2>Descripción</h2>\n<p>Canela Media distribuye contenido en español. Su pipeline de media recibe el archivo fuente\nde cada rightsholder, genera el mezzanine y el proxy, y entrega el contenido a QuickPlay y\nBrightcove para que lo consuman sus clientes.</p>\n<h2>Rol</h2>\n<p>Desde intive, estamos a cargo del pipeline de punta a punta: arquitectura, desarrollo,\ninfraestructura con Terraform en AWS y CI/CD con GitHub Actions.</p>\n<h2>Resultados</h2>\n<ul>\n<li>Un flujo automatizado desde la recepción del archivo hasta la publicación en cada\nplataforma.</li>\n<li>Integración con Vionlabs, que extrae metadata y ad breaks de los proxies y agiliza el\ntrabajo del equipo de contenido.</li>\n</ul>"},{"type":"file","name":"stack.txt","id":"stack.txt","mime":"text/plain","raw":"TypeScript\nDynamoDB\nPostgreSQL\nAWS\nTerraform / OpenTofu\nGitHub Actions\n"}],"meta":{"title":"Pipeline de media para Canela Media","summary":"Ingesta, transcode y distribución de video, desde el archivo del rightsholder hasta QuickPlay y Brightcove.","year":2022,"role":"Principal Engineer","tags":["media","streaming","arquitectura"],"links":{}}},{"type":"dir","name":"este-sitio","id":"this-site","children":[{"type":"file","name":"enlaces.txt","id":"links.txt","mime":"text/plain","raw":"repo: https://github.com/martingregorio/site\n","alt":"links.txt"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Este sitio\n\n**Año:** 2026 · **Rol:** Autor · **Tags:** web, open-source\n\n**Stack:** [Astro](~/tecnologias/astro) · [Svelte](~/tecnologias/svelte) · [TypeScript](~/tecnologias/typescript) · [AWS](~/tecnologias/aws) · [Terraform / OpenTofu](~/tecnologias/terraform)\n\n## Descripción\n\nUn sitio personal cuya interfaz es una terminal que imita a fish shell. Hecho con Astro y\nSvelte, con un shell propio en TypeScript: parser, pipes, redirecciones y un filesystem\nvirtual armado desde archivos Markdown.\n\n## Rol\n\nTodo: diseño, desarrollo e infraestructura en AWS con OpenTofu.\n\n## Resultados\n\nLo estás usando ahora mismo. Probá `cat cv.json | grep -i svelte`.\n\n**Enlaces:** [repo](https://github.com/martingregorio/site)\n","html":"<h1>Este sitio</h1>\n<p><strong>Año:</strong> 2026 · <strong>Rol:</strong> Autor · <strong>Tags:</strong> web, open-source</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/astro/\" data-cmd=\"cd ~/tecnologias/astro; and ls\">Astro</a> · <a href=\"/es/plain/tecnologias/svelte/\" data-cmd=\"cd ~/tecnologias/svelte; and ls\">Svelte</a> · <a href=\"/es/plain/tecnologias/typescript/\" data-cmd=\"cd ~/tecnologias/typescript; and ls\">TypeScript</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/terraform/\" data-cmd=\"cd ~/tecnologias/terraform; and ls\">Terraform / OpenTofu</a></p>\n<h2>Descripción</h2>\n<p>Un sitio personal cuya interfaz es una terminal que imita a fish shell. Hecho con Astro y\nSvelte, con un shell propio en TypeScript: parser, pipes, redirecciones y un filesystem\nvirtual armado desde archivos Markdown.</p>\n<h2>Rol</h2>\n<p>Todo: diseño, desarrollo e infraestructura en AWS con OpenTofu.</p>\n<h2>Resultados</h2>\n<p>Lo estás usando ahora mismo. Probá <code data-cmd=\"cat cv.json | grep -i svelte\">cat cv.json | grep -i svelte</code>.</p>\n<p><strong>Enlaces:</strong> <a href=\"https://github.com/martingregorio/site\" target=\"_blank\" rel=\"noopener noreferrer\">repo</a></p>"},{"type":"file","name":"stack.txt","id":"stack.txt","mime":"text/plain","raw":"Astro\nSvelte\nTypeScript\nAWS\nTerraform / OpenTofu\n"}],"meta":{"title":"Este sitio","summary":"Un sitio personal que es una terminal estilo fish, hecho con Astro y Svelte.","year":2026,"role":"Autor","tags":["web","open-source"],"links":{"repo":"https://github.com/martingregorio/site"}},"alt":"this-site"},{"type":"dir","name":"tigo-money","id":"tigo-money","children":[{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Tigo Money\n\n**Año:** 2014 · **Rol:** Desarrollador → Líder técnico · **Tags:** fintech, mobile, integraciones\n\n**Stack:** [PHP](~/tecnologias/php) · [Phalcon](~/tecnologias/phalcon) · [MySQL](~/tecnologias/mysql)\n\n## Descripción\n\nTigo Money es la billetera móvil de Millicom/TIGO. Su backend es una API REST en Phalcon que\nhace de intermediaria entre las apps móviles y los middlewares SOAP de cada operadora.\n\n## Rol\n\nDesde Globant, empecé como desarrollador del backend y terminé como líder técnico del\nequipo.\n\n## Resultados\n\n- Implementación en Honduras, Guatemala y Bolivia.\n- Soporte a El Salvador y Tanzania, donde el servicio ya estaba en operación.\n- Una sola API para integraciones distintas en cada país.\n","html":"<h1>Tigo Money</h1>\n<p><strong>Año:</strong> 2014 · <strong>Rol:</strong> Desarrollador → Líder técnico · <strong>Tags:</strong> fintech, mobile, integraciones</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/php/\" data-cmd=\"cd ~/tecnologias/php; and ls\">PHP</a> · <a href=\"/es/plain/tecnologias/phalcon/\" data-cmd=\"cd ~/tecnologias/phalcon; and ls\">Phalcon</a> · <a href=\"/es/plain/tecnologias/mysql/\" data-cmd=\"cd ~/tecnologias/mysql; and ls\">MySQL</a></p>\n<h2>Descripción</h2>\n<p>Tigo Money es la billetera móvil de Millicom/TIGO. Su backend es una API REST en Phalcon que\nhace de intermediaria entre las apps móviles y los middlewares SOAP de cada operadora.</p>\n<h2>Rol</h2>\n<p>Desde Globant, empecé como desarrollador del backend y terminé como líder técnico del\nequipo.</p>\n<h2>Resultados</h2>\n<ul>\n<li>Implementación en Honduras, Guatemala y Bolivia.</li>\n<li>Soporte a El Salvador y Tanzania, donde el servicio ya estaba en operación.</li>\n<li>Una sola API para integraciones distintas en cada país.</li>\n</ul>"},{"type":"file","name":"stack.txt","id":"stack.txt","mime":"text/plain","raw":"PHP\nPhalcon\nMySQL\n"}],"meta":{"title":"Tigo Money","summary":"Backend de la billetera móvil de Millicom/TIGO, implementado en varios países de Latinoamérica.","year":2014,"role":"Desarrollador → Líder técnico","tags":["fintech","mobile","integraciones"],"links":{}}},{"type":"dir","name":"wwe-media","id":"wwe-media","children":[{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Transcode y metadata para WWE\n\n**Año:** 2016 · **Rol:** Senior Engineer / Tech Lead · **Tags:** media, streaming, video\n\n**Stack:** [Laravel](~/tecnologias/laravel) · [Vue](~/tecnologias/vue) · [NestJS](~/tecnologias/nestjs) · [MySQL](~/tecnologias/mysql) · [Beanstalkd](~/tecnologias/beanstalkd) · [Redis](~/tecnologias/redis) · [Go](~/tecnologias/go) · [AWS](~/tecnologias/aws) · [AWS Elemental](~/tecnologias/aws-elemental) · [GitLab CI](~/tecnologias/gitlab-ci)\n\n## Descripción\n\nEl sistema interno con el que WWE prepara su video para cada plataforma. Transcodifica con\nAWS Elemental Server on-premise y distribuye a WWE.com, WWE Network, YouTube y a socios como\nPeacock y Sony LIV.\n\nEl corazón es un MDM (master data management) con master records: cada plataforma hereda la\nmetadata del master y la sobrescribe para cumplir sus propios requisitos.\n\n## Rol\n\nDesde intive, desarrollé y después lideré técnicamente el sistema: servicios en Laravel,\nNestJS y Go, frontend en Vue, colas con Beanstalkd y CI/CD con GitLab.\n\n## Resultados\n\n- Un único origen de metadata para todas las plataformas de distribución.\n- Distribución automatizada a servicios propios y de terceros.\n","html":"<h1>Transcode y metadata para WWE</h1>\n<p><strong>Año:</strong> 2016 · <strong>Rol:</strong> Senior Engineer / Tech Lead · <strong>Tags:</strong> media, streaming, video</p>\n<p><strong>Stack:</strong> <a href=\"/es/plain/tecnologias/laravel/\" data-cmd=\"cd ~/tecnologias/laravel; and ls\">Laravel</a> · <a href=\"/es/plain/tecnologias/vue/\" data-cmd=\"cd ~/tecnologias/vue; and ls\">Vue</a> · <a href=\"/es/plain/tecnologias/nestjs/\" data-cmd=\"cd ~/tecnologias/nestjs; and ls\">NestJS</a> · <a href=\"/es/plain/tecnologias/mysql/\" data-cmd=\"cd ~/tecnologias/mysql; and ls\">MySQL</a> · <a href=\"/es/plain/tecnologias/beanstalkd/\" data-cmd=\"cd ~/tecnologias/beanstalkd; and ls\">Beanstalkd</a> · <a href=\"/es/plain/tecnologias/redis/\" data-cmd=\"cd ~/tecnologias/redis; and ls\">Redis</a> · <a href=\"/es/plain/tecnologias/go/\" data-cmd=\"cd ~/tecnologias/go; and ls\">Go</a> · <a href=\"/es/plain/tecnologias/aws/\" data-cmd=\"cd ~/tecnologias/aws; and ls\">AWS</a> · <a href=\"/es/plain/tecnologias/aws-elemental/\" data-cmd=\"cd ~/tecnologias/aws-elemental; and ls\">AWS Elemental</a> · <a href=\"/es/plain/tecnologias/gitlab-ci/\" data-cmd=\"cd ~/tecnologias/gitlab-ci; and ls\">GitLab CI</a></p>\n<h2>Descripción</h2>\n<p>El sistema interno con el que WWE prepara su video para cada plataforma. Transcodifica con\nAWS Elemental Server on-premise y distribuye a WWE.com, WWE Network, YouTube y a socios como\nPeacock y Sony LIV.</p>\n<p>El corazón es un MDM (master data management) con master records: cada plataforma hereda la\nmetadata del master y la sobrescribe para cumplir sus propios requisitos.</p>\n<h2>Rol</h2>\n<p>Desde intive, desarrollé y después lideré técnicamente el sistema: servicios en Laravel,\nNestJS y Go, frontend en Vue, colas con Beanstalkd y CI/CD con GitLab.</p>\n<h2>Resultados</h2>\n<ul>\n<li>Un único origen de metadata para todas las plataformas de distribución.</li>\n<li>Distribución automatizada a servicios propios y de terceros.</li>\n</ul>"},{"type":"file","name":"stack.txt","id":"stack.txt","mime":"text/plain","raw":"Laravel\nVue\nNestJS\nMySQL\nBeanstalkd\nRedis\nGo\nAWS\nAWS Elemental\nGitLab CI\n"}],"meta":{"title":"Transcode y metadata para WWE","summary":"Sistema interno de transcode y distribución de video a WWE Network, YouTube, Peacock y Sony LIV, con un MDM de metadata.","year":2016,"role":"Senior Engineer / Tech Lead","tags":["media","streaming","video"],"links":{}}}],"alt":"projects"},{"type":"dir","name":"servicios","id":"services","children":[{"type":"file","name":"consultoria.md","id":"consulting","mime":"text/markdown","raw":"# Consultoría de arquitectura\n\n## Qué incluye\n\n- Revisión de arquitectura, código e infraestructura en AWS.\n- Diseño de sistemas nuevos: pipelines de media, plataformas IoT o integración de IA en un\n  producto existente.\n- Un informe con riesgos priorizados, costos y un plan de trabajo.\n- Una sesión de cierre con el equipo.\n\n## Para quién\n\nEquipos de producto que están por tomar una decisión de arquitectura importante, o que\ncrecieron rápido y sienten que cada cambio cuesta más que el anterior.\n\n## Formato\n\nProyecto cerrado de dos a cuatro semanas, o por hora para consultas puntuales.\n\n## Casos relacionados\n\n- [Pipeline de media para Canela Media](~/proyectos/canela-media)\n- [Transcode y metadata para WWE](~/proyectos/wwe-media)\n- [Armadillo Gaming](~/proyectos/armadillo-gaming)\n\n## Cómo empezar\n\n¿Te interesa? Escribí `linkedin` y mandame un mensaje mencionando este servicio.\n","meta":{"title":"Consultoría de arquitectura","summary":"Revisión de arquitectura y un plan concreto para tu producto, en cloud, IoT, media o IA."},"alt":"consulting.md","html":"<h1>Consultoría de arquitectura</h1>\n<h2>Qué incluye</h2>\n<ul>\n<li>Revisión de arquitectura, código e infraestructura en AWS.</li>\n<li>Diseño de sistemas nuevos: pipelines de media, plataformas IoT o integración de IA en un\nproducto existente.</li>\n<li>Un informe con riesgos priorizados, costos y un plan de trabajo.</li>\n<li>Una sesión de cierre con el equipo.</li>\n</ul>\n<h2>Para quién</h2>\n<p>Equipos de producto que están por tomar una decisión de arquitectura importante, o que\ncrecieron rápido y sienten que cada cambio cuesta más que el anterior.</p>\n<h2>Formato</h2>\n<p>Proyecto cerrado de dos a cuatro semanas, o por hora para consultas puntuales.</p>\n<h2>Casos relacionados</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a></li>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a></li>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a></li>\n</ul>\n<h2>Cómo empezar</h2>\n<p>¿Te interesa? Escribí <code data-cmd=\"linkedin\">linkedin</code> y mandame un mensaje mencionando este servicio.</p>"},{"type":"file","name":"desarrollo.md","id":"development","mime":"text/markdown","raw":"# Desarrollo\n\n## Qué incluye\n\n- Backend y APIs en TypeScript, Go o PHP.\n- Frontend en Vue o Svelte cuando el producto lo necesita.\n- Infraestructura como código en AWS, CI/CD y deploys sin sobresaltos.\n- Documentación y traspaso al equipo que lo va a mantener.\n\n## Para quién\n\nEmpresas y emprendimientos que necesitan llevar un producto a producción, o modernizar un\nsistema que ya funciona sin romper lo que anda.\n\n## Formato\n\nPor proyecto, con entregas incrementales, o como parte del equipo durante un período acordado.\n\n## Casos relacionados\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming)\n- [Tigo Money](~/proyectos/tigo-money)\n- [Este sitio](~/proyectos/este-sitio)\n\n## Cómo empezar\n\n¿Te interesa? Escribí `linkedin` y mandame un mensaje mencionando este servicio.\n","meta":{"title":"Desarrollo","summary":"Desarrollo de producto de punta a punta, del backend a la infraestructura."},"alt":"development.md","html":"<h1>Desarrollo</h1>\n<h2>Qué incluye</h2>\n<ul>\n<li>Backend y APIs en TypeScript, Go o PHP.</li>\n<li>Frontend en Vue o Svelte cuando el producto lo necesita.</li>\n<li>Infraestructura como código en AWS, CI/CD y deploys sin sobresaltos.</li>\n<li>Documentación y traspaso al equipo que lo va a mantener.</li>\n</ul>\n<h2>Para quién</h2>\n<p>Empresas y emprendimientos que necesitan llevar un producto a producción, o modernizar un\nsistema que ya funciona sin romper lo que anda.</p>\n<h2>Formato</h2>\n<p>Por proyecto, con entregas incrementales, o como parte del equipo durante un período acordado.</p>\n<h2>Casos relacionados</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a></li>\n<li><a href=\"/es/plain/proyectos/tigo-money/\" data-cmd=\"cd ~/proyectos/tigo-money; and ls\">Tigo Money</a></li>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a></li>\n</ul>\n<h2>Cómo empezar</h2>\n<p>¿Te interesa? Escribí <code data-cmd=\"linkedin\">linkedin</code> y mandame un mensaje mencionando este servicio.</p>"}],"alt":"services"},{"type":"file","name":"sobre-mi.md","id":"about.md","mime":"text/markdown","raw":"# Sobre mí\n\nSoy Martín, Principal Engineer y arquitecto de software en Mar del Plata. Hace más de 14\naños que diseño sistemas backend, cloud e IoT, y lo que más disfruto es encontrar la\narquitectura más simple que resuelva un problema difícil.\n\nPasé gran parte de mi carrera en media y entretenimiento, construyendo pipelines de video\npara WWE y Canela Media que llevan contenido a plataformas como WWE Network, YouTube,\nPeacock o Brightcove. Antes trabajé en fintech, con Tigo Money en varios países de\nLatinoamérica. Hoy, además, construyo Armadillo Gaming, mesas de juego modulares con IoT e IA.\n\nTrabajo con desarrollo guiado por especificaciones y agentes de IA, y enseño Ingeniería de\nSoftware en IDRA, donde acompaño a estudiantes en proyectos para clientes reales.\n\nPara ver en qué trabajé, probá `ls proyectos` o `cv`. Para contactarme, `contact`.\n","alt":"about.md","html":"<h1>Sobre mí</h1>\n<p>Soy Martín, Principal Engineer y arquitecto de software en Mar del Plata. Hace más de 14\naños que diseño sistemas backend, cloud e IoT, y lo que más disfruto es encontrar la\narquitectura más simple que resuelva un problema difícil.</p>\n<p>Pasé gran parte de mi carrera en media y entretenimiento, construyendo pipelines de video\npara WWE y Canela Media que llevan contenido a plataformas como WWE Network, YouTube,\nPeacock o Brightcove. Antes trabajé en fintech, con Tigo Money en varios países de\nLatinoamérica. Hoy, además, construyo Armadillo Gaming, mesas de juego modulares con IoT e IA.</p>\n<p>Trabajo con desarrollo guiado por especificaciones y agentes de IA, y enseño Ingeniería de\nSoftware en IDRA, donde acompaño a estudiantes en proyectos para clientes reales.</p>\n<p>Para ver en qué trabajé, probá <code data-cmd=\"ls proyectos\">ls proyectos</code> o <code data-cmd=\"cv\">cv</code>. Para contactarme, <code data-cmd=\"contact\">contact</code>.</p>"},{"type":"dir","name":"tecnologias","id":"technologies","children":[{"type":"dir","name":"ai-agents","id":"ai-agents","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Agentes de IA\n\n**Categoría:** IA · **Nivel:** avanzado · Desde 2025 (1 años)\n\nDesarrollo guiado por especificaciones con agentes de código. El código lo escriben los agentes y yo reviso cada cambio.\n","html":"<h1>Agentes de IA</h1>\n<p><strong>Categoría:</strong> IA · <strong>Nivel:</strong> avanzado · Desde 2025 (1 años)</p>\n<p>Desarrollo guiado por especificaciones con agentes de código. El código lo escriben los agentes y yo reviso cada cambio.</p>"}],"meta":{"title":"Agentes de IA","category":"ai","level":"avanzado"}},{"type":"dir","name":"astro","id":"astro","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"este-sitio","id":"this-site","target":"/home/guest/proyectos/este-sitio","alt":"this-site"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Astro\n\n**Categoría:** frontend · **Nivel:** intermedio · Desde 2026 (0 años)\n\nSitios estáticos con islas interactivas. Este sitio está hecho con Astro.\n\n## Proyectos donde la usé\n\n- [Este sitio](~/proyectos/este-sitio) (2026)\n","html":"<h1>Astro</h1>\n<p><strong>Categoría:</strong> frontend · <strong>Nivel:</strong> intermedio · Desde 2026 (0 años)</p>\n<p>Sitios estáticos con islas interactivas. Este sitio está hecho con Astro.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a> (2026)</li>\n</ul>"}],"meta":{"title":"Astro","category":"frontend","level":"intermedio"}},{"type":"dir","name":"aws","id":"aws","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"},{"type":"link","name":"este-sitio","id":"this-site","target":"/home/guest/proyectos/este-sitio","alt":"this-site"},{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# AWS\n\n**Categoría:** cloud · **Nivel:** avanzado · Desde 2016 (10 años)\n\nLambda, EC2, S3, CloudFront, IoT Core, DynamoDB, RDS y mucho IAM. Siempre con infraestructura como código y atención al costo.\n\n## Proyectos donde la usé\n\n- [Este sitio](~/proyectos/este-sitio) (2026)\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>AWS</h1>\n<p><strong>Categoría:</strong> cloud · <strong>Nivel:</strong> avanzado · Desde 2016 (10 años)</p>\n<p>Lambda, EC2, S3, CloudFront, IoT Core, DynamoDB, RDS y mucho IAM. Siempre con infraestructura como código y atención al costo.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a> (2026)</li>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"AWS","category":"cloud","level":"avanzado"}},{"type":"dir","name":"aws-elemental","id":"aws-elemental","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# AWS Elemental\n\n**Categoría:** cloud · **Nivel:** avanzado · Desde 2016 (10 años)\n\nTranscode de video a escala con AWS Elemental Server on-premise, para distribuir a múltiples plataformas.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>AWS Elemental</h1>\n<p><strong>Categoría:</strong> cloud · <strong>Nivel:</strong> avanzado · Desde 2016 (10 años)</p>\n<p>Transcode de video a escala con AWS Elemental Server on-premise, para distribuir a múltiples plataformas.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"AWS Elemental","category":"cloud","level":"avanzado"}},{"type":"dir","name":"beanstalkd","id":"beanstalkd","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Beanstalkd\n\n**Categoría:** backend · **Nivel:** intermedio · Desde 2016 (10 años)\n\nColas de trabajo simples para procesar video en segundo plano.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>Beanstalkd</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> intermedio · Desde 2016 (10 años)</p>\n<p>Colas de trabajo simples para procesar video en segundo plano.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"Beanstalkd","category":"backend","level":"intermedio"}},{"type":"dir","name":"docker","id":"docker","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Docker\n\n**Categoría:** devops · **Nivel:** avanzado · Desde 2017 (9 años)\n\nEntornos de desarrollo reproducibles y servicios para CI.\n","html":"<h1>Docker</h1>\n<p><strong>Categoría:</strong> devops · <strong>Nivel:</strong> avanzado · Desde 2017 (9 años)</p>\n<p>Entornos de desarrollo reproducibles y servicios para CI.</p>"}],"meta":{"title":"Docker","category":"devops","level":"avanzado"}},{"type":"dir","name":"dynamodb","id":"dynamodb","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# DynamoDB\n\n**Categoría:** datos · **Nivel:** avanzado · Desde 2022 (4 años)\n\nPara accesos simples y de alto volumen: estado de pipelines, deduplicación y datos de dispositivos.\n\n## Proyectos donde la usé\n\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n","html":"<h1>DynamoDB</h1>\n<p><strong>Categoría:</strong> datos · <strong>Nivel:</strong> avanzado · Desde 2022 (4 años)</p>\n<p>Para accesos simples y de alto volumen: estado de pipelines, deduplicación y datos de dispositivos.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n</ul>"}],"meta":{"title":"DynamoDB","category":"data","level":"avanzado"}},{"type":"dir","name":"github-actions","id":"github-actions","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# GitHub Actions\n\n**Categoría:** devops · **Nivel:** avanzado · Desde 2022 (4 años)\n\nCI/CD con OIDC hacia AWS, sin credenciales de larga duración, y releases versionados automáticamente.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n","html":"<h1>GitHub Actions</h1>\n<p><strong>Categoría:</strong> devops · <strong>Nivel:</strong> avanzado · Desde 2022 (4 años)</p>\n<p>CI/CD con OIDC hacia AWS, sin credenciales de larga duración, y releases versionados automáticamente.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n</ul>"}],"meta":{"title":"GitHub Actions","category":"devops","level":"avanzado"}},{"type":"dir","name":"gitlab-ci","id":"gitlab-ci","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# GitLab CI\n\n**Categoría:** devops · **Nivel:** avanzado · Desde 2018 (8 años)\n\nPipelines de build, test y deploy para servicios de media.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>GitLab CI</h1>\n<p><strong>Categoría:</strong> devops · <strong>Nivel:</strong> avanzado · Desde 2018 (8 años)</p>\n<p>Pipelines de build, test y deploy para servicios de media.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"GitLab CI","category":"devops","level":"avanzado"}},{"type":"dir","name":"go","id":"go","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Go\n\n**Categoría:** lenguaje · **Nivel:** avanzado · Desde 2020 (6 años)\n\nLo uso para servicios que tienen que ser simples, rápidos y fáciles de desplegar: Lambdas, workers y el software que corre en dispositivos IoT.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>Go</h1>\n<p><strong>Categoría:</strong> lenguaje · <strong>Nivel:</strong> avanzado · Desde 2020 (6 años)</p>\n<p>Lo uso para servicios que tienen que ser simples, rápidos y fáciles de desplegar: Lambdas, workers y el software que corre en dispositivos IoT.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"Go","category":"language","level":"avanzado"}},{"type":"dir","name":"graphql","id":"graphql","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# GraphQL\n\n**Categoría:** backend · **Nivel:** intermedio · Desde 2019 (7 años)\n\nAPIs con esquema tipado, para clientes que necesitan pedir exactamente lo que usan.\n","html":"<h1>GraphQL</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> intermedio · Desde 2019 (7 años)</p>\n<p>APIs con esquema tipado, para clientes que necesitan pedir exactamente lo que usan.</p>"}],"meta":{"title":"GraphQL","category":"backend","level":"intermedio"}},{"type":"dir","name":"laravel","id":"laravel","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Laravel\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2016 (10 años)\n\nAPIs, backoffices y marketplaces. Productivo para arrancar rápido sin resignar estructura.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>Laravel</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2016 (10 años)</p>\n<p>APIs, backoffices y marketplaces. Productivo para arrancar rápido sin resignar estructura.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"Laravel","category":"backend","level":"avanzado"}},{"type":"dir","name":"llm","id":"llm","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# LLMs (Claude, Gemini)\n\n**Categoría:** IA · **Nivel:** avanzado · Desde 2025 (1 años)\n\nIntegro modelos de lenguaje en productos reales, con herramientas, límites por turno, control de costos y respuestas verificables.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n","html":"<h1>LLMs (Claude, Gemini)</h1>\n<p><strong>Categoría:</strong> IA · <strong>Nivel:</strong> avanzado · Desde 2025 (1 años)</p>\n<p>Integro modelos de lenguaje en productos reales, con herramientas, límites por turno, control de costos y respuestas verificables.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n</ul>"}],"meta":{"title":"LLMs (Claude, Gemini)","category":"ai","level":"avanzado"}},{"type":"dir","name":"mongodb","id":"mongodb","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# MongoDB\n\n**Categoría:** datos · **Nivel:** intermedio · Desde 2014 (12 años)\n\nDocumentos y pipelines de agregación.\n","html":"<h1>MongoDB</h1>\n<p><strong>Categoría:</strong> datos · <strong>Nivel:</strong> intermedio · Desde 2014 (12 años)</p>\n<p>Documentos y pipelines de agregación.</p>"}],"meta":{"title":"MongoDB","category":"data","level":"intermedio"}},{"type":"dir","name":"mqtt","id":"mqtt","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# MQTT\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2025 (1 años)\n\nMensajería entre dispositivos IoT y la nube sobre AWS IoT Core, con un contrato versionado y entregas confiables en redes inestables.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n","html":"<h1>MQTT</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2025 (1 años)</p>\n<p>Mensajería entre dispositivos IoT y la nube sobre AWS IoT Core, con un contrato versionado y entregas confiables en redes inestables.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n</ul>"}],"meta":{"title":"MQTT","category":"backend","level":"avanzado"}},{"type":"dir","name":"mysql","id":"mysql","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"tigo-money","id":"tigo-money","target":"/home/guest/proyectos/tigo-money"},{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# MySQL\n\n**Categoría:** datos · **Nivel:** avanzado · Desde 2012 (14 años)\n\nLa base de datos de la mayoría de mis sistemas PHP, hoy también sobre Aurora.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n- [Tigo Money](~/proyectos/tigo-money) (2014)\n","html":"<h1>MySQL</h1>\n<p><strong>Categoría:</strong> datos · <strong>Nivel:</strong> avanzado · Desde 2012 (14 años)</p>\n<p>La base de datos de la mayoría de mis sistemas PHP, hoy también sobre Aurora.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n<li><a href=\"/es/plain/proyectos/tigo-money/\" data-cmd=\"cd ~/proyectos/tigo-money; and ls\">Tigo Money</a> (2014)</li>\n</ul>"}],"meta":{"title":"MySQL","category":"data","level":"avanzado"}},{"type":"dir","name":"nestjs","id":"nestjs","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# NestJS\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2019 (7 años)\n\nMi base para backends en TypeScript: módulos, inyección de dependencias y una arquitectura en capas fácil de testear.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>NestJS</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2019 (7 años)</p>\n<p>Mi base para backends en TypeScript: módulos, inyección de dependencias y una arquitectura en capas fácil de testear.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"NestJS","category":"backend","level":"avanzado"}},{"type":"dir","name":"node","id":"node","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Node.js\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2019 (7 años)\n\nAPIs, workers y herramientas de línea de comandos.\n","html":"<h1>Node.js</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2019 (7 años)</p>\n<p>APIs, workers y herramientas de línea de comandos.</p>"}],"meta":{"title":"Node.js","category":"backend","level":"avanzado"}},{"type":"dir","name":"phalcon","id":"phalcon","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"tigo-money","id":"tigo-money","target":"/home/guest/proyectos/tigo-money"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Phalcon\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2014 (12 años)\n\nFramework PHP de alto rendimiento. Lo usé para la API de Tigo Money.\n\n## Proyectos donde la usé\n\n- [Tigo Money](~/proyectos/tigo-money) (2014)\n","html":"<h1>Phalcon</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2014 (12 años)</p>\n<p>Framework PHP de alto rendimiento. Lo usé para la API de Tigo Money.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/tigo-money/\" data-cmd=\"cd ~/proyectos/tigo-money; and ls\">Tigo Money</a> (2014)</li>\n</ul>"}],"meta":{"title":"Phalcon","category":"backend","level":"avanzado"}},{"type":"dir","name":"php","id":"php","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"tigo-money","id":"tigo-money","target":"/home/guest/proyectos/tigo-money"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# PHP\n\n**Categoría:** lenguaje · **Nivel:** avanzado · Desde 2012 (14 años)\n\nMi primer lenguaje profesional. Lo uso desde Symfony 2 hasta Symfony 8 y Laravel, en sistemas que llevan años en producción.\n\n## Proyectos donde la usé\n\n- [Tigo Money](~/proyectos/tigo-money) (2014)\n","html":"<h1>PHP</h1>\n<p><strong>Categoría:</strong> lenguaje · <strong>Nivel:</strong> avanzado · Desde 2012 (14 años)</p>\n<p>Mi primer lenguaje profesional. Lo uso desde Symfony 2 hasta Symfony 8 y Laravel, en sistemas que llevan años en producción.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/tigo-money/\" data-cmd=\"cd ~/proyectos/tigo-money; and ls\">Tigo Money</a> (2014)</li>\n</ul>"}],"meta":{"title":"PHP","category":"language","level":"avanzado"}},{"type":"dir","name":"postgresql","id":"postgresql","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# PostgreSQL\n\n**Categoría:** datos · **Nivel:** avanzado · Desde 2022 (4 años)\n\nMi base de datos por defecto. Con pgvector y búsqueda full-text resuelve también la búsqueda para IA sin sumar otra pieza.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n","html":"<h1>PostgreSQL</h1>\n<p><strong>Categoría:</strong> datos · <strong>Nivel:</strong> avanzado · Desde 2022 (4 años)</p>\n<p>Mi base de datos por defecto. Con pgvector y búsqueda full-text resuelve también la búsqueda para IA sin sumar otra pieza.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n</ul>"}],"meta":{"title":"PostgreSQL","category":"data","level":"avanzado"}},{"type":"dir","name":"python","id":"python","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Python\n\n**Categoría:** lenguaje · **Nivel:** intermedio · Desde 2024 (2 años)\n\nScripts y herramientas: procesamiento de documentos, análisis de audio y automatización.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n","html":"<h1>Python</h1>\n<p><strong>Categoría:</strong> lenguaje · <strong>Nivel:</strong> intermedio · Desde 2024 (2 años)</p>\n<p>Scripts y herramientas: procesamiento de documentos, análisis de audio y automatización.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n</ul>"}],"meta":{"title":"Python","category":"language","level":"intermedio"}},{"type":"dir","name":"rabbitmq","id":"rabbitmq","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# RabbitMQ\n\n**Categoría:** backend · **Nivel:** intermedio · Desde 2020 (6 años)\n\nColas y mensajería entre servicios.\n","html":"<h1>RabbitMQ</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> intermedio · Desde 2020 (6 años)</p>\n<p>Colas y mensajería entre servicios.</p>"}],"meta":{"title":"RabbitMQ","category":"backend","level":"intermedio"}},{"type":"dir","name":"rag","id":"rag","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# RAG y embeddings\n\n**Categoría:** IA · **Nivel:** intermedio · Desde 2026 (0 años)\n\nBúsqueda híbrida (vectorial y por palabras clave) con reranking, para que la IA responda citando la fuente.\n\n## Proyectos donde la usé\n\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n","html":"<h1>RAG y embeddings</h1>\n<p><strong>Categoría:</strong> IA · <strong>Nivel:</strong> intermedio · Desde 2026 (0 años)</p>\n<p>Búsqueda híbrida (vectorial y por palabras clave) con reranking, para que la IA responda citando la fuente.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n</ul>"}],"meta":{"title":"RAG y embeddings","category":"ai","level":"intermedio"}},{"type":"dir","name":"redis","id":"redis","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Redis\n\n**Categoría:** datos · **Nivel:** intermedio · Desde 2016 (10 años)\n\nCache y estado compartido entre procesos.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>Redis</h1>\n<p><strong>Categoría:</strong> datos · <strong>Nivel:</strong> intermedio · Desde 2016 (10 años)</p>\n<p>Cache y estado compartido entre procesos.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"Redis","category":"data","level":"intermedio"}},{"type":"dir","name":"svelte","id":"svelte","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"este-sitio","id":"this-site","target":"/home/guest/proyectos/este-sitio","alt":"this-site"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Svelte\n\n**Categoría:** frontend · **Nivel:** avanzado · Desde 2025 (1 años)\n\nLo uso cuando importa el peso del JavaScript, como en este sitio, y para apps mobile-first.\n\n## Proyectos donde la usé\n\n- [Este sitio](~/proyectos/este-sitio) (2026)\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n","html":"<h1>Svelte</h1>\n<p><strong>Categoría:</strong> frontend · <strong>Nivel:</strong> avanzado · Desde 2025 (1 años)</p>\n<p>Lo uso cuando importa el peso del JavaScript, como en este sitio, y para apps mobile-first.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a> (2026)</li>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n</ul>"}],"meta":{"title":"Svelte","category":"frontend","level":"avanzado"}},{"type":"dir","name":"symfony","id":"symfony","children":[{"type":"dir","name":"proyectos","id":"projects","children":[],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Symfony\n\n**Categoría:** backend · **Nivel:** avanzado · Desde 2012 (14 años)\n\nDesde Symfony 2 hasta Symfony 8. Lo elijo para aplicaciones de negocio que tienen que durar.\n","html":"<h1>Symfony</h1>\n<p><strong>Categoría:</strong> backend · <strong>Nivel:</strong> avanzado · Desde 2012 (14 años)</p>\n<p>Desde Symfony 2 hasta Symfony 8. Lo elijo para aplicaciones de negocio que tienen que durar.</p>"}],"meta":{"title":"Symfony","category":"backend","level":"avanzado"}},{"type":"dir","name":"terraform","id":"terraform","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"},{"type":"link","name":"este-sitio","id":"this-site","target":"/home/guest/proyectos/este-sitio","alt":"this-site"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Terraform / OpenTofu\n\n**Categoría:** devops · **Nivel:** avanzado · Desde 2022 (4 años)\n\nToda la infraestructura como código, con plan en cada pull request y apply revisado.\n\n## Proyectos donde la usé\n\n- [Este sitio](~/proyectos/este-sitio) (2026)\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n","html":"<h1>Terraform / OpenTofu</h1>\n<p><strong>Categoría:</strong> devops · <strong>Nivel:</strong> avanzado · Desde 2022 (4 años)</p>\n<p>Toda la infraestructura como código, con plan en cada pull request y apply revisado.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a> (2026)</li>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n</ul>"}],"meta":{"title":"Terraform / OpenTofu","category":"devops","level":"avanzado"}},{"type":"dir","name":"typescript","id":"typescript","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"armadillo-gaming","id":"armadillo-gaming","target":"/home/guest/proyectos/armadillo-gaming"},{"type":"link","name":"canela-media","id":"canela-media","target":"/home/guest/proyectos/canela-media"},{"type":"link","name":"este-sitio","id":"this-site","target":"/home/guest/proyectos/este-sitio","alt":"this-site"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# TypeScript\n\n**Categoría:** lenguaje · **Nivel:** avanzado · Desde 2019 (7 años)\n\nEl lenguaje que más uso para backends en Node y frontends en Vue y Svelte. Los tipos son documentación que el compilador verifica.\n\n## Proyectos donde la usé\n\n- [Este sitio](~/proyectos/este-sitio) (2026)\n- [Armadillo Gaming](~/proyectos/armadillo-gaming) (2025)\n- [Pipeline de media para Canela Media](~/proyectos/canela-media) (2022)\n","html":"<h1>TypeScript</h1>\n<p><strong>Categoría:</strong> lenguaje · <strong>Nivel:</strong> avanzado · Desde 2019 (7 años)</p>\n<p>El lenguaje que más uso para backends en Node y frontends en Vue y Svelte. Los tipos son documentación que el compilador verifica.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/este-sitio/\" data-cmd=\"cd ~/proyectos/este-sitio; and ls\">Este sitio</a> (2026)</li>\n<li><a href=\"/es/plain/proyectos/armadillo-gaming/\" data-cmd=\"cd ~/proyectos/armadillo-gaming; and ls\">Armadillo Gaming</a> (2025)</li>\n<li><a href=\"/es/plain/proyectos/canela-media/\" data-cmd=\"cd ~/proyectos/canela-media; and ls\">Pipeline de media para Canela Media</a> (2022)</li>\n</ul>"}],"meta":{"title":"TypeScript","category":"language","level":"avanzado"}},{"type":"dir","name":"vue","id":"vue","children":[{"type":"dir","name":"proyectos","id":"projects","children":[{"type":"link","name":"wwe-media","id":"wwe-media","target":"/home/guest/proyectos/wwe-media"}],"alt":"projects"},{"type":"file","name":"README.md","id":"README.md","mime":"text/markdown","raw":"# Vue\n\n**Categoría:** frontend · **Nivel:** avanzado · Desde 2017 (9 años)\n\nMi framework de cabecera para aplicaciones grandes: el sistema de reactividad es claro y el ecosistema está maduro.\n\n## Proyectos donde la usé\n\n- [Transcode y metadata para WWE](~/proyectos/wwe-media) (2016)\n","html":"<h1>Vue</h1>\n<p><strong>Categoría:</strong> frontend · <strong>Nivel:</strong> avanzado · Desde 2017 (9 años)</p>\n<p>Mi framework de cabecera para aplicaciones grandes: el sistema de reactividad es claro y el ecosistema está maduro.</p>\n<h2>Proyectos donde la usé</h2>\n<ul>\n<li><a href=\"/es/plain/proyectos/wwe-media/\" data-cmd=\"cd ~/proyectos/wwe-media; and ls\">Transcode y metadata para WWE</a> (2016)</li>\n</ul>"}],"meta":{"title":"Vue","category":"frontend","level":"avanzado"}}],"alt":"technologies"}]}]},{"type":"dir","name":"tmp","id":"tmp","children":[],"writable":true}]}}