<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Juan Esteban Bustos Chilatra</title>
    <description>The latest articles on DEV Community by Juan Esteban Bustos Chilatra (@juan_esteban_ce50a6cbccd5).</description>
    <link>https://dev.to/juan_esteban_ce50a6cbccd5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4215960%2Ffc57be12-7834-4e85-ae5f-76f7988193cd.png</url>
      <title>DEV Community: Juan Esteban Bustos Chilatra</title>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juan_esteban_ce50a6cbccd5"/>
    <language>en</language>
    <item>
      <title>De construir robots con Arduino a desarrollar plataformas con IA: mi camino como developer en Colombia</title>
      <dc:creator>Juan Esteban Bustos Chilatra</dc:creator>
      <pubDate>Thu, 29 Oct 2026 19:47:34 +0000</pubDate>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5/de-construir-robots-con-arduino-a-desarrollar-plataformas-con-ia-mi-camino-como-developer-en-3nig</link>
      <guid>https://dev.to/juan_esteban_ce50a6cbccd5/de-construir-robots-con-arduino-a-desarrollar-plataformas-con-ia-mi-camino-como-developer-en-3nig</guid>
      <description>&lt;p&gt;Soy Juan Esteban Bustos Chilatra. Tengo 18+ proyectos desplegados en producción, y sigo en los primeros semestres de Ingeniería de Software en la Universidad Surcolombiana.&lt;/p&gt;

&lt;p&gt;No vengo de una familia de programadores. No tengo Mac. No vivo en Bogotá ni en Medellín. Soy de Neiva, Huila — y construyo software desde acá.&lt;/p&gt;

&lt;p&gt;La línea de tiempo&lt;br&gt;
🔧 2024: Robótica con Arduino&lt;br&gt;
Todo empezó con robots. Mi primer proyecto serio fue un robot de fútbol con Arduino Uno y control Bluetooth:&lt;/p&gt;

&lt;p&gt;Motor L298N para tracción diferencial&lt;br&gt;
App móvil como control remoto&lt;br&gt;
Programación en C/C++&lt;br&gt;
Ese año también construí un sistema de asistencia con RFID — tarjeta, lector, reloj RTC y almacenamiento en SD para exportar a Excel. Hardware real resolviendo problemas reales.&lt;/p&gt;

&lt;p&gt;Resultado: 🥇 1er puesto en el Intercolegiado de Robótica "Neiva Te Ama" (2025)&lt;/p&gt;

&lt;p&gt;💻 2025: El salto al desarrollo web&lt;br&gt;
Con la base de programación de Arduino, el salto a web fue natural:&lt;/p&gt;

&lt;p&gt;Sistema de votaciones escolares — elecciones digitales para mi colegio con escrutinio en tiempo real&lt;br&gt;
Revista Escolar — CMS en PHP/MySQL&lt;br&gt;
E-commerce Copycaess — arquitectura MVC, facturas PDF, Google Auth&lt;br&gt;
App móvil para robots ESP32 — control Bluetooth desde Android&lt;br&gt;
Robot Soccer 2025 — evolución con ESP32 y control PWM&lt;br&gt;
🧠 2026: IA, realidad aumentada y plataformas complejas&lt;br&gt;
Este año explotó todo:&lt;/p&gt;

&lt;p&gt;BioSmart — agricultura urbana con motor de IA en Go (pipeline de 15 fases), globo 3D, marketplace&lt;br&gt;
VIANova — turismo inteligente con IA predictiva, AR y geolocalización&lt;br&gt;
EcoGuardian — acción climática con gamificación, web + app Android&lt;br&gt;
TeamFlow — gestión de equipos con integración GitHub&lt;br&gt;
AxionReality — realidad aumentada web vía QR&lt;br&gt;
Interfaz con voz y gestos — MediaPipe + Web Speech API + Three.js&lt;br&gt;
Resultado: 🥉 3er puesto en la II Hackathon de la USCO (en primer semestre, contra estudiantes avanzados)&lt;/p&gt;

