Toni Ferreiro

Arquitecto de software · Galicia

Hola, soy Antonio Ferreiro

Diseño sistemas que se entienden, se despliegan solos y aguantan el paso del tiempo. 10 años construyendo software; hoy, además, arquitectura, plataforma y GitOps.

Diagrama de arquitectura interactivo que sirve de mapa del portfolioservicestúhttpsapi-gatewaytoni.ferreiroprofile.svcperfilprojects.svcproyectoscareer.svctrayectoriastack.svccapasgithub.adapteractividadcontact.svccontactoreposgitevent-logdesde 2016api.githubRESTinboxsmtp
Este diagrama es el mapa del sitio: pulsa un servicio.

02Perfil

Ingeniero informático

Retrato de Antonio Ferreiro
FIG. 1Galicia, España

Mi nombre es Toni y soy ingeniero informático por la Universidad de Vigo. Desde 2016 desarrollo software, primero en Bahia Software y desde 2021 en Softtek, donde llegué a liderar técnicamente proyectos para el sector retail. Hoy me centro en las decisiones: cómo se parte un sistema, cómo se despliega y cómo se mantiene, sin dejar de lado la programación.

años construyendo software
10
repositorios públicos
29
estrellas en GitHub
81
en GitHub desde
2014

03Proyectos

Proyectos destacados

Lo que construyo fuera del horario laboral: qué problema resuelve, cómo está montado y qué decisiones lo sostienen.

P-01

cryptoKit

Aplicación de escritorio en Java para cifrar, descifrar, resumir y firmar con 44 algoritmos, de César y Enigma al ML-KEM poscuántico, y una web que enseña la historia y las matemáticas de la criptografía.

  • 4 estrellas
  • Actualizado oct 2026
  • Desde 2017
  • GPL-3.0

Mi proyecto más antiguo (2017), reescrito en su versión 2.0 (2026). La aplicación Java Swing, con tema claro y oscuro y en inglés y español, reúne cifrados clásicos, codificaciones, hashes, HMAC, hash de contraseñas (Argon2id, scrypt, bcrypt), cifrado simétrico autenticado (AES-GCM, ChaCha20-Poly1305), clave pública (RSA, X25519) y los algoritmos poscuánticos ML-KEM y ML-DSA; el mismo jar es también una herramienta de línea de comandos. La acompaña un portal con diez capítulos de historia y matemáticas, de César a los retículos, con teoremas y figuras interactivas que ejecutan los algoritmos reales en el navegador.

Decisiones clave

  • Cada algoritmo lleva una etiqueta de seguridad (recomendado, heredado, roto…) y un enlace «Cómo funciona» a su capítulo del portal.
  • Valores seguros por defecto: IV y nonces aleatorios, modos autenticados que rechazan datos manipulados y comparaciones en tiempo constante.
  • 89 pruebas con vectores oficiales (NIST, RFC) y con textos cifrados por la versión 1.0, que siguen descifrándose.
  • Publicación con GitHub Actions: el jar y paquetes portables para Windows, macOS y Linux con su propio Java; el portal, en GitHub Pages.
  • Java 21
  • Swing
  • FlatLaf
  • Bouncy Castle
  • Maven
  • JavaScript
  • Python
  • GitHub Actions
  • Java 100%
Diagrama de arquitectura de cryptoKitproveedoresusuarioSwing UIFlatLaf · en/esCLIscripts44 algoritmoscoreportal10 capítulosJDKAES · Ed25519Bouncy C.ML-KEM · Argon2
FIG. P-01 · cryptoKit

P-02

GitOps Training Lab

Formación práctica e incremental de Kubernetes, Configuration as Code, GitOps y Flux.

  • 3 estrellas
  • Actualizado oct 2026
  • Desde 2026
  • Apache-2.0

Material didáctico bilingüe para una formación interna: diez módulos de 30–40 minutos que construyen, capa a capa, una plataforma GitOps real sobre un clúster kind. Tres repositorios con responsabilidades separadas (guía, plataforma y aplicación) y una web de formación por edición publicada en GitHub Pages.

