Alan Bruno Benavides Alvarez

Tech Lead · Desarrollador Full Stack

Desarrollador full stack con 5 años construyendo productos web de punta a punta. He liderado equipos pequeños como tech lead: decisiones de arquitectura, stack y estándares, y metiéndome en la lógica de negocio cuando el equipo no tenía un rol de producto dedicado.

Mi criterio por defecto es la opción más simple que resuelva el problema real — no la más completa. Y creo que hoy, con IA en el flujo de trabajo (Claude Code y modelos locales con Qwen), lo técnico dejó de ser la barrera: el foco está en las soluciones y en las personas que las construyen.

Doble nacionalidad boliviana y peruana — puedo trabajar en ambos países.

Español · NativoInglés · Intermedio (B1)

Principios

Cómo trabajo

01

Lo simple, salvo que se demuestre lo contrario

Cuando hay dos caminos, el que gana no es el más elegante sino el que menos riesgo y menos costo mete al negocio. Migrar una base entera puede ser lo «correcto»; un adapter que la puentea puede ser lo que mantiene el producto vivo. Decido con ese lente y lo dejo escrito para que el equipo sepa por qué.

02

Un MVP antes que una estimación inflada

Cuando negocio pide algo y el equipo lo sobredimensiona, no aprieto al equipo — la moral y el estrés son parte del sistema. Primero valido con el equipo si el requerimiento está realmente sobredimensionado, después medio con negocio para recortarlo a un MVP, lo medimos, y recién con esos datos re-estimamos tiempo e infraestructura para el resto.

03

IA como par de exploración, no como autocompletado

Uso Claude Code y modelos locales (Qwen) donde más rinden: explorar sistemas que no conozco, debugging y revisión de código. En Q-minex llegaron máquinas de minado de un modelo nuevo; con acceso SSH desde la red de planta usé IA para mapear el firmware y las APIs expuestas, y de ahí salió la propuesta de integración y el factory que las sumó al sistema — días de discovery reducidos a horas.

Herramientas

Stack técnico

Lenguajes

TypeScriptJavaScriptGo

Frontend

ReactNext.jsVueNuxt.jsReact NativeTailwind CSSRedux / Redux-SagaZustandPiniaTanStack QueryReact Hook FormVeeValidateZodMaterial UINuxt UIChart.jsThree.js

Backend

NodeNestJSEcho (Go)tRPCgRPCWebSocketsExpressStrapiEnt (Go)PrismaDrizzleREST / OpenAPI (Swagger)Pusher

Auth

OAuth 2.0 / OIDCJWTAWS CognitoFirebase Auth

Bases de datos

PostgreSQLPostGISMongoDBRedisSupabaseTurso (SQLite)Firebase

Infraestructura

AWS (EC2, ECS, LB, CloudFront, S3, ECR, CloudWatch)Cloudflare (Workers, Tunnel, R2)TerraformLinuxNginxSSHSSL/TLSCDNVercelRenderHerokuCoolify

DevOps

GitHub ActionsDockerDocker SwarmPrometheusSentryLinters y formattersDespliegues automatizados

Testing

VitestJestPlaywrightReact Testing Librarytestify (Go)Postman

Integraciones

StripeBinanceZoho CRMResendGoogle Maps APINotificaciones push (FCM)

Producto y analytics

FigmaGoogle AnalyticsGoogle Tag ManagerMeta Pixel

Pagos y transacciones

Dinero moviéndose de punta a punta

Implementación end-to-end de Stripe en Racquets App Suite para cobros de inscripción a torneos, reserva de canchas y sesiones de entrenamiento. En Q-minex, integración con Binance para controlar el depósito de los ASICs a la cuenta principal y automatizar los depósitos del saldo generado. Formación en la API de facturación electrónica de Bolivia.

Trayectoria

Experiencia

Tech Lead

Tiempo completoQ-minex(se abre en una pestaña nueva)·Jul 2025 – Jun 2026

Parte del núcleo técnico de una startup de 8 personas, liderando un equipo de tres (dos desarrolladores y una diseñadora) para construir una plataforma de gestión de criptomonedas y control remoto de equipos de minería, distribuidos en 3 plantas con 111 rigs activos y capacidad física para 500. Tomé todas las decisiones de arquitectura del producto y llegamos al primer despliegue en producción en 5 meses.

  • Integración con Binance y sincronización de operaciones en tiempo real.
  • Módulo de consulta concurrente de los rigs de minería construido en Go, contra la API del fabricante — gestionar la concurrencia sin sobrecargar los rigs ni perder datos.
  • Servidor físico on-premise en cada planta que hace de puente hacia los rigs —solo alcanzables en la red local— y centraliza su control; se conecta a la nube por Cloudflare Tunnel (sin IP pública ni puertos de entrada) y se monitorea con Prometheus.
  • Infraestructura en AWS con CI/CD desde el día uno: ECS en producción y EC2 para staging, aprovisionados con Terraform y corriendo Nginx, Docker y Docker Swarm, con observabilidad vía CloudWatch.
  • Responsable de la planificación, code reviews, lógica de negocio y de mantener al equipo alineado con los objetivos del producto.
  • Persistencia políglota — dos bases PostgreSQL y MongoDB, con Prisma o Drizzle según el servicio, y gRPC para la comunicación entre servicios.
  • Frontend en Nuxt con Pinia, TanStack Query, dashboards con Chart.js y animaciones 3D con Three.js, testeado con Vitest y Playwright; una app React Native con autenticación biométrica (Zustand, React Hook Form) estaba en desarrollo.
  • Google Analytics y Meta Pixel para el seguimiento de producto y adquisición.