&lt;p&gt;Resultado: 🎤 Conferencista en el II Encuentro de IA + Jóvenes&lt;/p&gt;

&lt;p&gt;Mi stack actual&lt;br&gt;
Frontend:  React, TypeScript, Tailwind CSS, Three.js, Framer Motion&lt;br&gt;
Backend:   Node.js, Express, Go&lt;br&gt;
Mobile:    Ionic Capacitor, Android&lt;br&gt;
Database:  PostgreSQL (Neon DB), MySQL, Firebase&lt;br&gt;
Hardware:  Arduino, ESP32, RFID, sensores IoT&lt;br&gt;
IA:        xAI Grok API, MediaPipe, Web Speech API&lt;br&gt;
Deploy:    Vercel, Cloudflare Pages&lt;br&gt;
Lo que aprendí&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Construir &amp;gt; Estudiar&lt;br&gt;
Los tutoriales te enseñan sintaxis. Los proyectos reales te enseñan a resolver problemas. Mi consejo: elige un problema que te moleste y constrúyele una solución.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;El hardware enseña a pensar diferente&lt;br&gt;
Programar un robot que se mueve en el mundo real te obliga a pensar en:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Latencia (un delay de 100ms y el robot choca)&lt;br&gt;
Energía (las baterías se acaban)&lt;br&gt;
Señal (el Bluetooth tiene rango)&lt;br&gt;
Esas restricciones te hacen mejor developer web también.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;No necesitas estar en una ciudad grande&lt;br&gt;
Desde Neiva he desplegado apps usadas por personas reales, ganado competencias y presentado conferencias. Internet es el ecualizador.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Diversifica tu stack&lt;br&gt;
Saber React está bien. Saber React + Go + Arduino + Three.js te hace irremplazable. Los problemas interesantes viven en la intersección de tecnologías.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;¿Qué sigue?&lt;br&gt;
Terminar Ingeniería de Software en la USCO&lt;br&gt;
Seguir construyendo proyectos que resuelvan problemas reales&lt;br&gt;
Contribuir al ecosistema tech de Neiva y el Huila&lt;br&gt;
Si estás empezando en programación desde una ciudad pequeña de Colombia (o de cualquier parte): se puede. No necesitas permiso. Solo necesitas internet y ganas de construir.&lt;/p&gt;

&lt;p&gt;👉 Mi portafolio: juanex.pages.dev 👉 GitHub: @juanitogit 👉 LinkedIn&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>spanish</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Construí una web que se controla con voz y gestos — sin mouse ni teclado</title>
      <dc:creator>Juan Esteban Bustos Chilatra</dc:creator>
      <pubDate>Thu, 29 Oct 2026 19:46:08 +0000</pubDate>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5/construi-una-web-que-se-controla-con-voz-y-gestos-sin-mouse-ni-teclado-18a6</link>
      <guid>https://dev.to/juan_esteban_ce50a6cbccd5/construi-una-web-que-se-controla-con-voz-y-gestos-sin-mouse-ni-teclado-18a6</guid>
      <description>&lt;p&gt;¿Y si una página web no necesitara mouse ni teclado?&lt;/p&gt;

&lt;p&gt;Construí una interfaz web que se controla completamente con la voz y los gestos de las manos, usando solo APIs del navegador y bibliotecas de visión por computadora.&lt;/p&gt;

&lt;p&gt;👉 Demo en vivo&lt;/p&gt;

&lt;p&gt;Las 3 capas de interacción&lt;br&gt;
🗣️ Capa 1: Control por voz bidireccional&lt;br&gt;
Usando Web Speech API, el usuario habla y el sistema:&lt;/p&gt;

