Guía para Reclutador Tech

Esta guía presenta cómo las capacidades descritas en mi trayectoria profesional se traducen en un sistema real: arquitectura modular, APIs tipadas, automatización de contenido y operación observable en tiempo real. El proyecto integra microservicios versionables, contratos REST (Pydantic ↔ TypeScript), flujos administrativos autenticados y documentación técnica ejecutable, ofreciendo evidencia concreta de diseño, implementación y evolución continua de producto.

Ruta de validación técnica

Esta sección conecta directamente la experiencia descrita en mi CV con evidencia técnica ejecutable en este repositorio. La intención es que puedas validar arquitectura, calidad de implementación, operación y automatización sin quedarte en declaraciones teóricas.

Cómo interpretar esta guía

  • Arquitectura aplicada: separación efectiva entre frontend, APIs de dominio, ingesta y chatbot.
  • Rigor técnico: contratos tipados Pydantic/TypeScript y documentación OpenAPI ejecutable.
  • Operación: health checks, latencias y procesos administrativos con autenticación.
  • Evolución inteligente: flujo CV PDF → datos estructurados → consumo web/API/chat.

Stack clave

Frontend
Logo Next.jsNext.jsLogo ReactReactLogo TypeScriptTypeScriptLogo TailwindTailwindLogo FramerFramer

Next.js 14 (App Router) con React 18 y TypeScript para SSR/ISR, SEO técnico y UI responsiva.

  • Metadatos controlados server-side, generación de `sitemap.xml`, `robots.txt` y JSON-LD de persona.
  • Tailwind CSS y componentes animados con Framer Motion para microinteracciones accesibles.
  • Consumo de microservicios mediante variables `NEXT_PUBLIC_*` y fetch incremental para evitar vendor lock-in.
APIs y backend
Logo FastAPIFastAPILogo PythonPythonPydantichttpxWebSockets

FastAPI, Pydantic y uvicorn para servicios REST tipados, con fallback offline y soporte WebSockets.

  • Endpoints idempotentes (`/profile`, `/projects`, `/github/projects`) con validaciones Pydantic.
  • Rutas administrativas protegidas por `X-Admin-Token` (`/github/sync`, `/admin/ingest-cv`).
  • Canal `/ws/updates` para notificaciones en tiempo real y pruebas de event streaming.
Automatización y datos
pypdfJSONLogo GitHub APIGitHub APIScripts

Data source versionada en JSON y servicios dedicados para ingesta y sincronización de contenido.

  • Servicio `content-ingest` extrae texto del CV (pypdf) y normaliza campos en `data/*.json`.
  • Scripts de sincronización GitHub para cachear repositorios con métricas de estrellas y descripción.
  • Separación de data frontend (`/public/data`) y data backend (`/data`) para optimizar render vs. API.
Infraestructura y CI/CD
Logo DockerDockerDocker ComposeLogo GitHub ActionsGitHub ActionsMakefileZsh

Docker Compose orquesta microservicios, GitHub Actions valida builds y pruebas, secrets vía `.env`.

  • Compose define redes aisladas, volúmenes compartidos y hot reload (`--reload`, `pnpm dev`).
  • Makefile centraliza seeds, builds, pruebas y shortcuts operativos.
  • Pipeline CI ejecuta lint/build en frontend y backend, asegurando consistencia semántica antes del deploy.

Arquitectura de microservicios

api-profileFastAPI · PydanticPuerto 8001

Publica perfil, experiencia, educación y soft skills desde el volumen `./data` con fallback local.

  • `GET /profile`, `/experience`, `/education`, `/soft-skills` generan el contenido consumido por Next.js.
  • Montaje compartido de `./data` permite actualizar JSON sin reconstruir la imagen.
  • Health check `/health` monitoreado desde el dashboard para uptime y latencia.
api-projectsFastAPI · httpxPuerto 8002

Gestiona proyectos propios y repos GitHub cacheados, habilitando sincronización on-demand.

  • `GET /projects` expone catálogo curado, mientras `GET /github/projects` entrega repos cacheados.
  • `POST /github/sync` consume la API de GitHub autenticada opcionalmente con token personal.
  • Datos persistidos en `data/projects.json` y `data/github.json` para resiliencia en modo offline.
content-ingestFastAPI · pypdfPuerto 8015

Servicio de ingesta que transforma el PDF del CV a texto indexable para los demás microservicios.

  • `POST /ingest/cv` (tokenizado) procesa el PDF y actualiza `data/cv_text.txt`.
  • Permite automatizar resúmenes y actualizaciones sin manipular manualmente los datos crudos.
  • Expone `/health` para validar disponibilidad antes de ejecutar pipelines.
chatbotFastAPI · MCP/GeminiPuerto 8010

Proxy configurable que orquesta prompts con contexto del CV, soportando modo stub sin API key.

  • `POST /chat` y `/ws` habilitan respuesta síncrona y streaming conversacional.
  • Rate limiting configurable vía variables (`MAX_QUESTIONS_*`, `COOLDOWN_SECONDS`).
  • Integra tokens públicos para front y secretos para admin, aislando permisos.
frontendNext.js · ReactPuerto 3000

UI que consume microservicios y expone assets estáticos optimizados para SEO y accesibilidad.

  • Server Components combinados con rutas dinámicas para secciones del CV y panel de referencia.
  • Panel “Referencia API” consulta health checks y sincroniza repos via fetch y almacenamiento local.
  • Publica datasets en `/public/data` para render instantáneo mientras los servicios cargan.

Dashboard de servicios

Backend
offline
Latencia: ms
Profile
offline
Latencia: ms
Projects
offline
Latencia: ms
Chatbot
offline
Latencia: ms
Content Ingest
offline
Latencia: ms

Sincronización de repositorios GitHub

Resultado GitHub Sync
Repositorios sincronizados

Sin repos sincronizados aún.

API y documentación (Swagger)

Perfil
Proyectos
Chatbot
Content Ingest