Toni Ferreiro

Software architect · Galicia, Spain

Hi, I'm Antonio Ferreiro

I design systems that are easy to reason about, deploy themselves and age well. 10 years building software; these days, also architecture, platform and GitOps.

Interactive architecture diagram that doubles as the portfolio's site mapservicesyouhttpsapi-gatewaytoni.ferreiroprofile.svcprofileprojects.svcprojectscareer.svccareerstack.svclayersgithub.adapteractivitycontact.svccontactreposgitevent-logsince 2016api.githubRESTinboxsmtp
This diagram is the site map: click a service.

02Profile

Computer engineer

Portrait of Antonio Ferreiro
FIG. 1Galicia, Spain

My name is Toni and I'm a computer engineer from the University of Vigo. I've been building software since 2016, first at Bahia Software and, since 2021, at Softtek, where I went on to lead retail projects as technical lead. These days I focus on the decisions: how a system is split, how it's deployed and how it's maintained, without leaving programming aside.

years building software
10
public repositories
29
GitHub stars
76
on GitHub since
2014

03Projects

Featured projects

What I build outside working hours: the problem it solves, how it's put together and the decisions that hold it up.

P-01

cryptoKit

A Java desktop application to encrypt, decrypt, hash and sign with 44 algorithms, from Caesar and Enigma to post-quantum ML-KEM, and a site that teaches the history and mathematics of cryptography.

  • 5 stars
  • Updated Oct 2026
  • Since 2017
  • GPL-3.0

My oldest project (2017), rewritten as version 2.0 (2026). The Java Swing application, with light and dark themes and in English and Spanish, brings together classical ciphers, encodings, hashes, HMAC, password hashing (Argon2id, scrypt, bcrypt), authenticated symmetric encryption (AES-GCM, ChaCha20-Poly1305), public-key cryptography (RSA, X25519) and the post-quantum algorithms ML-KEM and ML-DSA; the same jar is also a command-line tool. It comes with a portal of ten chapters on history and mathematics, from Caesar to lattices, with theorems and interactive figures that run the real algorithms in the browser.

Key decisions

  • Every algorithm carries a security badge (recommended, legacy, broken…) and a “How it works” link to its chapter on the portal.
  • Safe defaults: random IVs and nonces, authenticated modes that reject tampered data, and constant-time comparisons.
  • 89 tests with official vectors (NIST, RFC) and with ciphertexts made by version 1.0, which still decrypt.
  • Released with GitHub Actions: the jar and portable packages for Windows, macOS and Linux with their own Java; the portal on GitHub Pages.
  • Java 21
  • Swing
  • FlatLaf
  • Bouncy Castle
  • Maven
  • JavaScript
  • Python
  • GitHub Actions
  • Java 100%
Architecture diagram of cryptoKitprovidersuserSwing UIFlatLaf · en/esCLIscripts44 algorithmscoreportal10 chaptersJDKAES · Ed25519Bouncy C.ML-KEM · Argon2
FIG. P-01 · cryptoKit

P-02

GitOps Training Lab

A hands-on, incremental training on Kubernetes, Configuration as Code, GitOps and Flux.

  • 3 stars
  • Updated Oct 2026
  • Since 2026
  • Apache-2.0

Bilingual teaching material for an in-company training: ten 30–40 minute modules that build, layer by layer, a real GitOps platform on a kind cluster. Three repositories with separate responsibilities (guide, platform and application) and a training website per edition published on GitHub Pages.

Key decisions

  • One evolving lab: every module adds a layer to the same system.
  • Each edition is a training/NN-* branch across the three repos, so it's reproducible.
  • Every command is run against a real cluster before it's documented.
  • A build-free training website replaces the slide decks.
  • Kubernetes
  • Flux
  • Kustomize
  • kind
  • Spring Boot
  • Docker
  • GitHub Actions
  • Bash
  • JavaScript 45%
  • CSS 34%
  • Shell 12%
  • HTML 9%
Architecture diagram of GitOps Training LabGitHubkind clusteractionspullartifactapplygitops-training-labguide · siteGitHub Pagessite per editioncac-gitops-platformplatformjava-api-gitopsapp · manifestssource-controllerGitRepositorykustomize-ctrlKustomizationjava-apiPods
FIG. P-02 · GitOps Training Lab

P-03

Wahoo