&lt;p&gt;Escucha (Speech Recognition) — convierte voz a texto en tiempo real&lt;br&gt;
Entiende — parsea comandos naturales ("muestra el mapa", "gira la tierra")&lt;br&gt;
Responde (Speech Synthesis / TTS) — el sistema contesta con voz propia&lt;br&gt;
const recognition = new webkitSpeechRecognition();&lt;br&gt;
recognition.continuous = true;&lt;br&gt;
recognition.lang = 'es-CO';&lt;/p&gt;

&lt;p&gt;recognition.onresult = (event) =&amp;gt; {&lt;br&gt;
  const command = event.results[event.resultIndex][0].transcript;&lt;br&gt;
  processVoiceCommand(command);&lt;br&gt;
  speak(&lt;code&gt;Entendido: ${command}&lt;/code&gt;);&lt;br&gt;
};&lt;br&gt;
No es un "Ok Google" genérico — es un copiloto de navegación que entiende el contexto de la página.&lt;/p&gt;

&lt;p&gt;✋ Capa 2: Navegación gestual con MediaPipe&lt;br&gt;
MediaPipe rastrea las manos del usuario a través de la cámara del dispositivo:&lt;/p&gt;

&lt;p&gt;Mano abierta → scroll&lt;br&gt;
Puño cerrado → click&lt;br&gt;
Gesto de pinza → zoom&lt;br&gt;
Swipe → cambiar sección&lt;br&gt;
Todo sin tocar el dispositivo. La latencia es mínima porque MediaPipe corre en WebGL.&lt;/p&gt;

&lt;p&gt;🌍 Capa 3: Globo terráqueo 3D&lt;br&gt;
Un globo interactivo construido con Three.js que:&lt;/p&gt;

&lt;p&gt;Visualiza datos geolocalizados en tiempo real&lt;br&gt;
Responde a gestos de rotación y zoom&lt;br&gt;
Se puede controlar por voz ("muestra Colombia", "gira a la derecha")&lt;br&gt;
Backend: Firebase + IA conversacional&lt;br&gt;
Firebase Auth — autenticación robusta&lt;br&gt;
Firestore — estados y preferencias del usuario&lt;br&gt;
Motor de IA conversacional — procesa intenciones del usuario y genera respuestas contextuales con voz&lt;br&gt;
El reto técnico más difícil&lt;br&gt;
Sincronizar las 3 capas sin que se pisen:&lt;/p&gt;

&lt;p&gt;Voz dice "gira"    ──┐&lt;br&gt;
                      ├──▶ Command Router ──▶ Three.js rotation&lt;br&gt;
Gesto dice "swipe" ──┘&lt;br&gt;
Si el usuario habla y gesticula al mismo tiempo, el sistema necesita priorizar y desambiguar. Implementé un router de comandos con cola de prioridad:&lt;/p&gt;

&lt;p&gt;Voz directa &amp;gt; Gesto &amp;gt; Voz ambiental&lt;br&gt;
Cooldown entre comandos para evitar spam&lt;br&gt;
¿Para qué sirve?&lt;br&gt;
Accesibilidad: personas con movilidad reducida pueden navegar la web con voz&lt;br&gt;
Presentaciones: controla tu demo sin tocar el computador&lt;br&gt;
Educación: los estudiantes interactúan sin necesidad de mouse&lt;br&gt;
Kioscos interactivos: pantallas públicas sin contacto&lt;br&gt;
Tecnologías&lt;br&gt;
Componente  Tecnología&lt;br&gt;
Voz Web Speech API (Recognition + Synthesis)&lt;br&gt;
Gestos  MediaPipe Hands&lt;br&gt;
3D  Three.js&lt;br&gt;
Auth    Firebase&lt;br&gt;
IA  Motor conversacional custom&lt;br&gt;
Frontend    HTML5, CSS3, JavaScript vanilla&lt;br&gt;
Lo que aprendí&lt;br&gt;
MediaPipe en el browser es viable para producción — la latencia es aceptable en dispositivos modernos&lt;br&gt;
Web Speech API varía mucho entre browsers — Chrome es el rey, Firefox todavía no soporta todo&lt;br&gt;
Three.js + controles custom &amp;gt; OrbitControls cuando necesitas input no convencional&lt;br&gt;
La accesibilidad no es un feature opcional — es una oportunidad de innovación&lt;br&gt;
Soy Juan Esteban Bustos, desarrollador de software en Neiva, Huila, Colombia 🇨🇴&lt;/p&gt;