Backend e Infraestructura

FreelanceInmobile(se abre en una pestaña nueva)·May 2025 – Jul 2026

Único responsable del backend y la infraestructura de una plataforma inmobiliaria (inmobile-app.com) donde los agentes gestionan sus propiedades y obtienen matches con listados relevantes. Construí todo el backend en Go y me encargué de la escalabilidad de punta a punta. Las implementaciones están terminadas y el producto está actualmente en mantenimiento.

  • Todo el backend construido en Go con Echo v4, Ent como ORM (Atlas para versionar las migraciones), PostgreSQL vía pgx y Redis para el caché de feeds.
  • Búsqueda avanzada con filtros geográficos sobre PostGIS e indexación dedicada para mantener las consultas rápidas sin importar la complejidad.
  • Cloudflare Workers para la validación de imágenes y el matching de propiedades, sacando el procesamiento pesado del flujo principal.
  • Firebase Auth (JWT) y notificaciones push por FCM; Pusher para el chat en tiempo real; media almacenada en Cloudflare R2 a través del SDK de S3.
  • Responsabilidad de punta a punta de la infraestructura y la escalabilidad en Render: CI/CD con GitHub Actions, Docker, Sentry para monitoreo de errores y Resend para emails transaccionales.
  • API documentada con OpenAPI/Swagger y probada con Postman; testify para la suite de tests.

Desarrollador Full Stack

FreelanceGaia del Sur(se abre en una pestaña nueva)·Nov 2025 – Ene 2026

Único desarrollador del sistema que reemplazó la plataforma propia heredada —una caja negra sin documentación ni visibilidad— de una distribuidora de bibliografía académica de la Zona Andina (180.000+ títulos). Lo construí solo en 3 meses: un sitio institucional público con catálogo de libros y un panel administrativo con login para catálogo, clientes y facturación.

  • Recuperé los 180.000+ títulos con un scraper en Playwright: el sistema viejo no exportaba ni tenía esquema documentado. Los normalicé en PostgreSQL.
  • Desarrollo full stack con Nuxt (SSR), Nuxt UI y Tailwind CSS sobre PostgreSQL, desplegado en Coolify.
  • tRPC con esquemas Zod compartidos entre backend y frontend: un cambio de contrato falla en compilación, no en producción.
  • Sitio institucional público con catálogo SEO y panel administrativo con login: catálogo, clientes y facturación.
  • Me encargué de todo en solitario, desde la recuperación de los datos y el modelado hasta el backend y la UI; VeeValidate para el manejo de formularios.

Senior Frontend Developer

Tiempo completoElgeniox (DATEC LATAM)(se abre en una pestaña nueva)·Ago 2024 – Jul 2025

Lideré el frontend de una plataforma de ecommerce B2C de productos no perecederos, llevándola de cero a producción en 8 meses con un desarrollador a mi cargo. Definí la arquitectura, el stack (Next.js), los estándares de código y las decisiones de diseño.

  • Arquitectura organizada por dominio para mantener el código sostenible a medida que crecían el catálogo y las funcionalidades.
  • Estrategias de caché y SEO priorizado desde el inicio, ya que el tráfico orgánico era crítico para el modelo de negocio.
  • Construí el CMS desde cero con Strapi y lo integré con la web (branding, home, categorías y promociones) para que el equipo gestione todo el contenido del sitio de forma fácil.
  • Integré la pasarela de pagos propia de DATEC.
  • Stack de frontend: Zustand para el estado, React Query para el estado del servidor, React Hook Form con Zod para validación, Vitest y React Testing Library para los tests, y Sentry para detectar fallas en producción antes de que las reportaran los usuarios.
  • Eventos de seguimiento del usuario enviados desde el servidor de Next.js en lugar de directamente desde el navegador, para que los bloqueadores y otros agentes externos no los descartaran y la analítica siguiera siendo confiable.

Desarrollador Full Stack

Único desarrollador del sitio de una cafetería (lalalattecoffee.com): una vitrina de productos con CMS propio para que los dueños publiquen promociones y gestionen el contenido por su cuenta. Construido en menos de un mes y sigue vigente en producción.

  • Nuxt y Tailwind CSS sobre Turso (SQLite en el edge), con un CMS para que el equipo gestione productos y contenido sin depender de un desarrollador.
  • Emails transaccionales y Google Tag Manager para el seguimiento de campañas y conversiones.

Tech Lead