A complete compiler, written in Rust, for a language from the Mushroom Kingdom that targets WebAssembly, and a site that teaches how a compiler works.

  • 0 stars
  • Updated Oct 2026
  • Since 2026

Wahoo is a statically typed language (coin, pipe, bounce, wahoo(…)) and its compiler, written in Rust with no dependencies: lexing, parsing, semantic analysis, optimisation and WebAssembly generation with a hand-written binary encoder. The site explains each phase in seven chapters with interactive figures and a playground that runs the real compiler in the browser, itself compiled to WebAssembly.

Key decisions

  • Every classic phase written by hand, with no parser generators or Wasm libraries: recursive descent, Pratt parsing and error recovery.
  • Errors in English and Spanish with exact positions, hints and "did you mean…?".
  • The same compiler runs in the terminal (on the wasmi interpreter) and in the browser, compiled to wasm32 with a tiny C ABI.
  • In CI, every example program is compiled, run and compared with its expected output, with and without the optimiser.
  • Rust
  • WebAssembly
  • wasmi
  • Python
  • JavaScript
  • GitHub Actions
  • HTML 37%
  • Rust 28%
  • JavaScript 21%
  • CSS 9%
  • Python 6%
Architecture diagram of Wahoocrates/wahooemitrunruncompilelexertokensparserAST · Prattcheckertypes · HIRoptimizerfolding · dead codecodegenLEB128 · WATlevel.wahoosourcewahoo runwasmi.wasmWebAssemblywahoo-webcompilerplaygroundbrowser
FIG. P-03 · Wahoo

P-04

Rithmomachia

The medieval philosophers' "battle of numbers", playable in the browser against the machine, with an illustrated codex on its history, rules and mathematics.

  • 0 stars
  • Updated Oct 2026
  • Since 2026

In Rithmomachia the pieces are numbers and captures are arithmetic: equalities, sums, products and progressions from the tradition of Boethius. This version rebuilds its rules in a pure JavaScript engine shared by the interface, the AI and the tests, wrapped in an illuminated-manuscript look. It is played on the web, installs as an app that works offline, and is published on itch.io.

Key decisions

  • A machine in a Web Worker: negamax with alpha-beta pruning, iterative deepening and a time limit, at three difficulty levels.
  • A single rules engine for the game, the AI, the codex diagrams and the tests, so what is explained cannot drift from what is played.
  • An installable app (PWA) whose service worker precaches the whole site; free on the web and pay-what-you-want on itch.io.
  • No build step and no dependencies, a strict CSP and self-hosted fonts; in English and Spanish.
  • JavaScript
  • Web Workers
  • SVG
  • PWA
  • Node.js
  • GitHub Actions
  • JavaScript 83%
  • CSS 15%
  • HTML 1%
Architecture diagram of RithmomachiabrowsermoveimportHTTPSboardSVGengine.jsruleslocalStoragesaved gameai-workernegamax α-βcodex7 chapterssw.jsoffline · PWAnode --testengine · AIGitHub Pageses · en
FIG. P-04 · Rithmomachia

P-05

Teaching sites

Four open sites to study software architecture and the mathematics behind AI, quantum computing and computer science.

  • 12 stars
  • Updated Oct 2026
  • Since 2026

What I study, I publish. Architect Study Hub is my architect's notebook; Math of AI, Math of Quantum and Calculus × Computing explain the mathematics of modern computing with theorems, history and interactive figures. All of them are static sites published with GitHub Actions on GitHub Pages.

  • Architect Study Hub

    A knowledge base on architecture, platform, AI and cloud, with 200 interview questions, a timed mock interview and an AI study assistant that uses the page you are reading as context.

    MkDocs · Python · LLMs4Code

  • Math of AI

    Why AI works: from circuits and the Turing machine to LLMs, with theorems, history and demos (including a Prolog interpreter in the browser).

    Dependency-free Python · MathML4Code

  • Math of Quantum

    The mathematics of quantum computing, from qubits to Shor and Grover, with proofs and a state-vector simulator.

    Dependency-free Python · MathML4Code

  • Calculus × Computing

    A navigable map of university calculus and where each idea shows up in AI, graphics, simulation and robotics.

    Astro · TypeScript0Code