&lt;p&gt;👉 Portafolio: juanex.pages.dev 👉 GitHub: @juanitogit&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>webdev</category>
      <category>threejs</category>
    </item>
    <item>
      <title>TeamFlow: La plataforma que construí para organizar a mi equipo de desarrollo (con integración GitHub)</title>
      <dc:creator>Juan Esteban Bustos Chilatra</dc:creator>
      <pubDate>Thu, 29 Oct 2026 19:40:36 +0000</pubDate>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5/teamflow-la-plataforma-que-construi-para-organizar-a-mi-equipo-de-desarrollo-con-integracion-341p</link>
      <guid>https://dev.to/juan_esteban_ce50a6cbccd5/teamflow-la-plataforma-que-construi-para-organizar-a-mi-equipo-de-desarrollo-con-integracion-341p</guid>
      <description>&lt;p&gt;Mi equipo de desarrollo no tenía orden. No sabíamos:&lt;/p&gt;

&lt;p&gt;Quién estaba trabajando en qué&lt;br&gt;
Si las tareas se entregaban a tiempo&lt;br&gt;
Cuánto código real producía cada persona&lt;br&gt;
Las herramientas existentes (Trello, Notion, Jira) no conectaban las tareas asignadas con la actividad real de código. Quería que si alguien decía "ya terminé", pudiera verificarlo automáticamente con sus commits.&lt;/p&gt;

&lt;p&gt;La solución: TeamFlow&lt;br&gt;
👉 Demo en vivo 👉 Código fuente&lt;/p&gt;

&lt;p&gt;Funcionalidades clave&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Workspaces con roles
Cada equipo tiene su workspace con código de invitación. Roles:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Líder: control total, asigna tareas, ve métricas&lt;br&gt;
Co-líder: gestión parcial&lt;br&gt;
Miembro: ve sus tareas y su rendimiento&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Integración con GitHub
TeamFlow se conecta a la API de GitHub para:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Rastrear commits por miembro&lt;br&gt;
Mapear commits a tareas asignadas&lt;br&gt;
Auditar evidencias de entrega&lt;br&gt;
Login con GitHub Auth&lt;br&gt;
// Ejemplo: mapeo de commits a tareas&lt;br&gt;
const memberCommits = await fetchGitHubCommits(repo, member.githubUsername);&lt;br&gt;
const taskDelivery = correlateCommitsToTask(task, memberCommits);&lt;br&gt;
task.performanceScore = calculateScore(taskDelivery);&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Métricas automatizadas
El sistema calcula automáticamente:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;performanceScore — puntaje de desempeño individual&lt;br&gt;
healthPoints — salud del proyecto&lt;br&gt;
workloadPct — carga laboral por miembro&lt;br&gt;
% de tareas a tiempo vs. retrasadas&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Notificaciones automáticas por email
Cuando se asigna una tarea → email al miembro
Cuando una tarea se retrasa → alerta automática
Resumen semanal de rendimiento&lt;/li&gt;
&lt;li&gt;Activity Log
Registro detallado de toda la actividad del workspace para transparencia total.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stack técnico&lt;br&gt;
Backend (Monorepo con pnpm)&lt;br&gt;
├── packages/&lt;br&gt;
│   ├── server/        # Express + TypeScript&lt;br&gt;
│   ├── db/            # Drizzle ORM schemas&lt;br&gt;
│   ├── validators/    # Zod validation&lt;br&gt;
│   └── email/         # Servicio de correos&lt;br&gt;
Express.js + TypeScript — API REST tipada&lt;br&gt;
Drizzle ORM — esquemas typesafe&lt;br&gt;
Zod — validación de datos&lt;br&gt;
Pino — logging estructurado&lt;br&gt;
Frontend&lt;br&gt;
React + Vite — SPA rápida&lt;br&gt;
Hooks personalizados para estado de workspace&lt;br&gt;
Componentes dinámicos con métricas en tiempo real&lt;br&gt;
Arquitectura&lt;br&gt;
┌──────────┐    ┌──────────┐    ┌──────────┐&lt;br&gt;
│  React   │───▶│ Express  │───▶│ Neon DB  │&lt;br&gt;
│  + Vite  │    │ + TS     │    │ Postgres │&lt;br&gt;
└──────────┘    └────┬─────┘    └──────────┘&lt;br&gt;
                     │&lt;br&gt;
               ┌─────▼──────┐&lt;br&gt;
               │ GitHub API  │&lt;br&gt;
               │ + Email Svc │&lt;br&gt;
               └─────────────┘&lt;br&gt;