Decisiones clave

  • Un único laboratorio que evoluciona: cada módulo añade una capa al mismo sistema.
  • Cada edición es una rama training/NN-* en los tres repos, así que es reproducible.
  • Cada comando se ejecuta contra un clúster real antes de documentarlo.
  • Una web de formación sin build sustituye a las diapositivas.
  • Kubernetes
  • Flux
  • Kustomize
  • kind
  • Spring Boot
  • Docker
  • GitHub Actions
  • Bash
  • JavaScript 45%
  • CSS 34%
  • Shell 12%
  • HTML 9%
Diagrama de arquitectura de GitOps Training LabGitHubkind clusteractionspullartifactapplygitops-training-labguía · webGitHub Pagesweb por edicióncac-gitops-platformplataformajava-api-gitopsapp · manifiestossource-controllerGitRepositorykustomize-ctrlKustomizationjava-apiPods
FIG. P-02 · GitOps Training Lab

P-03

Wahoo

Un compilador completo, escrito en Rust, para un lenguaje del Reino Champiñón que genera WebAssembly, y una web que enseña cómo funciona un compilador.

  • 3 estrellas
  • Actualizado oct 2026
  • Desde 2026

Wahoo es un lenguaje con tipos estáticos (coin, pipe, bounce, wahoo(…)) y su compilador, escrito en Rust sin dependencias: análisis léxico, sintáctico, semántico, optimización y generación de WebAssembly con un codificador binario propio. La web explica cada fase en siete capítulos con figuras interactivas y un playground que ejecuta el compilador real en el navegador, compilado a su vez a WebAssembly.

Decisiones clave

  • Todas las fases clásicas escritas a mano, sin generadores de parsers ni bibliotecas de Wasm: descenso recursivo, Pratt y recuperación de errores.
  • Errores en inglés y español con posición exacta, pistas y «¿querías decir…?».
  • El mismo compilador se ejecuta en la terminal (con el intérprete wasmi) y en el navegador, compilado a wasm32 con una ABI C mínima.
  • En CI, cada programa de ejemplo se compila, se ejecuta y se compara con su salida esperada, con y sin optimizador.
  • Rust
  • WebAssembly
  • wasmi
  • Python
  • JavaScript
  • GitHub Actions
  • HTML 37%
  • Rust 28%
  • JavaScript 21%
  • CSS 9%
  • Python 6%
Diagrama de arquitectura de Wahoocrates/wahooemitrunruncompilelexertokensparserAST · Prattcheckertipos · HIRoptimizerplegado · código muertocodegenLEB128 · WATlevel.wahoocódigo fuentewahoo runwasmi.wasmWebAssemblywahoo-webcompiladorplaygroundnavegador
FIG. P-03 · Wahoo

P-04

Rithmomachia

La «batalla de los números» de los filósofos medievales, jugable en el navegador contra la máquina, con un códice ilustrado sobre su historia, sus reglas y sus matemáticas.

  • 2 estrellas
  • Actualizado oct 2026
  • Desde 2026

En la Rithmomachia las piezas son números y se captura con aritmética: igualdades, sumas, productos y progresiones de la tradición de Boecio. Esta versión reconstruye sus reglas en un motor puro de JavaScript que comparten la interfaz, la IA y los tests, con estética de manuscrito iluminado. Se juega en la web, se instala como app que funciona sin conexión y está publicada en itch.io.

Decisiones clave

  • Una máquina en un Web Worker: negamax con poda alfa-beta, profundización iterativa y límite de tiempo, en tres niveles de dificultad.
  • Un único motor de reglas para el juego, la IA, los diagramas del códice y los tests, así que lo que se explica no puede desincronizarse de lo que se juega.
  • App instalable (PWA) con service worker que precarga todo el sitio; gratis en la web y «paga lo que quieras» en itch.io.
  • Sin build ni dependencias, con CSP estricta y fuentes propias; en inglés y español.
  • JavaScript
  • Web Workers
  • SVG
  • PWA
  • Node.js
  • GitHub Actions
  • JavaScript 82%
  • CSS 15%
  • HTML 1%
