Disponible para nuevos proyectos Cali, Colombia · UTC−5

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.

Portrait of Cristhian Francisco Soto Portilla
Backend
Java · Spring Boot
arquitectura hexagonal
Frontend
Nuxt · Vue
BFF seguro
Cloud
Azure
Container Apps · CI/CD
Multi-tenant
Aislamiento por cliente
código y base de datos
Pagos
ePayco · Credibanco
OpenPay · Wompi
IA
Agentes de WhatsApp
Python · LangGraph
01 / stack

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
02 / experiencia

Ideamosmas

Desarrollador Full Stack
ene de 2024 — presente · Colombia

Diseño, construyo, despliego y opero servicios backend, frontends web y agentes de IA para productos de ecommerce, pagos, promociones y mensajería.

JavaSpring BootNuxtVueTypeScriptPythonMySQLPostgreSQL
01Arquitectura

Consolidé una arquitectura de microservicios Spring Boot en menos unidades desplegables con módulos Maven hexagonales.

spring boot · maven · hexagonal
02Multi-tenant

Aislé tenants con un TenantContext por request en los servicios de la plataforma, con un flag de enforcement desplegado servicio por servicio.

spring security · flyway · mysql
03Operación

Ejecuté y documenté despliegues a producción con imagen verificada, revisiones con tráfico controlado y rollback.

container apps · acr · netlify
04Pagos

Construí el checkout con ePayco: wallet, tarjeta guardada y reconciliador programado, respaldado por una suite amplia de tests.

epayco · junit · mockmvc
05Seguridad

Migré la autenticación del panel a un BFF Nuxt con cookies httpOnly y JWT de Keycloak.

nuxt · nitro · keycloak
06Incidentes

Resolví en producción el rechazo de pagos de extranjeros y dimensioné el pool de Postgres al presupuesto real de conexiones.

postgres · epayco · azure
07IA

Construí un agente de soporte por WhatsApp con FastAPI y LangGraph, cubierto por tests automatizados.

python · langgraph · openai
08Frontend

Construí el frontend del portal web de Gane y sus conexiones con el backend: recarga de billetera, checkout y sesión.

nuxt · pinia · spring boot
09Promociones

Desarrollé el motor de campañas con Drools, el panel en Nuxt y los reportes sobre Postgres.

spring boot · drools · nuxt
10CI/CD

Migré pipelines de Azure DevOps y Bitbucket a GitHub Actions con identidad OIDC hacia Azure.

github actions · oidc
03 / cómo trabajo

Mido antes de afirmar.

Principios que se pueden abrir y comprobar: cada uno tiene un documento, un commit o un runbook detrás.

01

Cada deploy deja evidencia y un camino de vuelta.

Imagen, digest, revisión, arranque verificado y plan de rollback, escritos antes de ejecutar.

↳ runbook de despliegues
02

Una verificación que no puede fallar no es verificación.

Cada check lleva un control positivo y uno negativo.

↳ doctrina de programa
03

Medido, asumido o sin lectura.

Separo lo que vi de lo que inferí, en docs, tickets y reportes.

↳ marcas MEDIDO / ASUMIDO en cada runbook
04

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.

↳ contexto de tenant en cada servicio
05

La IA ejecuta; yo dirijo y audito.

Agentes con roles separados, gates de evidencia y read-back de lo leído de vuelta.

↳ guía del arquitecto
06

Los secretos no tocan el disco.

Tokens en el llavero del sistema, fuera del contexto del agente y de la imagen final.

↳ PAT verificado fuera de la imagen
04 / proyectos

Dónde lo apliqué.

Sistemas en producción para clientes de Ideamos Más, sitios en vivo y un proyecto propio.

web · apuestas y pagosEn vivo
G

Portal web de Gane

Frontend y conexiones con el backend: recarga de billetera digital, checkout, manejo de sesión y webview desde WhatsApp.

Nuxt 3PiniaSpring BootJWT
código abierto · referenciaRepo público
⌘

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.

Java 21Spring BootKeycloakPostgreSQLTestcontainers
código abierto · agente IARepo público
>_

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.

PythonFastAPILangGraphWhatsAppmypy strict
plataforma · B2BEn producción
{ }

Ecommerce multi-tenant

Microservicios Spring Boot hexagonales, storefront y panel en Nuxt, checkout con ePayco y Credibanco.

Java 21Spring BootNuxtKeycloakAzure
infra · autoría propiaEn producción
@

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.

Java 21Spring BootQuartzSendGridMailerSendSigma Móvil
web · reservas turísticasEn vivo
E

Exploreti

Compra por WhatsApp, integración con ePayco, cierre de endpoints del portal de proveedor y CI en GitHub Actions.

Nuxt 4DrizzlePostgreSQLePayco
IA · mensajeríaEn producción
>_

Agentes de WhatsApp

Agente de soporte con máquina de estados y backend de alta de WhatsApp Business.

PythonFastAPILangGraphPostgreSQL
web · suscripciones y pagosEn vivo
P

Movid web de parqueaderos

Suscripciones de parqueadero y pagos con tarjeta con Credibanco y OpenPay.

Nuxt 3Nuxt UICredibancoOpenPay
campañas · reportesEn producción
%

Plataforma de promociones

Motor de reglas de campañas, panel multi-sitio y reportes de negocio.

Spring BootDroolsNuxt 3Cloudflare
web · sitio corporativoEn vivo
I

ideamosmas.com

Rediseño completo y migración a Nuxt, con un sistema de color por producto.

Nuxt 4Tailwind CSS 4Netlify
web · SaaSEn vivo
C

Controlo

Contribuciones a la aplicación en Nuxt y a las páginas de aterrizaje en Astro.

NuxtAstroNetlify
web · contribuciónEn vivo
M

Parking Mobile

Evento de analítica de conversión de leads en la página de gracias.

AstroAnalytics
personalProyecto propio
#

Plataforma de rifas

Organización de rifas con panel de validación de pagos.

Next.jsPrismaSupabaseNextAuth
05 / formación

Formación e idiomas

2020 — 2024

Ingenieria de Sistemas

Universidad de San Buenaventura Cali
2025

Bootcamp de Inteligencia Artificial (Nivel Basico)

Inteligencia Artificial
Idiomas
SpanishNative speaker
EnglishB2
06 / a tu medida

¿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.

Cotizar

Landing page

Una página enfocada en convertir visitas en clientes, con analítica.

Cotizar

Sitio corporativo

Varias secciones, multilenguaje y fácil de administrar.

Cotizar

Aplicación web

Paneles, pagos e integraciones a la medida de tu negocio.

Cotizar
07 / contacto

¿Construimos algo que llegue a producción?

Backend Java/Spring, frontends Nuxt, integraciones de pago o agentes de WhatsApp.

crsoto2003@gmail.com