Inspiration
This project was inspired by my own personal experience of walking.
For me, walking is not about efficiency or reaching a destination quickly. It is about choosing a path that feels interesting — following a narrow alley, a strange smell, or a quiet street simply because it caught my attention.
However, modern map applications are designed to optimize movement. They favor shortest routes and clear instructions, and in the process, they quietly remove serendipity from walking.
I noticed that many people walk often but feel bored, repeating the same routes, or wanting something new without knowing how to find it. I wanted to explore whether technology could support walking without turning it into navigation.
What It Does
Aruku 🚶 Parallel introduces the idea of parallel walking.
While the user walks their chosen path, AI simultaneously walks a different nearby route as if it were another version of the user. When this “parallel self” encounters something interesting, it sends a short suggestion back to the user.
These suggestions are intentionally brief and incomplete. The user can follow them, ignore them, or interpret them freely. The goal is not optimization, but discovery.
How I Built It
The backend is built with Flask on Google Cloud.
Suggestion generation is handled asynchronously using Cloud Tasks to avoid blocking the user experience. Location history is analyzed to find alternative nearby routes using map data, and suggestions are generated through a carefully designed ADK-based multi-agent system.
Each agent has a clear responsibility (points of interest, texture, aftertaste), and runs in parallel to keep responses fast while maintaining richness. A separate composition and formatting step ensures stable, predictable outputs.
Suggestions are delivered through Firestore and FCM, allowing the app to remain lightweight and responsive.
Challenges
The biggest challenge was debugging a location-based application.
Because behavior depends on real-world movement, many issues only appeared while physically walking. GPS noise, timing differences, and background execution made bugs difficult to reproduce consistently.
This forced me to improve logging, state management, and tolerance for inaccuracy, and to focus on pleasant experience rather than perfect precision.
What I Learned
The most valuable learning was how to properly design agent systems using ADK.
Instead of relying on a single large prompt, I learned to decompose intent into multiple focused agents, control their responsibilities, and compose outputs safely.
This project taught me that good AI experiences are not about stronger models, but about careful system and interaction design.
Built With
- cloudrun
- dart
- fcm
- firebase
- firebaseauth
- firestore
- flask
- flutter
- google-cloud
- python
- vertexai
Log in or sign up for Devpost to join the conversation.