Tech lead de una plataforma para deportes de raqueta (reserva de canchas y torneos). Lideré tanto la app móvil en React Native como el backend en Node.js, coordiné un equipo de ~5 desarrolladores y trabajé directamente con el CEO para planificar e implementar nuevas features. Cuando entré, el producto tenía dos módulos (reserva de canchas y torneos simples); lideré el diseño y desarrollo de los módulos de torneos y academia para escalarlo a más usos.

  • Lideré la app móvil en React Native (Firebase Auth, Redux, Redux-Saga, redux-form) y la publiqué tanto en la App Store como en Google Play.
  • Mantuve y contribuí al backend en Node.js + Express sobre Heroku: API REST, pagos con Stripe, Firebase e integración con Zoho CRM.
  • WebSockets para las anotaciones en vivo de los partidos y las confirmaciones de reserva, de modo que todos los participantes vieran el mismo estado sin recargar.
  • Coordiné un equipo de ~5 desarrolladores y trabajé directamente con el CEO en el roadmap del producto y las nuevas features.
  • Diseñé y entregué los módulos de torneos y academia para escalar la app más allá de sus dos módulos originales (reserva de canchas y torneos simples).

Frontend Developer

Tiempo completoDeltax(se abre en una pestaña nueva)·Nov 2021 – May 2024

Segundo frontend (y quinto desarrollador en total) en unirme a una startup de logística enfocada en transporte de carga, que conecta empresas con conductores y camiones. Durante 2.5 años acompañé el crecimiento de la empresa de 5 a ~50 personas, trabajando en tres productos sucesivos: FMS, TMS y el marketplace que conecta carga con flotas y camiones.

  • Lideré varias migraciones técnicas: componentes de clase → función en React, React Router v4 → v6 con lazy loading a nivel de ruta, y JavaScript → TypeScript en el proyecto principal.
  • React con Redux y Redux-Thunk, redux-form y Formik para formularios, AWS Cognito para la autenticación y Jest para los tests.
  • Desarrollé software dedicado sobre la plataforma para uso de los proveedores de carga.
  • Responsable del onboarding y la capacitación de los nuevos desarrolladores del equipo.

En la práctica

Notas de campo

Un adapter en vez de una migración

Racquets App Suite · 2022

Entré a liderar una suite deportiva que ya estaba en producción sobre Firebase. Al crecer la complejidad se decidió pasar a una base relacional, y quedaban dos caminos: migrar todos los módulos anteriores, o escribir un adapter que dejara a los módulos viejos hablar con la base nueva.

Elegí el adapter. La migración completa significaba más tiempo, más costo y un riesgo real de romper funcionalidad que ya estaba dando servicio a usuarios. El adapter dejó al equipo construir los módulos nuevos sobre la base correcta desde el día uno, sin congelar el producto. La deuda quedó acotada y visible, que es distinto a no tenerla.

Scrapear el sistema que estábamos reemplazando

Gaia del Sur · 2025–2026

Gaia funcionaba sobre una plataforma propia heredada de un equipo anterior: sin documentación, sin visibilidad de lo que hacía con los datos del propio negocio y sin nada que se pudiera tocar con seguridad. Reemplazarla era la decisión fácil. Sacar los datos no lo era: el catálogo de 180.000+ títulos solo existía dentro de ese sistema, sin exportación y sin un esquema que alguien pudiera leer.

Volver a cargarlo a mano nunca fue una opción real, y tampoco había una vía confiable hacia la base de datos por debajo. La única interfaz que el sistema viejo seguía respetando era la suya: todavía sabía mostrar cada registro en pantalla. Así que escribí un scraper en Playwright que recorrió el catálogo como lo haría un usuario, y normalicé lo que volvía en el nuevo modelo de PostgreSQL. Scrapear suele ser un olor a problema; acá fue la salida más barata y honesta de un sistema que nadie podía leer. El objetivo del proyecto nunca fueron funcionalidades nuevas: fue volver legibles los datos para el negocio que era su dueño.

Discovery de hardware desconocido con IA

Q-minex · 2026

Llegaron ASICs de un modelo que el sistema no soportaba. Los conectamos a la red de la planta y, con acceso SSH, usé IA para explorar el equipo: qué firmware corría, qué APIs exponía, qué formato devolvía cada endpoint. Con ese mapa armamos la propuesta de integración y construí el factory para ese modelo, ya listo para entrar al pipeline de minería junto a los 111 rigs activos.

Lo interesante no es que la IA escribió código — es que comprimió la parte más lenta, que era entender un sistema cerrado del que no teníamos documentación.

Formación

Educación

Licenciatura en Ingeniería de Sistemas

2018 – 2023

En la etapa final de mi carrera de Ingeniería de Sistemas, con el proyecto de tesis como requisito pendiente. También fui voluntario en la sociedad científica estudiantil de la universidad, donde contribuí a proyectos y enseñé tecnologías web a los nuevos miembros.

Idiomas

  • EspañolNativo
  • InglésIntermedio (B1)

Construyamos

Hablemos

Abierto a roles de tech lead y full stack. La forma más rápida de contactarme es por email.