Ingeniero backend senior, blockchain y sistemas distribuidos
Construyo indexadores EVM y servicios backend en Go, TypeScript y Python, y los instrumento hasta saber en qué se va cada núcleo y cada megabyte. Mi sistema más grande guarda dos años de trades DEX de Ethereum y BSC en la pequeña placa de esta foto.
Vivo en Bogotá, Colombia. Abierto a trabajo remoto internacional.
El RK3588S2 ejecuta el indexador de Swapstracker. Workers en paralelo descargan y enriquecen rangos de bloques; un único committer los escribe en orden.
Una placa expone sus pines deliberadamente. Gatekeeper hace lo mismo con las APIs de terceros: cada usuario llega solo a los proveedores que se le concedieron.
Swapstracker indexa swaps estilo Uniswap V2, V3 y V4 en cadenas EVM, calcula el precio en USD de cada trade y sirve velas y trades en vivo.
Lo construí dos veces. Mi primera versión repartía el ETL entre microservicios TypeScript que escribían en MongoDB, y mis propios logs mostraban dónde se iba el tiempo: serializar, enviar y volver a parsear los mismos datos entre servicios. Así que reescribí el recorrido de logs a trades como un único binario Go y migré el almacenamiento a PostgreSQL con TimescaleDB. Ambas versiones son código mío y cerrado.
Cifras operacionales de mis propios logs y métricas. No es una auditoría independiente ni un benchmark controlado.
Registro de mediciones
más de 3.100 millones
de trades guardados, dos años de Ethereum y BSC
observado
1 TB
de histórico comprimido, en un SSD de 2 TB
observado
20 días
para sincronizar esos dos años, ambas cadenas juntas
observado
≈ 1 año
lo que proyectaba mi primera versión para el mismo trabajo
estimación a partir de bloques/s registrados
80% menos
RAM después de la reescritura
reportado, aún sin benchmark reproducible
Una estimación frente a una observación, no un benchmark controlado. Cambiaron a la vez la arquitectura, el acceso a datos y el almacenamiento, así que el mérito no es de un solo factor.
Es habitual copiar el mismo client secret en varios proyectos solo para llamar a una API externa. Cada copia es otro lugar donde puede filtrarse o quedarse sin rotar.
Gatekeeper guarda las credenciales de los proveedores en el servidor, cifradas, y deja que cada usuario llame solo a los proveedores que un administrador le concedió. Los consumidores se autentican ante Gatekeeper; Gatekeeper se autentica ante el proveedor.
Un motor de rutinas para gimnasio, lectura, meditación y running. Ciclos, calendarios diarios y por días de semana, intervalos, desplazamientos de calendario y clonación de rutinas de la comunidad. Go (router estándar net/http) y pgx/v5, SQL explícito, migraciones versionadas y SvelteKit.
El cuaderno diario: cuatro disciplinas, el ciclo en curso y 30 días de actividad.
Un bot de Telegram que recuerda las conversaciones de un grupo. RAG sobre mensajes, resúmenes y búsqueda vectorial, failover entre proveedores LLM y recordatorios asíncronos. Cifra los mensajes guardados con AES-256-GCM, usando claves por usuario y por grupo derivadas con HKDF desde un secreto del servidor. Python, MongoDB, ChromaDB y Svelte.
Cinco proveedores LLM en un orden de respaldo fijo, cada uno con su modelo y sus conteos de éxitos y errores.
Análisis de riesgo de tokens EVM: compras y ventas simuladas sobre un fork del estado para detectar honeypots e impuestos de transferencia, combinadas con bytecode, datos de mercado y análisis de los primeros holders. Reutiliza daemons de Foundry Anvil para simular sobre el estado reciente, aislando solicitudes con un mutex y evm_snapshot/evm_revert.
Contratos y adaptadores compartidos para autenticación, logging, cifrado, almacenamiento y clientes HTTP con reintentos y backoff.
Cómo llegué aquí
Estudié ingeniería eléctrica y programé mis dos proyectos de grado en MATLAB. Más tarde trabajé como inspector RETIE, certificando que las instalaciones eléctricas cumplieran el reglamento técnico colombiano. Era un trabajo sólido, pero no el tipo de ingeniería que yo quería hacer.
Mientras seguía inspeccionando, fundé con un colega una pequeña empresa de estudios de calidad de energía. Escribí su software de análisis en Python, usando la GPU para procesar grandes volúmenes de mediciones, y construí su sitio web. Así volví al software. Lo que me atrapó fue la libertad de crear algo, medir cómo funciona y seguir mejorándolo.
Fuera del trabajo juego Warframe, y jugué mucho World of Warcraft. Lo que disfruto es la matemática: calcular qué combinación de equipo y modificadores lleva más lejos el daño y la resistencia. En WoW, los números una vez me dieron un personaje que solo puedo describir como inmortal. El mismo instinto, otro sistema.
En el banco de pruebas
Una estrategia automática de inversión en futuros que toma sus señales de las estadísticas de trades de Swapstracker. Todavía no hay resultados que mostrar. Cuando los haya, los publicaré aquí junto con el método.
Contacto
El correo es la forma más rápida de contactarme. Busco roles remotos de backend y blockchain en equipos internacionales.