▲ LOC: BOGOTÁ 04°38'N 74°05'W / GMT-5✎ NUEVO EN EL BLOG: POR QUÉ CONSTRUÍ MI PROPIO TUTOR▼ KIKI LATAM: +10.000 GUÍAS EN SEGUNDOS, ANTES HORAS● STACK: NESTJS · PYTHON · BIGQUERY▲ VEGAREPARACIONES: SEO 100 · A11Y 96 · PERF 90● ABIERTO A OPORTUNIDADES: REMOTO / HÍBRIDO▼ RODA · VEGAREPARACIONES · KIKI LATAM · PULZO● PULZO: +5 AÑOS DE DATOS CENTRALIZADOS
// FULL STACK DEVELOPER v.2026

Veo patrones en todo: en una canción, en un partido, en un problema. Programar es mi forma de ponerlos a trabajar. I see patterns in everything: in a song, in a match, in a problem. Programming is how I put them to work.

ABIERTO A OPORTUNIDADES — REMOTO/HÍBRIDOOPEN TO OPPORTUNITIES — REMOTE/HYBRID
BOGOTÁ --:--:--
// 01 _ SOBRE_MÍ // 01 _ ABOUT_ME

Sobre mí. About me.

cat about.mdutf-8

Programo desde 2021 y trabajo en la industria desde 2023, en fintech, logística y medios digitales.

Fuera del trabajo también tengo proyectos propios: un tutor de IA que vive en un repositorio, un sistema de soporte con LLMs y este blog.

Lo que más me importa al construir algo: entender primero el problema de negocio y encontrar la forma más simple de resolverlo.

I've been coding since 2021 and working in the industry since 2023, across fintech, logistics and digital media.

Outside of work I have my own projects too: an AI tutor that lives in a repository, an LLM-powered support system and this blog.

What matters most to me when building something: understanding the business problem first and finding the simplest way to solve it.

Ilustración de Ingecat, alias de trabajo de Alejandro
~/ ingecatdev · alias de trabajowork alias
// FOCUS
Full StackFull Stack
React · Angular · APIsReact · Angular · APIs
// METHOD
Ops + datosOps + data
Automatización · SQL · BQAutomation · SQL · BQ
// ROOTS
SENA · UNIMINUTOSENA · UNIMINUTO
2021–22 · 2025 – en curso2021–22 · 2025 – ongoing
// MODE
Remoto / HíbridoRemote / Hybrid
abierto a oportunidadesopen to opportunities
// 02 _ STACK // 02 _ STACK

Con qué trabajo. What I work with.

Resaltado: lo que uso a diario. Highlighted: what I use daily.

FrontendFrontend

  • React
  • TypeScript
  • Next.js
  • Astro
  • Vite
  • Angular
  • Tailwind CSS

BackendBackend

  • Python
  • NestJS
  • FastAPI
  • Flask
  • Node.js
  • PHP / Laravel
  • REST APIs
  • RabbitMQ

DatosData

  • PostgreSQL
  • MySQL
  • BigQuery
  • Redis
  • TypeORM
  • GA4
  • Looker Studio

Cloud y DevOpsCloud & DevOps

  • GCP (Cloud Run)
  • AWS
  • Docker
  • Docker Compose
  • GitHub Actions
  • Vercel
  • Linux

IAAI

  • Claude API
  • OpenAI API
  • LLM structured output
  • AI coding agents
  • LLM automations

Testing y calidadTesting & quality

  • pytest
  • Jest
  • Vitest
  • PHPUnit
  • E2E tests
  • CI
arquitecturaarchitecture
Clean Architecture · Hexagonal · Layered · Microservices · REST APIs
patronespatterns
Factory Method · Repository · Dependency Injection · DTO · Service Layer · SOLID
herramientastools
Git · GitHub · GitLab · Power Query / Power BI · Selenium · Scrum · Kanban

Cómo uso la IAHow I use AI

Le delego a la IA lo que me quita foco, para que mi cabeza quede libre para lo que de verdad la necesita.I hand AI whatever steals my focus, so my head stays free for what actually needs it.

  • Lo pequeño, a un agenteSmall stuff goes to an agent

    Investigar un bug, rastrear un error que no tiene sentido o crear las tareas de un requerimiento. Un agente lo hace mientras yo sigo en lo mío.Digging into a bug, tracing an error that makes no sense or creating the tasks for a requirement. An agent does it while I keep going.

  • Lo grande, conmigoBig stuff stays with me

    Cuando llega un requerimiento o una solicitud grande necesito concentración, no que me interrumpan cosas que se pueden delegar.When a big requirement or request lands I need focus, not interruptions from things that could be delegated.

  • Skills, agentes y RAGSkills, agents and RAG

    Armo skills y agentes con el contexto del negocio y experimento con RAG para que respondan con información real. Si algo me quita tiempo, intento automatizarlo.I build skills and agents with business context and experiment with RAG so they answer with real information. If something eats my time, I try to automate it.