Resultado&lt;br&gt;
Pasamos de "no sé quién está haciendo qué" a tener visibilidad total del equipo:&lt;/p&gt;

&lt;p&gt;Cada miembro ve su rendimiento vs. el promedio&lt;br&gt;
El líder detecta cuellos de botella antes de que exploten&lt;br&gt;
Las entregas se verifican con commits reales, no con promesas&lt;br&gt;
Lo que aprendí&lt;br&gt;
La mejor app es la que resuelve TU problema — no la que crees que va a impresionar&lt;br&gt;
Monorepos con pnpm son brutales para organizar backend + frontend + shared packages&lt;br&gt;
La API de GitHub es oro — commits, PRs, repos... todo es consultable&lt;br&gt;
Los emails automáticos cambian completamente el engagement del equipo&lt;br&gt;
Soy Juan Esteban Bustos, desarrollador de software en Neiva, Huila 🇨🇴&lt;/p&gt;

&lt;p&gt;👉 Portafolio: juanex.pages.dev 👉 GitHub: @juanitogit&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>react</category>
      <category>node</category>
      <category>productivity</category>
    </item>
    <item>
      <title>BioSmart: Construí un motor de IA en Go con pipeline cognitivo de 15 fases para agricultura urbana</title>
      <dc:creator>Juan Esteban Bustos Chilatra</dc:creator>
      <pubDate>Thu, 29 Oct 2026 19:34:31 +0000</pubDate>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5/biosmart-construi-un-motor-de-ia-en-go-con-pipeline-cognitivo-de-15-fases-para-agricultura-urbana-4oce</link>
      <guid>https://dev.to/juan_esteban_ce50a6cbccd5/biosmart-construi-un-motor-de-ia-en-go-con-pipeline-cognitivo-de-15-fases-para-agricultura-urbana-4oce</guid>
      <description>&lt;p&gt;BioSmart es una plataforma inteligente para agricultura urbana, trazabilidad de donaciones y e-commerce ecológico. No es un proyecto de clase — está desplegado y funcionando.&lt;/p&gt;

&lt;p&gt;👉 Demo en vivo 👉 Código fuente&lt;/p&gt;

&lt;p&gt;La arquitectura&lt;br&gt;
┌─────────────┐     ┌──────────────┐     ┌─────────────────┐&lt;br&gt;
│  React 18   │────▶│  Express.js  │────▶│   Neon DB        │&lt;br&gt;
│  + Vite     │     │  (Node.js)   │     │  (PostgreSQL)    │&lt;br&gt;
│  + Three.js │     │  + Drizzle   │     │                  │&lt;br&gt;
│  + Tailwind │     │  ORM         │     │                  │&lt;br&gt;
└─────────────┘     └──────┬───────┘     └─────────────────┘&lt;br&gt;
                           │&lt;br&gt;
                    ┌──────▼───────┐&lt;br&gt;
                    │ GopherMind   │&lt;br&gt;
                    │ AI (Go 1.26) │&lt;br&gt;
                    │ pgx/v5       │&lt;br&gt;
                    └──────────────┘&lt;br&gt;
