Consolidé una arquitectura de microservicios Spring Boot en menos unidades desplegables con módulos Maven hexagonales.
Diseño, construyo, despliego y opero software en producción.
Soy Cristhian Soto, Full Stack Developer. Backend en Java 21 y Spring Boot con arquitectura hexagonal y multi-tenant, frontend en Nuxt e infraestructura en Azure.
Lo que uso, y hasta dónde lo domino.
Cada nivel sale de repos, commits y despliegues reales. Sin barras de porcentaje inventadas.
Backend
8 / 8- Java 21 Avanzado
- Spring Boot 3.5 Avanzado
- Spring Security Avanzado
- Arquitectura hexagonal Avanzado
- Flyway Avanzado
- JPA / Hibernate Sólido
- Spring AMQP Sólido
- Drools Básico
Frontend
8 / 8- Nuxt 3 / 4 Avanzado
- Vue 3 Avanzado
- BFF con cookies httpOnly Avanzado
- TypeScript Avanzado
- Nuxt UI Sólido
- Tailwind CSS 4 Sólido
- Pinia Sólido
- Astro Básico
Datos
5 / 5- MySQL 8 Avanzado
- PostgreSQL Sólido
- Drizzle ORM Sólido
- Usuario de BD por servicio Sólido
- SQLAlchemy / Alembic Básico
Cloud y CI/CD
7 / 7- Azure Container Apps Avanzado
- Azure Container Registry Avanzado
- Docker Sólido
- GitHub Actions + OIDC Sólido
- Azure DevOps Sólido
- Netlify Sólido
- Cloudflare Workers Básico
Seguridad
4 / 4- Keycloak / OIDC / JWT Avanzado
- Aislamiento multi-tenant Avanzado
- Matriz de roles Sólido
- Secretos en llavero Sólido
Pagos y mensajería
7 / 7- ePayco Avanzado
- Credibanco Sólido
- OpenPay Sólido
- WhatsApp Cloud API Sólido
- SendGrid / MailerSend Sólido
- Sigma Móvil (SMS) Sólido
- Wompi Básico
IA y agentes
5 / 5- Python 3.12 Sólido
- FastAPI + Pydantic Sólido
- LangGraph Sólido
- OpenAI SDK Básico
- Pipedrive API Básico
Testing
4 / 4- JUnit 5 + MockMvc Avanzado
- pytest + mypy strict Sólido
- Vitest Sólido
- Bruno Sólido
Ideamosmas
Diseño, construyo, despliego y opero servicios backend, frontends web y agentes de IA para productos de ecommerce, pagos, promociones y mensajería.
Aislé tenants con un TenantContext por request en los servicios de la plataforma, con un flag de enforcement desplegado servicio por servicio.
Ejecuté y documenté despliegues a producción con imagen verificada, revisiones con tráfico controlado y rollback.
Construí el checkout con ePayco: wallet, tarjeta guardada y reconciliador programado, respaldado por una suite amplia de tests.
Migré la autenticación del panel a un BFF Nuxt con cookies httpOnly y JWT de Keycloak.
Resolví en producción el rechazo de pagos de extranjeros y dimensioné el pool de Postgres al presupuesto real de conexiones.
Construí un agente de soporte por WhatsApp con FastAPI y LangGraph, cubierto por tests automatizados.
Construí el frontend del portal web de Gane y sus conexiones con el backend: recarga de billetera, checkout y sesión.
Desarrollé el motor de campañas con Drools, el panel en Nuxt y los reportes sobre Postgres.
Migré pipelines de Azure DevOps y Bitbucket a GitHub Actions con identidad OIDC hacia Azure.
Mido antes de afirmar.
Principios que se pueden abrir y comprobar: cada uno tiene un documento, un commit o un runbook detrás.
Cada deploy deja evidencia y un camino de vuelta.
Imagen, digest, revisión, arranque verificado y plan de rollback, escritos antes de ejecutar.
Una verificación que no puede fallar no es verificación.
Cada check lleva un control positivo y uno negativo.
Medido, asumido o sin lectura.
Separo lo que vi de lo que inferí, en docs, tickets y reportes.
Los tenants se aíslan en el código y en la base.
Contexto de tenant por request, migraciones y tablas de historia por servicio.
La IA ejecuta; yo dirijo y audito.
Agentes con roles separados, gates de evidencia y read-back de lo leído de vuelta.
Los secretos no tocan el disco.
Tokens en el llavero del sistema, fuera del contexto del agente y de la imagen final.
Dónde lo apliqué.
Sistemas en producción para clientes de Ideamos Más, sitios en vivo y un proyecto propio.
Portal web de Gane
Frontend y conexiones con el backend: recarga de billetera digital, checkout, manejo de sesión y webview desde WhatsApp.
API de catálogo multi-tenant
API Spring Boot hexagonal donde Hibernate @TenantId aísla los tenants a partir de un claim del JWT de Keycloak, probado con tests de integración en Testcontainers.
Agente de reservas por WhatsApp
Asistente de WhatsApp que agenda citas: webhook de Meta con firma verificada, máquina de estados en LangGraph y un LLM con respaldo en reglas.
Ecommerce multi-tenant
Microservicios Spring Boot hexagonales, storefront y panel en Nuxt, checkout con ePayco y Credibanco.
Plataforma de notificaciones
Diseñé y construí solo los dos servicios: un gateway de correo y SMS sobre SendGrid, MailerSend y Sigma Móvil con webhooks de entrega, y un orquestador con plantillas y envíos programados con Quartz.
Exploreti
Compra por WhatsApp, integración con ePayco, cierre de endpoints del portal de proveedor y CI en GitHub Actions.
Agentes de WhatsApp
Agente de soporte con máquina de estados y backend de alta de WhatsApp Business.
Movid web de parqueaderos
Suscripciones de parqueadero y pagos con tarjeta con Credibanco y OpenPay.
Plataforma de promociones
Motor de reglas de campañas, panel multi-sitio y reportes de negocio.
ideamosmas.com
Rediseño completo y migración a Nuxt, con un sistema de color por producto.
Plataforma de rifas
Organización de rifas con panel de validación de pagos.
Formación e idiomas
Ingenieria de Sistemas
Bootcamp de Inteligencia Artificial (Nivel Basico)
¿Cómo quieres tu sitio web?
Portafolio, landing page, sitio corporativo o aplicación a medida. Contáctanos y lo diseñamos a tu gusto.
Portafolio
Tu trayectoria presentada con claridad: rápido, bilingüe y fácil de actualizar.
CotizarLanding page
Una página enfocada en convertir visitas en clientes, con analítica.
CotizarSitio corporativo
Varias secciones, multilenguaje y fácil de administrar.
CotizarAplicación web
Paneles, pagos e integraciones a la medida de tu negocio.
Cotizar¿Construimos algo que llegue a producción?
Backend Java/Spring, frontends Nuxt, integraciones de pago o agentes de WhatsApp.
crsoto2003@gmail.com