Inspiration
Tijuana tiene 348 paradas de transporte público. Solo 126 están marcadas como accesibles. Nadie sabe qué pasa con las otras 222.
El índice de accesibilidad peatonal de la ciudad es 37 sobre 100, debajo del promedio nacional, y no existe ningún sistema institucional que esté midiendo en tiempo real dónde están las barreras físicas. Para alguien en silla de ruedas, el problema no es solo la pendiente de la calle. Es que Google Maps no sabe que hay una banqueta destruida en el kilómetro 2, o que el poste de CFE bloquea el único paso accesible, o que el camión que necesitas no tiene rampa.
Nos preguntamos qué pasaría si la ciudad pudiera verse a sí misma.
What it does
ANDANA es un sistema de tres piezas que permite a personas con discapacidad motriz navegar Tijuana de forma segura, a ciudadanos reportar barreras físicas con verificación por IA, y a instituciones como SEDEBI ver el estado de accesibilidad de la ciudad en tiempo real.
La app calcula rutas para cuatro perfiles de movilidad —silla manual, silla eléctrica, muletas, baja visión— usando Routes API con turn-by-turn por voz y Elevation API para medir la pendiente real del terreno por tramo. Cualquier persona puede fotografiar una barrera física desde la app; Gemini Vision la clasifica, la describe y la georreferencia automáticamente. Cada reporte queda en Firebase y aparece en el mapa de todos los usuarios en tiempo real.
Para usuarios sin smartphone moderno o con datos limitados, hay un bot de WhatsApp que detecta destinos en lenguaje natural y responde con el link directo a la ruta accesible. El catálogo cubre alrededor de 150 lugares de Tijuana.
How we built it
La decisión arquitectónica más importante fue esta: el sistema nunca le dice a nadie que una ruta es accesible. Esa decisión la toma matemática determinista. Gemini clasifica barreras y describe obstáculos en lenguaje natural. Nunca decide. En accesibilidad, alucinar es daño físico, y esa separación entre IA generativa y lógica determinista es lo que hace al sistema confiable para uso institucional.
El frontend es React con Vite, mobile-first. El ruteo combina Routes API para la geometría del camino con Elevation API para calcular pendiente porcentual por tramo, comparando la ruta accesible contra la estándar. Firebase maneja autenticación anónima y los reportes ciudadanos en Firestore. El bot corre sobre Baileys con matching de strings normalizado, sin LLM, lo que lo hace instantáneo y sin costo de inferencia. La capa base de banquetas y datos peatonales viene de OpenStreetMap.
Challenges we ran into
Elevation API devuelve altitudes absolutas, no pendientes. Convertir eso a porcentaje de inclinación por tramo requirió interpolación manual sobre los waypoints de Routes API, porque los puntos de elevación no coinciden uno a uno con los puntos de la ruta.
El matching de lenguaje natural para el bot sin usar un LLM fue más difícil de lo que parece. Construimos un catálogo manual de 150 lugares con aliases normalizados que maneja acentos, abreviaciones y nombres coloquiales. Funciona bien para el caso de uso real, pero escala mal. Es deuda técnica intencional para el hackathon.
Calibrar el rol de Gemini también fue un reto conceptual. La tentación era dejarlo decidir si una ruta es segura. Decidimos que Gemini solo informa, nunca bloquea. Esa restricción simplificó el sistema y lo hizo más honesto.
Accomplishments that we're proud of
El sistema funciona de extremo a extremo. Un usuario puede abrir la app, seleccionar su perfil de movilidad, buscar el IMSS o el CECUT, recibir una ruta con pendiente calculada y alertas de barreras reportadas por la comunidad, y navegar con instrucciones por voz. Eso en menos de 48 horas.
El bot de WhatsApp es probablemente lo que más nos sorprendió. Para muchos usuarios en colonias populares de Tijuana, WhatsApp es el internet. Haber construido un canal funcional sin app, sin cuenta, sin datos más allá de un mensaje de texto, cambia completamente a quién le llega el sistema.
What we learned
La separación entre IA generativa y lógica determinista no es una limitación técnica. Es una decisión de diseño responsable que deberían tomar más proyectos que tocan infraestructura crítica.
También aprendimos que el dato más importante del proyecto no es técnico. Son 126 de 348. Ese número obliga a hacer preguntas que nadie estaba haciendo institucionalmente.
What's next for ANDANA - Tijuana Sin Barreras
Integración con el GTFS real del SITT para que las rutas incluyan accesibilidad del transporte público, no solo de las banquetas. Un panel institucional para SEDEBI con priorización de cuadrillas de mantenimiento basada en densidad de reportes y severidad. Reemplazar el catálogo manual del bot con Places API para cubrir cualquier dirección en Tijuana. Y reemplazar la capa de OSM con datos propios generados por los reportes ciudadanos acumulados.
La accesibilidad no se decreta. Se mide. Y ahora se puede medir.
Built With
- firebase
- gemini
- react
- remotion
- typescript
- vertex-ai-api
Log in or sign up for Devpost to join the conversation.