// 03 _ EXPERIENCIA // 03 _ EXPERIENCE

Historial de commits. Commit history.

  1. $ role_04 jun. 2025 — actualidadJun 2025 — present

    Roda

    Desarrollador Full StackFull Stack Developer · Movilidad eléctrica y créditoElectric mobility & credit

    • Módulo de mayor volumen funcional de la plataforma administrativa interna: gestión de clientes y seguimiento de cartera.
    • Portal de Clientes y módulo de logística y rastreo de flota, con la sincronización de dispositivos GPS contra la API del proveedor externo.
    • Worker de sincronización GPS: de peticiones HTTP seriales a ejecución concurrente con ThreadPoolExecutor, sesiones con keep-alive y un lock distribuido en Redis que elimina ejecuciones duplicadas entre workers.
    • Módulo de recuperación de vehículos y créditos, de punta a punta, con dos interfaces administrativas.
    • Cloud Run Job para monitoreo continuo de dispositivos GPS, backlog automatizado con Python y la API de Trello, y documentación de servicios en Notion segmentada por audiencia.
    • Largest functional module of the internal admin platform: customer management and portfolio follow-up.
    • Customer Portal plus the logistics and fleet-tracking module, syncing GPS devices against the external provider's API.
    • GPS sync worker: from serial HTTP requests to concurrent execution via ThreadPoolExecutor, keep-alive sessions and a distributed Redis lock that stops workers from duplicating a run.
    • End-to-end vehicle and credit recovery module, with two admin interfaces.
    • Cloud Run Job for continuous GPS device monitoring, backlog automation with Python and the Trello API, and service documentation in Notion split by audience.
    PythonFlaskFastAPIReactPostgreSQLGCPRedisDocker
  2. $ role_03 may. 2025 — sep. 2025May 2025 — Sep 2025

    VegaReparaciones

    Desarrollador web freelanceFreelance web developer · RemotoRemote

    • Sitio completo de vegareparaciones.com en Next.js, con la arquitectura de contenido orientada a conversión.
    • SEO técnico y local: datos estructurados JSON-LD, Search Console y Google Business Profile, más GA4 para iterar el contenido según el comportamiento real de los clientes. En producción: 100 en SEO, 100 en buenas prácticas, 96 en accesibilidad y 90 en rendimiento.
    • Despliegues automatizados y gestión de dominio y DNS, con entregas continuas sin intervención manual.
    • Built vegareparaciones.com end to end in Next.js, with a content architecture aimed at conversion.
    • Technical and local SEO: JSON-LD structured data, Search Console and Google Business Profile, plus GA4 to iterate content from real customer behaviour. In production: 100 SEO, 100 best practices, 96 accessibility, 90 performance.
    • Automated deployments and domain/DNS management, leaving the site shipping continuously with no manual steps.
    Next.jsSEO técnicoGA4CI/CD
  3. $ role_02 may. 2024 — mar. 2025May 2024 — Mar 2025

    Kiki LATAM

    Ingeniero de desarrollo middle full stackMiddle full stack engineer · LogísticaLogistics

    • Reprogramación de guías automatizada con un flujo asistido por IA: detecta los casos elegibles, actualiza las entregas y reparte reportes en Excel por Gmail.
    • Generación masiva de guías: de horas a segundos para más de 10.000 guías, con un stored procedure en PostgreSQL invocado desde NestJS.
    • Grafos de la arquitectura de microservicios para que el equipo entendiera dependencias y flujos entre servicios.
    • Funcionalidades end-to-end de la plataforma logística en React y NestJS, apoyo a la app móvil en Flutter y adopción de Scrum en el equipo de tecnología.
    • Automated waybill rescheduling with an AI-assisted flow: it spots eligible cases, updates deliveries and sends Excel reports over Gmail.
    • Bulk waybill generation: from hours to seconds for 10,000+ waybills, with a PostgreSQL stored procedure called from NestJS.
    • Microservice architecture graphs so the team could understand dependencies and flows between services.
    • End-to-end features for the logistics platform in React and NestJS, support for the Flutter mobile app and Scrum adoption across the tech team.
    NestJSReactPostgreSQLFlutter
  4. $ role_01 abr. 2023 — may. 2024Apr 2023 — May 2024

    Pulzo

    Desarrollador Backend / Data TrackingBackend / Data Tracking Developer · Antes practicante de softwarePreviously software intern

    • Procesos ETL en Python para integrar Universal Analytics y GA4 en BigQuery, con más de 5 años de datos históricos de audiencia centralizados.
    • Microservicios en Node.js con front en Angular para unificar la gestión de accesos del personal en CMS, Gmail y otras plataformas.
    • Portal web en Laravel y PHP, soporte a sitios WordPress y etiquetado con Google Tag Manager.
    • Python ETL processes to bring Universal Analytics and GA4 into BigQuery, centralizing over 5 years of historical audience data.
    • Node.js microservices with an Angular front end to unify staff access management across the CMS, Gmail and other platforms.
    • Web portal in Laravel and PHP, support for WordPress sites and tagging with Google Tag Manager.
    PythonNode.jsAngularBigQueryLaravel