Diagrama de arquitectura de RithmomachianavegadorjugadaimportHTTPStableroSVGengine.jsreglaslocalStoragepartidaai-workernegamax α-βcódice7 capítulossw.jsoffline · PWAnode --testmotor · IAGitHub Pageses · en
FIG. P-04 · Rithmomachia

P-05

Webs didácticas

Cuatro webs abiertas para estudiar arquitectura de software y las matemáticas que hay detrás de la IA, la computación cuántica y la informática.

  • 13 estrellas
  • Actualizado oct 2026
  • Desde 2026

Lo que estudio, lo publico. Architect Study Hub es mi cuaderno de arquitecto; Math of AI, Math of Quantum y Calculus × Computing explican las matemáticas de la informática actual con teoremas, historia y figuras interactivas. Todas son sitios estáticos que se publican con GitHub Actions en GitHub Pages.

  • Architect Study Hub

    Base de conocimiento de arquitectura, plataforma, IA y cloud, con 200 preguntas de entrevista, un simulacro con cronómetro y un asistente de estudio con IA que usa como contexto la página que estás leyendo.

    MkDocs · Python · LLMs4Código

  • Math of AI

    Por qué funciona la IA: de los circuitos y la máquina de Turing a los LLM, con teoremas, historia y demos (incluido un intérprete de Prolog en el navegador).

    Python sin dependencias · MathML4Código

  • Math of Quantum

    Las matemáticas de la computación cuántica, de los cúbits a Shor y Grover, con demostraciones y un simulador de vector de estado.

    Python sin dependencias · MathML4Código

  • Calculus × Computing

    Un mapa navegable del cálculo universitario y de dónde aparece cada idea en IA, gráficos, simulación y robótica.

    Astro · TypeScript1Código

Decisiones clave

  • Teoría primero: teoremas con demostraciones plegables, y una figura interactiva donde una fórmula sola no basta.
  • Sitios estáticos sin backend, sin analítica y con CSP estricta; las matemáticas se convierten a MathML al compilar.
  • Tres stacks distintos a propósito: MkDocs, un generador propio en Python sin dependencias, y Astro con TypeScript.
  • Despliegue continuo con GitHub Actions; las webs matemáticas están en inglés y español.
  • Python
  • MkDocs
  • Astro
  • TypeScript
  • MathML
  • GitHub Actions
Diagrama de arquitectura de Webs didácticasgithub.com/toniferrpushdeployHTTPSarchitect-study-hubMkDocsmath-of-aiPython · MathMLmath-of-quantumPython · MathMLcalculus-computingAstro · TSGitHub Actionsbuild + deployGitHub Pagesweb estáticanavegadores · en
FIG. P-05 · Webs didácticas

04Trayectoria

Historial de revisiones

