Propio · Portfolio de desarrollador como grafo navegable, con API y web

Este portfolio

La web que estás leyendo: un sistema de información sobre un desarrollador en el que cada afirmación enlaza con su evidencia. El contenido, un contrato OpenAPI común, una API en Node y una web en React renderizada en servidor, desplegadas en contenedores.

En producción desde septiembre de 2026 y en evolución continua. Lo siguiente, sobre la misma API: un analizador de ofertas con LLM y un servidor MCP generado del contrato. Más adelante, un backoffice en lugar del contenido en ficheros, y otros backends y frontends sobre el mismo contrato.

En evolución · Públicosep 2026 – hoyVerlo funcionando ↗
Qué demuestra
  • Node, React y TypeScript aprendidos construyendo: de la primera línea, el 24-09-2026, a producción el 27-09-2026, con agentes y con las mismas garantías que en mi stack habitual.
  • Diseño guiado por contrato: una implementación de referencia independiente decide si la API cumple, y la integración continua no publica si no coinciden.
  • Contenido tratado como código: un grafo en YAML con validador, un informe de cobertura generado y reglas de confidencialidad comprobadas antes de publicar.
  • Despliegue profesional en una máquina mínima: contenedores, integración continua y publicación de imágenes probadas, despliegue manual con comprobaciones de salud, TLS, cabeceras de seguridad y vuelta atrás automática.
  • Una arquitectura pensada para la siguiente fase: el mismo contrato admite otro backend u otro frontend, y el contenido en ficheros puede pasar a un backoffice sin cambiar lo que sirve la API.
El problema

Un currículum afirma y nadie puede comprobarlo. Quien selecciona perfiles busca palabras clave; quien evalúa código no sabe por dónde empezar; y un portfolio al uso enseña capturas de proyectos que no se pueden abrir.

La decisión que lo define

Un sistema de información, no una galería, y a propósito más sistema del que necesita una web personal: una página estática bastaría para contar, pero no para demostrar. Cada pieza —el contenido validado como código, el contrato independiente, la API, la web renderizada en servidor, los contenedores y la integración continua— es una capacidad que se enseña funcionando. El contrato va primero, así que backend y frontend son intercambiables y el siguiente stack se enchufa sin tocar el resto.

Cómo está hecho

El contenido vive en YAML, con un validador propio, y se importa a una base de datos que se reconstruye entera en cada versión. Un contrato OpenAPI, fuera de cualquier implementación, fija las respuestas; una implementación de referencia en Python construye respuestas desde el corpus, y la API en Node se compara con ella en sus recursos y en una muestra de filtros y errores. La web, en React con renderizado en servidor, genera sus propios tipos del contrato y no comparte código con la API.

  • Grafo navegable: cada referencia es una identidad tipada que el frontend traduce a su propia ruta, y ninguna lleva a un enlace roto; se comprueba recorriendo todos los enlaces de la API y de la web.
  • Lo que depende del resto del portfolio se calcula, no se escribe: el uso de cada tecnología, su primer y último uso, y el mejor ejemplo de cada capacidad.
  • La integración continua construye las imágenes, las prueba y publica exactamente lo probado; el despliegue comprueba que la nueva versión responde y, si no, vuelve sola a la anterior.

Las evidencias46

Principios que se ven aquí21