Key decisions

  • Theory first: theorems with foldable proofs, and an interactive figure wherever a formula alone is not enough.
  • Static sites with no backend, no analytics and a strict CSP; the maths is converted to MathML at build time.
  • Three different stacks on purpose: MkDocs, a dependency-free Python generator, and Astro with TypeScript.
  • Continuous deployment with GitHub Actions; the maths sites are in English and Spanish.
  • Python
  • MkDocs
  • Astro
  • TypeScript
  • MathML
  • GitHub Actions
Architecture diagram of Teaching sitesgithub.com/toniferrpushdeployHTTPSarchitect-study-hubMkDocsmath-of-aiPython · MathMLmath-of-quantumPython · MathMLcalculus-computingAstro · TSGitHub Actionsbuild + deployGitHub Pagesstatic sitebrowseres · en
FIG. P-05 · Teaching sites

04Career

Revision history

Every stage, a new revision of the drawing: work, learning and open source on a single timeline.

  1. 2024 — presentProfessional

    Software Architect

    Softtek · Microsoft team · Vigo, Spain

    • Microsoft Azure
  2. 2026Open source

    Wahoo

    A Rust compiler to WebAssembly for a language of my own, with a site that explains each phase and a playground that runs the compiler in the browser.

    • Rust
    • WebAssembly
    • Compilers
  3. 2026Open source

    GitOps Training Lab

    I design and deliver a ten-module in-company training on Kubernetes, GitOps and Flux.

    • Kubernetes
    • Flux
    • Kustomize
  4. 2025 — 2026Education

    Certifications

    Microsoft · Anthropic

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

    Tech Lead

    Softtek · Vigo, Spain

    Technical lead for backend and frontend projects for a retail company.

    • Defined the architecture and evolved the stack, specialising in security.
    • Led two migrations from legacy systems to a modern stack.
    • Technical assessment of requirements, risks and constraints; code quality and scalability.
    • Technical point of contact for the client, documentation and technical hiring interviews.
    • Architecture
    • Security
    • Legacy migration
  6. 2021 — 2022Professional

    Senior Software Developer

    Softtek · Santiago de Compostela, Spain

    Java web applications for retail: analysis and delivery of new features on the Solr search engine.

    • Java
    • Solr
  7. 2020 — presentEducation

    Continuous learning

    Courses and Peeper* repositories on GitHub

    Modern architecture (DDD, events, microservices), clean code, secure coding, design patterns, Docker, observability with Prometheus and Grafana, Spring Cloud on Azure and AWS. Much of it with the code published.

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

    Personal portfolio (Vue.js)

    The previous version of this site, in four languages with vue-i18n. Now kept on the legacy-portfolio branch.

    • Vue
    • i18n
  9. 2017Open source

    cryptoKit

    A Java Swing encryption desktop app; my most-starred open-source project. In 2026, version 2.0 with 44 algorithms (post-quantum included) and a portal on the history and mathematics of cryptography.

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

    Software Developer

    Bahia Software · Ourense, Spain

    Java web applications for multiple public-sector projects.

    • Full-stack development and technical-functional analysis.
    • Reviewed the work of junior developers.
    • Deployments, documentation (manuals, installation guides and test plans), client support and training.
    • Java EE
    • Java SE
    • Public sector
  11. 2015Open source

    ProLeagues

    Android application with SQLite for a degree project at the University of Vigo.

    • Android
    • SQLite
  12. 2012 — 2016Education

    BSc in Computer Engineering

    Universidade de Vigo

    Final-year project: a teaching simulator for virtual memory, a Java EE web application for Operating Systems lecturers that simulates memory paging.

    • Java EE

05Stack

Stack layers

The technologies I work with, arranged as what they are: layers of a system. Architecture cuts across all of them.

ArchitectureCross-cutting

  • Microservices
  • DDD
  • Event-driven
  • ADR
  • System design
  • API First · OpenAPI
  • Design patterns
  • Clean Architecture
  • Application security
  • Legacy modernisation
  1. L1AI

    • LLMs
    • RAG
    • Agents
    • 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. L4Data

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

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

    • AWS
    • Azure
    • Google Cloud

06GitHub

GitHub activity

1.142 contributions in the last year
OctNovDecJanFebMarAprMayJunJulAugSep

LessMore

Languages by code volume
  • JavaScript24.7%
  • Java24.7%
  • HTML23.6%
  • CSS6.7%
  • Rust4.4%
  • Python4.3%
  • Less4.0%
  • Other7.6%

See all repositories

GitHub data from 7 Oct 2026