Hola, soy Jotive
Senior Backend Engineer · Python y TypeScript. Construyo APIs y servicios backend que llegan a producción, con integración de IA en flujos de negocio reales.
Más de 6 años en backend. Stack principal: FastAPI · PostgreSQL · Redis · Docker · AWS · Azure. Desde Colombia.
# Idempotency dual-layer: Redis lock + Postgres unique
@router.post("/orders", status_code=201)
async def create_order(
payload: OrderIn,
idem_key: str = Header(...),
):
async with redis_lock(idem_key, ttl=600):
try:
return await orders.insert(payload, idem_key)
except UniqueViolation:
# replay tardío — devolver existente
return await orders.fetch_by_key(idem_key) Stack
Proyectos
Order Processing Platform
Backend production-grade para procesamiento de pedidos. API REST con idempotency dual-layer (Redis + unique constraint), cursor pagination, token bucket rate limiting atómico vía Lua, read-through cache, logs JSON estructurados con correlation IDs. Cada decisión documentada como ADR.
Coding Interviews Prep
Problemas de entrevistas técnicas para roles Senior Backend. Python 3.11+ con pytest y análisis de complejidad O(t)/O(s). Foco: trade-offs explícitos sobre código clever, y explicabilidad en 2 minutos.
Network Scanner
CLI cross-platform (Windows / Linux / macOS) para escanear la red local y detectar dispositivos desconocidos. Sin dependencias externas, Python 3 puro.
System Design Notes
Cuaderno técnico de problemas clásicos de system design. Cada caso con requirements, back-of-envelope estimate, deep dives y alternativas rechazadas. La misma disciplina ADR aplicada al estudio.
Blog
Ver todos →Idempotency keys: la implementación con Postgres unique constraint y Redis lock que sí soporta producción
Por qué un endpoint de creación de orden no puede confiar solo en el cliente, qué falla cuando se implementa idempotency con un solo mecanismo, y cómo combinar lock distribuido (Redis) con unique constraint (Postgres) para cubrir tanto carrera concurrente como retry tardío.
Quota-aware pipelines: cómo no quemar 10.000 unidades de YouTube API ni perder análisis Claude a mitad de scan
Detectar 403 quotaExceeded temprano, abortar limpio en lugar de seguir pegando contra una pared, y diseñar el background task para que el frontend muestre estado real (no spinner infinito). Patrones extraídos de una herramienta interna que escanea videos y los analiza con Claude vision.
Publicacion nueva en el blog de Jotive
Resumen practico sobre como estructurar y publicar contenido tecnico que aporte valor real.