Inspiration
Las tiendas de abarrotes son el corazón de la distribución en Latinoamérica, pero sus dueños operan por intuición: sin datos, sin asesoría y sin herramientas pensadas para ellos. Al mismo tiempo, Arca Continental, su distribuidor, batalla para conseguir la información pertinente para apoyarlos y así beneficiarse ambos. Este panorama, junto con necesidades de comodidad y satisfacción del cliente en la app Tuali, nos inspiró a implementar nuevas funciones que transformarían la toma de decisiones tanto del tendero como de Arca Continental.
What it does
Tuali es una app B2B mobile-first que convierte los datos de compra de cada tienda en un plan de crecimiento personalizado. Al entrar, el tendero ve sus metas (aumentar ticket, diversificar surtido, reactivar pedidos), su progreso medible y recomendaciones concretas generadas por IA. Un asistente conversacional con voz localizada por país le habla en su acento y puede responder sus preguntas con solo tocar la pantalla. Gamificación, rankings por cluster y misiones sociales completan la experiencia, haciendo que crecer sea motivador, no una obligación.
How we built it
El núcleo es un sistema de perfiles JSON derivado de datos reales de órdenes. Con React 19 + Vite 6 construimos la interfaz; con Express 5 el backend. La función buildGoalPlan() lee métricas reales (frecuencia, ticket, score de nicho) y genera objetivos concretos sin ningún valor hardcodeado. Para el asistente de IA integramos ElevenLabs Conversational AI con doble canal: WebSocket con streaming de texto y WebRTC para voz en tiempo real. El backend de IA abstrae OpenAI, Gemini y Claude tras una sola interfaz, sin vendor lock-in. Animaciones Lottie dan vida al avatar y la voz se selecciona por cluster y país con un sistema de fallback en cascada.
Challenges we ran into
Datos sucios del mundo real. Los CSVs de órdenes traían acentos corruptos que rompían la UI y los prompts de IA. Construimos funciones de normalización defensiva (normalizeText / normalizeDeep) que sanean recursivamente cada string del perfil. Sincronización doble. Mantener el mismo perfil activo en frontend (localStorage / env) y backend fue un reto de estado distribuido. Voz culturalmente apropiada a escala. Diseñar el sistema de cascada de voces por cluster y país, con aliases flexibles, tomó varias iteraciones para sentirse natural sin código frágil.
Accomplishments that we're proud of
Logramos personalización masiva sin costo marginal de ingeniería: agregar una tienda nueva o un país entero es agregar un archivo JSON, sin tocar componentes ni lógica. El asistente de voz que detecta el país del tendero y le habla en su propio acento fue un momento espectacular que resolvimos con elegancia. También estamos orgullosas del doble beneficio genuino: no es una app de ventas disfrazada de crecimiento; cada recomendación beneficia tanto al distribuidor como al tendero.
What we learned
Aprendimos sobre la complejidad de desarrollar para un público diverso, considerando aquellos con baja alfabetización digital (voz, avatar, respuestas cortas) no es simplificar: es elegir radicalmente bien qué poner y qué quitar. También aprendimos a alinear incentivos para beneficiar a dos partes del negocio. Por último, tuvimos importantes aprendizajes sobre herramientas de inteligencia artificial, especialmente el uso de ElevenLabs para un agente.
What's next for Code Tsunami
Queremos seguir explorando los límites del agente, adaptándolo no solamente a las metas de venta, sino que te acompañe por cada parte de la experiencia en la app de Tuali, mejorando mientras consigue retroalimentación.
Built With
- amazon-web-services
- claude
- elevenlabs
- gemini
- javascript
- opencode
- python
- react
- vite
Log in or sign up for Devpost to join the conversation.