// 04 _ PROYECTOS // 04 _ PROJECTS

Lo que he construido. What I have built.

Tres para empezar. Cada uno tiene su caso: el problema, qué hice y qué cambió. Three to start with. Each one has its case: the problem, what I did and what changed.

  1. 01 Support TriageSupport Triage 2026
  2. 02 Worker de sincronización GPSGPS sync worker 2025
  3. 03 Recuperación de cartera y activosPortfolio & asset recovery 2025
2026 AutorAuthor Open source Support TriageSupport Triage Un sistema de soporte que lee cada ticket, lo clasifica y sugiere una respuesta con IA. Si la IA falla, sigue funcionando con un clasificador propio.A support system that reads each ticket, classifies it and suggests a reply with AI. If the AI fails, it keeps working with its own classifier. 3serviciosservicesClaude | OpenAI | localproveedor LLMLLM providerEnd-to-endCICI NestJSFastAPIRabbitMQReact Ver casoOpen case 2025 Desarrollador backendBackend developer Roda Worker de sincronización GPSGPS sync worker La sincronización del GPS de la flota se demoraba tanto que una corrida se pisaba con la siguiente. Ahora consulta los dispositivos en paralelo y nunca procesa el mismo lote dos veces.The fleet GPS sync took so long that one run overlapped the next. Now it queries devices in parallel and never processes the same batch twice. ThreadPoolconcurrenciaconcurrencyRedis lockexclusiónmutual exclusionCloud Runruntimeruntime PythonRedisCloud RunGCP Ver casoOpen case 2025 Desarrollador principalLead developer Roda Recuperación de cartera y activosPortfolio & asset recovery El proceso para recuperar vehículos y créditos vivía en hojas de cálculo y chats. Ahora tiene su propia herramienta, con un panel para la oficina y otro para el equipo en campo.Recovering vehicles and loans used to live in spreadsheets and chats. Now it has its own tool, with one panel for the office and one for the field team. 2interfacesinterfaces[object Object]alcancescope[object Object]reemplazareplaces PythonFlaskReactPostgreSQL Ver casoOpen case
// 06 _ RECESO // 06 _ BREAK

Cómete mi playlist. Eat my playlist.

Cada carátula es una canción de mi playlist. Every cover is a song from my playlist.

PuntosScore0
RécordBest0

¿Listo?Ready?

← ↑ → ↓ · WASDDesliza para girarSwipe to turn

En pausaPaused

—

Suena la carátula del tableroPlays the cover on the board

Te comisteYou ate 0

    Previews de 30 s vía Deezer.30 s previews via Deezer.

    Hoy la música no cargó; se juega igual.Music didn't load today; you can still play.

    Global

      En este dispositivoOn this device

        // 07 _ CONTACTO// 07 _ CONTACT

        Hablemos. Let's talk.

        Busco mi próximo rol full stack, remoto o híbrido desde Bogotá. Si tienes uno, o un proyecto, escríbeme por LinkedIn. I'm looking for my next full stack role, remote or hybrid from Bogotá. If you have one, or a project, message me on LinkedIn.

        // SYSTEM_INFO
        location
        Bogotá, CO
        timezone
        GMT-5
        status
        abierto a oportunidadesopen to opportunities
        mode
        remoto / híbridoremote / hybrid
        since
        2023
        // NOW_PLAYING
        —
        —
        0:00
        ↗ SPOTIFY