🧠 GopherMind AI: el motor en Go&lt;br&gt;
Esta es la parte que más me enorgullece. Construí un pipeline cognitivo de 15 fases en Go puro:&lt;/p&gt;

&lt;p&gt;Sanitización CUSUM — detección de cambios en las series temporales de sensores&lt;br&gt;
Filtro Hampel — eliminación de outliers sin perder señal real&lt;br&gt;
Predicción multi-motor — múltiples modelos generan predicciones independientes&lt;br&gt;
Fusión Bayesiana — combina las predicciones con pesos probabilísticos&lt;br&gt;
Detección de drift Page-Hinkley — identifica cuando el modelo se desactualiza&lt;br&gt;
Calibración de confianza — cada insight tiene un score de fiabilidad&lt;br&gt;
¿Por qué Go y no Python?&lt;br&gt;
Goroutines + Channels: análisis simultáneo de múltiples racks hidropónicos sin bloquear&lt;br&gt;
Zero-Copy: el pipeline procesa datos sin copias innecesarias en memoria&lt;br&gt;
Compilado: latencia mínima en las respuestas de la API de IA&lt;br&gt;
HMAC-SHA256: cada insight lleva firma de integridad para auditoría IEEE&lt;br&gt;
// Ejemplo simplificado del pipeline&lt;br&gt;
func (gm *GopherMind) Analyze(rack RackData) Insight {&lt;br&gt;
    sanitized := gm.cusumSanitize(rack.Readings)&lt;br&gt;
    filtered  := gm.hampelFilter(sanitized)&lt;br&gt;
    preds     := gm.multiPredict(filtered)  // goroutines&lt;br&gt;
    fused     := gm.bayesianFuse(preds)&lt;br&gt;
    drift     := gm.pageHinkley(fused)&lt;br&gt;
    insight   := gm.calibrate(fused, drift)&lt;br&gt;
    insight.Signature = gm.hmacSign(insight)&lt;br&gt;
    return insight&lt;br&gt;
}&lt;br&gt;
🌍 Globo 3D con Three.js&lt;br&gt;
La landing tiene un globo terráqueo interactivo que visualiza las donaciones globales en tiempo real. Implementé una transición fluida de vista 3D (Three.js) a vista 2D satelital (Leaflet.js) según el nivel de zoom.&lt;/p&gt;

&lt;p&gt;🛒 Marketplace multivendedor&lt;br&gt;
Google OAuth 2.0 con Passport.js&lt;br&gt;
RBAC (control de acceso por roles): Usuario, Vendedor, Admin&lt;br&gt;
Cloudinary para imágenes optimizadas&lt;br&gt;
Catálogo público responsivo con cálculo en tiempo real&lt;br&gt;
📊 Dashboard IoT&lt;br&gt;
Paneles interactivos con datos meteorológicos, sincronización virtual de sensores Arduino y control simulado de granjas hidropónicas urbanas.&lt;/p&gt;

&lt;p&gt;Stack completo&lt;br&gt;
Capa    Tecnologías&lt;br&gt;
Frontend    React 18, Vite, Tailwind CSS, Framer Motion, Recharts, Three.js, Leaflet.js&lt;br&gt;
Backend Express.js, Node.js, Drizzle ORM, Passport.js, JWT, bcryptjs&lt;br&gt;
IA  Go 1.26, pgx/v5, HMAC-SHA256&lt;br&gt;
DB  Neon DB (PostgreSQL Serverless)&lt;br&gt;
Storage Cloudinary&lt;br&gt;
Deploy  Vercel&lt;br&gt;
Lo que aprendí&lt;br&gt;
Go para IA no es loco — si tu pipeline es determinístico y necesitas concurrencia real, Go aplasta a Python en rendimiento&lt;br&gt;
Three.js + Leaflet.js se pueden combinar con transiciones fluidas si manejas bien los estados de cámara&lt;br&gt;
Drizzle ORM con TypeScript es brutal para esquemas complejos — typesafe de verdad&lt;br&gt;
Soy Juan Esteban Bustos, desarrollador de software en Neiva, Huila, Colombia 🇨🇴&lt;/p&gt;