Cada etapa, una revisión del plano: trabajo, formación y open source en una misma línea de tiempo.

  1. 2024 — actualidadProfesional

    Arquitecto de software

    Softtek · equipo Microsoft · Vigo

    • Microsoft Azure
  2. 2026Open source

    Wahoo

    Un compilador de Rust a WebAssembly para un lenguaje propio, con una web que explica cada fase y un playground que ejecuta el compilador en el navegador.

    • Rust
    • WebAssembly
    • Compiladores
  3. 2026Open source

    GitOps Training Lab

    Diseño e imparto una formación interna de diez módulos sobre Kubernetes, GitOps y Flux.

    • Kubernetes
    • Flux
    • Kustomize
  4. 2025 — 2026Formación

    Certificaciones

    Microsoft · Anthropic

    • Microsoft Certified: Azure AI Fundamentals (2026)
    • Claude Code in Action, de Anthropic (2025)
    • Microsoft Certified: Azure Fundamentals (2025)
    • Azure
    • Azure AI Foundry
    • Claude Code
  5. 2022 — 2024Profesional

    Líder técnico

    Softtek · Vigo

    Responsable técnico de proyectos backend y frontend para una empresa del sector retail.

    • Definición de la arquitectura y evolución del stack, con especialización en seguridad.
    • Dos migraciones de sistemas legacy a un stack moderno.
    • Evaluación técnica de requisitos, riesgos y restricciones; calidad y escalabilidad del código.
    • Interlocución técnica con el cliente, documentación y entrevistas técnicas de contratación.
    • Arquitectura
    • Seguridad
    • Migración legacy
  6. 2021 — 2022Profesional

    Desarrollador de software sénior

    Softtek · Santiago de Compostela

    Aplicaciones web Java para el sector retail: análisis e implantación de nuevas funcionalidades sobre el motor de búsqueda Solr.

    • Java
    • Solr
  7. 2020 — actualidadFormación

    Formación continua

    Cursos y repositorios Peeper* en GitHub

    Arquitectura moderna (DDD, eventos, microservicios), clean code, secure coding, patrones de diseño, Docker, observabilidad con Prometheus y Grafana, Spring Cloud en Azure y AWS. Buena parte con el código publicado.

    • DDD
    • Secure coding
    • Docker
    • Prometheus
  8. 2020 — 2025Open source

    Portfolio personal (Vue.js)

    La versión anterior de esta web, en cuatro idiomas con vue-i18n. Hoy está en la rama legacy-portfolio.

    • Vue
    • i18n
  9. 2017Open source

    cryptoKit

    Aplicación de escritorio de cifrado en Java Swing; mi proyecto open source con más estrellas. En 2026, versión 2.0 con 44 algoritmos (incluidos los poscuánticos) y un portal sobre la historia y las matemáticas de la criptografía.

    • Java
    • Bouncy Castle
    • Post-quantum
  10. 2016 — 2021Profesional

    Desarrollador de software

    Bahia Software · Ourense

    Aplicaciones web Java para múltiples proyectos de la administración pública.

    • Desarrollo full stack y análisis técnico-funcional.
    • Revisión del trabajo de perfiles junior.
    • Despliegues, documentación (manuales, guías de instalación y planes de pruebas), soporte y formación a clientes.
    • Java EE
    • Java SE
    • Sector público
  11. 2015Open source

    ProLeagues

    Aplicación Android con SQLite para un proyecto de la carrera en la Universidad de Vigo.

    • Android
    • SQLite
  12. 2012 — 2016Formación

    Grado en Ingeniería Informática

    Universidade de Vigo

    Trabajo Fin de Grado: simulador didáctico de memoria virtual, una aplicación web Java EE para el profesorado de Sistemas Operativos que simula la paginación de memoria.

    • Java EE

05Stack

Capas del stack

Las tecnologías con las que trabajo, ordenadas como lo que son: capas de un sistema. La arquitectura las atraviesa todas.

ArquitecturaTransversal

  • Microservicios
  • DDD
  • Event-driven
  • ADR
  • System design
  • API First · OpenAPI
  • Patrones de diseño
  • Clean Architecture
  • Seguridad de aplicaciones
  • Migración de legacy
  1. L1IA

    • LLMs
    • RAG
    • Agentes
    • MCP
    • Claude
    • Gemini
    • Azure AI Foundry
  2. L2Frontend

    • TypeScript
    • React
    • Next.js
    • Vue
    • Angular
  3. L3Backend

    • Java
    • Java EE
    • Spring Boot
    • Spring Cloud
    • Spring Security
    • JPA · Hibernate
    • Python
    • FastAPI
    • Node.js
  4. L4Datos

    • PostgreSQL
    • MySQL
    • MongoDB
    • SQLite
    • Solr
    • Supabase
  5. L5Plataforma

    • Kubernetes
    • Flux
    • GitOps
    • Kustomize
    • Helm
    • Docker
    • Terraform
    • GitHub Actions
    • Prometheus · Grafana
  6. L6Cloud

    • AWS
    • Azure
    • Google Cloud

06GitHub

Actividad en GitHub

1.098 contribuciones en el último año
novdicenefebmarabrmayjunjulagosepoct

MenosMás

Lenguajes por volumen de código
  • JavaScript24.7%
  • Java24.6%
  • HTML23.6%
  • CSS6.8%
  • Rust4.4%
  • Python4.3%
  • Less4.0%
  • Otros7.6%

Ver todos los repositorios

Datos de GitHub del 19 oct 2026