Inspiration (Nuestra Inspiración)
Tijuana es una ciudad vibrante, pero no fue diseñada pensando en todos sus habitantes. Aproximadamente 170,000 personas — incluyendo personas con discapacidad motriz, adultos mayores y familias con carriolas — enfrentan diariamente banquetas destruidas, cruces sin rampas y un transporte público inaccesible.
Lo que más nos impactó fue lo invisible que es este problema: no existe ninguna plataforma ciudadana que centralice estas barreras ni que ayude a las personas a planear rutas seguras. El peatón debería ser la prioridad y eso es lo que nos inspiró a construir TJroute.
What it does (¿Qué hace?)
TJroute es una aplicación móvil de ruteo accesible en tiempo real con dos componentes principales:
Mapa de navegación con mapa de calor: Los usuarios pueden visualizar zonas de riesgo marcadas con círculos de calor según la concentración de incidencias reportadas, y planear trayectos evitando dichas zonas.
Reporte ciudadano con IA: El usuario toma una foto de una barrera física (banqueta dañada, alcantarilla mal colocada, obstrucción, etc.) y mediante Gemini Vision API, la app identifica automáticamente el tipo de problema junto con la ubicación GPS exacta, manteniendo un mapa vivo y actualizado de la ciudad.
How we built it (¿Cómo lo construimos)
Construimos TJroute con un stack moderno orientado a rapidez de desarrollo y escalabilidad:
- Flutter (Dart): Frontend móvil multiplataforma (Android/iOS), con arquitectura limpia basada en Features.
- Firebase: Cloud Firestore para almacenamiento de reportes en tiempo real y Firebase Authentication para el control de accesos.
- OpenStreetMap: Visualización de mapas, marcadores y capas de calor.
- Gemini Vision API: Procesamiento e identificación automática de imágenes capturadas por el usuario.
- GPS nativo: Para validación de ubicación y navegación en tiempo real.
La estructura del proyecto sigue una arquitectura de capas: lib/ ├── core/ # Temas, utilidades y widgets reutilizables ├── data/ # Servicios (Firebase, Gemini, GPS) y modelos
└── features/ # Auth, Mapa y Reportes como módulos independientes
Challenges we ran into (Los retos a los que nos enfrentamos)
Integración de Gemini Vision API: Lograr que el modelo identificara correctamente tipos de barreras urbanas en fotos tomadas desde el celular en condiciones variables de luz y ángulo fue más complejo de lo esperado.
Geolocalización precisa: Filtrar el ruido del GPS en zonas urbanas densas para que los reportes queden anclados exactamente donde ocurre la incidencia.
Diseño accesible: Diseñar una interfaz que sea verdaderamente usable por personas mayores o con movilidad reducida en las manos implicó iterar múltiples veces sobre tamaños de botones, contraste y flujos de navegación.
Tiempo del Hackathon: Priorizar funcionalidades en pocas horas sin sacrificar la calidad del flujo principal fue un reto constante de toma de decisiones.
Accomplishments that we're proud of (Logros que nos enorgullecen)
- Logramos una app funcional end-to-end: desde el login hasta el reporte con IA y la visualización en el mapa de calor.
- La clasificación automática de barreras con Gemini Vision funciona con buena precisión en condiciones reales de calle.
- Construimos una arquitectura limpia y escalable que puede crecer fácilmente con nuevas funcionalidades.
- El diseño UI/UX fue pensado desde cero con criterios de accesibilidad reales, no como un añadido posterior.
What we learned (¿Qué aprendimos?)
- Cómo integrar Gemini Vision API con Flutter para análisis de imágenes en tiempo real.
- La importancia de diseñar para la accesibilidad universal desde el primer wireframe, no al final.
- Cómo estructurar un proyecto Flutter con Clean Architecture para que el trabajo en equipo durante un hackathon sea fluido y sin conflictos de código.
- Que los problemas más importantes a resolver a veces son los más invisibles para quienes no los viven.
What's next for TJroute (¿Qué sigue para TJroute?)
- Verificación comunitaria: Sistema de votos para que otros usuarios confirmen o descarten un reporte, mejorando la calidad de los datos.
- Integración con autoridades: Exportar reportes verificados directamente a dependencias municipales de Tijuana para agilizar la atención.
- Soporte iOS: Extender la app a dispositivos Apple.
- Rutas multimodal: Combinar caminar, transporte público y zonas seguras en una sola ruta optimizada para personas con movilidad reducida.
- Dashboard público: Mapa web abierto donde cualquier ciudadano pueda consultar el estado de accesibilidad de su colonia sin necesidad de instalar la app.
Built With
- dart
- firebase
- firestore
- flutter
- gemini-vision
- geolocator
- html5
- open-street
- openrouteservice
- openstreetmap
Log in or sign up for Devpost to join the conversation.