Inspiration
Identificamos una brecha tecnológica importante en nuestra ciudad: la falta de visibilidad del comercio local y tradicional. Los puestos de antojitos, artesanías y negocios informales en Durango rara vez aparecen en los mapas digitales convencionales, lo que dificulta que ciudadanos y turistas los encuentren. Además, la fricción técnica para que un comerciante tradicional registre su negocio en una plataforma suele ser muy alta. Nos inspiró la idea de crear una tecnología inclusiva, que funcione sin consumir muchos recursos de los dispositivos de los usuarios y que permita a los comerciantes digitalizarse de la forma más natural posible: usando su voz.
What it does
Durango Móvil es una Progressive Web App (PWA) con enfoque "Local-First". Permite a los usuarios (turistas y locales) escanear un código QR y acceder inmediatamente a un mapa interactivo de Durango que funciona de manera fluida, incluso con baja conectividad, para explorar comercios locales y visualizar rutas estáticas de transporte público.
Para los comerciantes, la plataforma incluye un sistema de registro revolucionario impulsado por IA. En lugar de llenar formularios complejos, el comerciante simplemente graba una nota de voz explicando qué vende y su horario. El sistema procesa el audio, extrae los datos estructurados y lo posiciona automáticamente en el mapa utilizando la geolocalización de su dispositivo.
How we built it
Dividimos la arquitectura para priorizar la agilidad y la ligereza del sistema:
Frontend (Mapas y UI): Utilizamos Mapbox GL JS renderizando datos estáticos mediante archivos GeoJSON (usamos geojson.io para trazar las rutas de camiones de la ciudad). Implementamos lógica condicional leyendo la API navigator.deviceMemory para ajustar el detalle visual del mapa, asegurando que dispositivos de gama baja no sufran cierres por falta de RAM. El diseño de interfaces y mockups se integró sobre este lienzo.
Backend & Base de Datos: Construimos una API ligera en Python (FastAPI/Flask) respaldada por una base de datos SQLite local (comunidades.db), lo que nos permitió iterar rápido sin la sobrecarga de servidores SQL complejos.
Inteligencia Artificial: Implementamos el modelo Gemini 1.5 Flash aprovechando su capacidad multimodal nativa. Le enviamos directamente el archivo de audio del comerciante para que extraiga las entidades clave (Nombre, Categoría, Horario) y nos devuelva un JSON estructurado listo para la base de datos.
Herramientas clave: Utilizamos Antigravity IDE para acelerar la creación del andamiaje del código, y túneles (ngrok/localtunnel) para probar el GPS real de los celulares en desarrollo local bajo HTTPS.
Challenges we ran into
Rendimiento en la Web: El renderizado vectorial de mapas satura rápido la GPU y memoria en celulares de gama baja. Lo resolvimos aplicando Conditional Rendering según el hardware del usuario.
UX del Comerciante y Geolocalización: Descubrir cómo obtener coordenadas precisas si un comerciante no sabe su latitud/longitud. Lo solucionamos fusionando la extracción de entidades de la IA con la captura silenciosa de las coordenadas GPS del dispositivo al momento de presionar el botón de grabar.
Entornos de Desarrollo: Enfrentamos barreras clásicas de configuración, desde restricciones de entornos virtuales (venv) en Linux hasta los bloqueos de geolocalización por HTTP local vs. IP pública, superándolos con túneles seguros para pruebas en dispositivos reales.
Accomplishments that we're proud of
Estamos increíblemente orgullosos de la integración fluida entre la Inteligencia Artificial y la simplicidad de uso. Logramos que una acción tan cotidiana como hablarle al celular se convierta, en el backend, en un registro completo de base de datos y un pin instantáneo en el mapa. También estamos orgullosos de la sólida organización que logramos: paralelizar la creación de mapas estáticos, el diseño de mockups y la infraestructura de backend nos permitió construir un prototipo técnico muy completo en tiempo récord.
What we learned
Mi mayor aprendizaje no fue solo técnico, sino táctico. Comprendí que con pequeños cambios en la organización de equipo se puede mejorar drásticamente la velocidad de entrega. En el aspecto técnico, aprendí a manejar nuevas herramientas como geojson.io para solucionar el problema de las rutas de transporte sin bases de datos geoespaciales pesadas, y descubrí el enorme potencial de trabajar junto a entornos como Antigravity IDE para estructurar proyectos.
What's next for Durango Movil
El siguiente paso natural es llevar la infraestructura a la nube mediante despliegues automáticos en plataformas como Google Cloud Run para asegurar escalabilidad. Queremos pulir la interfaz gráfica para integrar perfectamente los diseños, salir a hacer pruebas de campo en las calles del centro de Durango con usuarios y comerciantes reales, y eventualmente agregar funcionalidades como clustering avanzado para cuando la base de datos de negocios informales de la ciudad escale masivamente.
Built With
- cloud
- css3
- fastapi
- frontend-&-interfaz:-html5
- geojson.-backend-&-base-de-datos:-python
- geojson.io-(para-trazado-estatico-de-rutas)
- hardware-api-(navigator.devicememory).-herramientas-de-desarrollo-&-testing:-antigravity-ide
- javascript-(vanilla)
- ngrok-/-localhost.run-(para-tuneles-seguros-https-en-pruebas-moviles).-infraestructura-&-despliegue:-google-cloud-run-(source-deployment)
- platform
- procesamiento-multimodal-nativo-de-audio-a-json).-apis-nativas-del-navegador:-web-geolocation-api
- progressive-web-app-(pwa-service-workers).-mapas-&-geometria:-mapbox-gl-js
- sqlite.-inteligencia-artificial:-gemini-1.5-flash-(via-google-ai-studio
- uvicorn
Log in or sign up for Devpost to join the conversation.