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

Share this project:

Updates