&lt;p&gt;👉 Portafolio completo: juanex.pages.dev 👉 GitHub: @juanitogit&lt;/p&gt;

</description>
      <category>go</category>
      <category>react</category>
      <category>ai</category>
      <category>threejs</category>
    </item>
    <item>
      <title>Cómo quedé 3ro en una Hackathon universitaria estando en primer semestre</title>
      <dc:creator>Juan Esteban Bustos Chilatra</dc:creator>
      <pubDate>Thu, 29 Oct 2026 19:33:02 +0000</pubDate>
      <link>https://dev.to/juan_esteban_ce50a6cbccd5/como-quede-3ro-en-una-hackathon-universitaria-estando-en-primer-semestre-4k5a</link>
      <guid>https://dev.to/juan_esteban_ce50a6cbccd5/como-quede-3ro-en-una-hackathon-universitaria-estando-en-primer-semestre-4k5a</guid>
      <description>&lt;p&gt;En abril de 2026, la Universidad Surcolombiana (USCO) en Neiva, Huila organizó la II Hackathon de Ingeniería de Software con una temática brutal: "Tecnología para combatir el hambre y la pobreza en zonas urbanas".&lt;/p&gt;

&lt;p&gt;17 equipos. Estudiantes de todos los semestres. Y yo, en primer semestre.&lt;/p&gt;

&lt;p&gt;Resultado: 3er puesto. 🥉&lt;/p&gt;

&lt;p&gt;¿Cómo lo logré?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No subestimes la preparación previa
Antes de la universidad ya tenía experiencia real:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Técnico en Programación de Software del SENA&lt;br&gt;
Bachiller Técnico en Desarrollo de Software&lt;br&gt;
Proyectos propios desplegados en producción (e-commerce, sistemas de votación, apps móviles)&lt;br&gt;
Cuando muchos compañeros de semestres avanzados apenas tenían proyectos académicos, yo ya tenía código en producción siendo usado por personas reales.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Stack pragmático
No intenté impresionar con tecnologías complejas. Usé lo que domino:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;React 18 + TypeScript para el frontend&lt;br&gt;
Node.js + Express para el backend&lt;br&gt;
PostgreSQL (Neon DB serverless) para la base de datos&lt;br&gt;
Vercel para despliegue instantáneo&lt;br&gt;
En una hackathon, la velocidad de ejecución importa más que la arquitectura perfecta.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enfoque en el problema, no en el código
Mientras otros equipos discutían qué framework usar, nosotros ya teníamos:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;El modelo de datos definido&lt;br&gt;
Los flujos de usuario mapeados&lt;br&gt;
Un MVP funcional corriendo&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Demo &amp;gt; Slides
En la presentación, abrí la app en vivo. Sin mockups, sin "imagínense que esto funciona". Funcionaba.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Lo que aprendí&lt;br&gt;
La experiencia real pesa más que los semestres cursados&lt;br&gt;
En una hackathon, enviar es más importante que perfeccionar&lt;br&gt;
Trabajar bajo presión es una habilidad que se entrena, no se estudia&lt;br&gt;
Neiva tiene talento tech que merece más visibilidad&lt;br&gt;
¿Qué sigue?&lt;br&gt;
Sigo construyendo. Actualmente tengo 18+ proyectos en mi portafolio, desde robótica con ESP32 hasta plataformas con IA y realidad aumentada.&lt;/p&gt;

&lt;p&gt;👉 Mi portafolio: juanex.pages.dev 👉 GitHub: @juanitogit&lt;/p&gt;

</description>
      <category>hackathon</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
