Inspiration (Inspiración)
Aprender un lenguaje estricto y tipado como Go puede ser abrumador si solo te enfrentas a documentación plana y terminales vacías. Queríamos transformar la curva de aprendizaje en una aventura interactiva. Nos inspiramos en los RPGs y en la arquitectura de agentes (Agentic UI) para crear a los "GOnions": 9 habitantes virtuales (La Guardiana, El Profesor, El Hacker, etc.) que te acompañan, te evalúan y te retan en tiempo real mientras escribes código.
What it does (Qué hace)
GOland es un ecosistema de aprendizaje inmersivo. El usuario programa en un editor integrado y, dependiendo de su acción, interactúa con diferentes GOnions:
- Evaluación inteligente: El Profesor guía pedagógicamente, mientras que la Guardiana rompe el código buscando edge cases.
- UI Dinámica y Contextual: La interfaz reacciona a los eventos. Los agentes "leen" el código del usuario en tiempo real de forma invisible para darle feedback hiperpreciso.
- Progresión Gamificada: Sistema de logros y niveles que desbloquean agentes más avanzados (como la Ingeniera para concurrencia o la Cronometradora para optimización Big O).
How we built it (Cómo lo construimos)
Diseñamos una arquitectura híbrida orientada a microservicios y LLMs:
- Inteligencia Artificial (Gemini API): Usamos el SDK de Go de Google Gemini. Implementamos un orquestador backend que asigna dinámicamente System Instructions y Temperaturas (de 0.1 a 1.0) para dotar a cada GOnion de una personalidad inquebrantable. Mantenemos el contexto usando stateful chat sessions guardadas en memoria concurrente.
- Backend: Desarrollado íntegramente en Go, gestionando el enrutamiento de los enjambres (swarms) y la inyección oculta del código del editor en los prompts.
- Frontend: Interfaz inmersiva con HTML/CSS/JS puro, efectos de glassmorphism, diseño espacial y animaciones fluidas sin depender de frameworks pesados.
- Autenticación (Supabase): Implementamos un flujo seguro de OAuth 2.0 (Google y GitHub) gestionado a través de Supabase.
- Base de Datos (MongoDB): Fuente de verdad absoluta para guardar el progreso, nivel y logros de los usuarios.
- Infraestructura (Google Cloud Run): Despliegue en contenedores Docker (Serverless) garantizando alta disponibilidad y escalabilidad automática.
Challenges we ran into (Retos a los que nos enfrentamos)
El pase a producción fue una batalla épica de infraestructura.
- Seguridad y OAuth: Enfrentamos el clásico Error 400 de Google al migrar de localhost a Cloud Run. Tuvimos que auditar y alinear estrictamente las URIs de redirección entre Google Cloud Console y el motor de autenticación de Supabase.
- Políticas RLS: Supabase bloqueó nuestra base de datos por defecto. Tuvimos que reestructurar nuestra arquitectura de seguridad al darnos cuenta de que MongoDB era nuestra base de datos principal, limpiando la superficie de ataque en PostgreSQL.
- Amnesia de la IA: Inicialmente los agentes perdían el hilo de la conversación. Lo resolvimos reescribiendo el cliente de Gemini en Go para usar
StartChat()ysync.Map, asegurando historiales de sesión asilados por usuario y agente.
Accomplishments that we're proud of (Logros de los que estamos orgullosos)
- Lograr desplegar una aplicación Full-Stack en Google Cloud Run superando los estrictos bloqueos de IAM y CORS.
- Conseguir que 9 agentes de IA compartan el mismo modelo subyacente (Gemini) pero se comporten, hablen y analicen el código de forma completamente distinta gracias a la ingeniería de prompts y ajustes térmicos dinámicos.
- Crear una experiencia de usuario (UX) fluida donde la IA se siente como un equipo de mentores reales y no como un chatbot genérico.
What we learned (Qué aprendimos)
- El manejo avanzado de Identity and Access Management (IAM) en Google Cloud.
- Las tripas del flujo OAuth 2.0 y cómo los Callback URIs deben ser exactos a nivel de byte.
- A exprimir el SDK de Gemini en Go: gestionar sesiones de chat persistentes, inyectar contexto invisible y orquestar flujos de herramientas (Tool Calling).
What's next for GOland - Agentic UI (El futuro del proyecto)
- Modo Multijugador: Permitir que los usuarios resuelvan retos en cooperativo donde los GOnions interactúen con ambos.
- Expansión del Universo: Añadir nuevos lenguajes de programación (RustLand, PythonLand) manteniendo la arquitectura de enjambre de agentes.
- Integración IDE: Llevar la Agentic UI directamente a VSCode mediante una extensión.
Log in or sign up for Devpost to join the conversation.