Rambla is a walking meditation companion.
If you’re like me, you think better on your feet. I find that there’s a certain kind of reflection I can only do while walking, just as there’s a certain kind of reflection I can only do while writing. I like to think that we make decisions and process information using our entire bodies, not just our brains—indeed, life can be heart-warming or gut-wrenching; it can fill our chests with joy or make us anxiously tap our feet and grind our teeth. Why, then, do we think of our minds as lonely brains floating in a pickle jar?
Besides making us happier and healthier, walking helps us think better. It seems like, owing to evolution, walking activates cognitive systems that are also needed for learning and reasoning, like sensory awareness, memory and cognitive mapping. Walking also increases blood flow to our brains and helps our endocrine systems regulate our hormones.
Personally, I find that walking allows me to be more creative in my thinking: I am more curious in the questions I ask myself, and my answers are more original. This makes intuitive sense to me: creativity and discovery are not forms of linear thought, but rather associative processes. The more dots you put on the map, the easier it is to find new ways to connect them. Going on a walk throws all kind of stimuli your way—familiar and unfamiliar, related and unrelated to what you’re thinking about. As long as they’re not too loud or distracting, I find that they tickle my mind and prime it for the kind of serendipitous connections that are needed for truly creative thinking.
In this sense, I think of walking meditation as the long-form version of taking a moment to look out the window while being lost in thought. Have you ever found that gazing into the horizon causes you to broaden your perspectives, or that a billboard outside your office reminds you of a crucial detail you had overlooked? Walking does that to you, non-stop.
All of this inspired me to make Rambla: a simple tool, almost a toy, to accompany me in my walking meditations. It helps me map out what’s on my mind, encourages me to explore new avenues of thought and makes me turn unexpected corners.
How does it work?
In its current form, it’s very simple: it starts by finding my location and prompting me to enter the topic or question I want to explore.
Next, it will break down this complex topic into smaller, more actionable questions for me to consider. Notice that “Is it realistic to start learning Mandarin?” is a fairly broad and multi-faceted question to tackle face-on. This is even more the case with deeper, more existential questions. Research in the psychology of curiosity suggests that we have a tricky relationship with the things we don’t know: on one hand, they trigger an urge for us to engage with them, to lean in and resolve the uncertainty. Too much uncertainty, however, will have the opposite effect and cause us to disengage. Rambla helps us reflect on complex questions by turning them into small steps that tickle our curiosity instead of scaring us away.
Four pins will appear around me, each of them containing a question for me to consider.
I will choose the one that I find most interesting, and walk over to that location while I reflect on it. Once I get there, I will unlock the ability to enter my answer to the question. Rambla will then give me four new pins based on my answer.
At this point, I can choose to revisit any of the new pins, which are marked in red, or to revisit any of the previous ones, which are now marked in gray. Over the course of a session, I can choose to branch out into multiple paths, or to walk down a single one, further and further away from my starting point.
Asking the right questions
Behind the scenes, Rambla uses two processes powered by Langchain and OpenAI’s GPT-4. The first process (thought) takes the user’s input and uses theory-of-mind principles to generate both a prediction about the user’s mental state, and a list of the information it thinks would help improve this prediction. The second process (response) takes both these outputs (the prediction and the information that would help improve it) along with the user’s input, and generates four questions that, based on the prediction of the user’s mental state, might be interesting to the user.
For example, here’s the output of the first process (thought) when the user inputs “Is it realistic to start learning Mandarin?”:
Based on the nature of your question, it can be predicted that you are in a contemplative mental state and are probably challenging your learning capabilities, hence the choice of Mandarin, a complex language. You might also hold fear, excitement or overwhelming feelings about this new dive into language learning, prompting you to identify if it’s a realistic goal. I’d assess your motivation levels, prior language learning experience, availability of resources and time commitment to improve this prediction. You perhaps have an interest in traveling or cross-cultural interactions, job-related needs, or pure intellectual curiosity. Asserting why you want to learn and estimating an approximate timeline to become proficient might also shed light on your needs and outlook towards it.
Based on the user input and the output of the first chain (thought), the second chain (response) generates these follow-up questions:
1. What specific appeal does Mandarin hold for you personally?
2. How has previous language learning panned out for you?
3. Is the motivation behind your zealous learning endeavor intrinsic or extrinsic?
4. What level of expertise do you aspire to achieve in Mandarin and why?
2. How has previous language learning panned out for you?
3. Is the motivation behind your zealous learning endeavor intrinsic or extrinsic?
4. What level of expertise do you aspire to achieve in Mandarin and why?
The theory-of-mind approach and its implementation are inspired to a great extent by Bloom, an AI-powered learning tutor created by the extremely intelligent and kind people at Plastic Labs. You can read more about how Bloom (and, by extension, Rambla) uses theory of mind here.
Conclusions and further work
I’ve had a ton of fun using Rambla around New York City. It has a weird way of putting new pizza spots in my way. I also really enjoyed the process of building it, from the early thoughts, research and conversations to the actual hands-on implementation work. This was my first time ever coding for iOS, so it came with a whole set of new challenges for me to wrap my head around. Interestingly, this was also my first time coding side-by-side with ChatGPT—I can’t think of how long it would’ve taken me to build this MVP had it not been for Chad.
Here’s a quick and dirty list of features that would make Rambla even better:
• Saving sessions and (literally!) revisiting them later.
• Multiplayer mode: “you go that way I’ll go this way” collaboration, dropping pins with your own questions into a friend’s map, public maps.
• Snapping pins to landmarks to make the questions and answers more salient as an experience.
• Improving the AI component: iterating on the prompts, expanding its understanding of the game structure and the question tree. Addressing a weird bug where it gradually degrades into gibberish.
• Improving the mapping logic: preventing points from being too close to each other, build resilience to the road-snapping not working when there aren’t many roads nearby, adding the ability to shuffle pins for the same questions.
• Settings: allowing the user to set a minimum and maximum distance for the new pins.
• Improving the code: error handling, better user management.
• Private browsing!
• Multiplayer mode: “you go that way I’ll go this way” collaboration, dropping pins with your own questions into a friend’s map, public maps.
• Snapping pins to landmarks to make the questions and answers more salient as an experience.
• Improving the AI component: iterating on the prompts, expanding its understanding of the game structure and the question tree. Addressing a weird bug where it gradually degrades into gibberish.
• Improving the mapping logic: preventing points from being too close to each other, build resilience to the road-snapping not working when there aren’t many roads nearby, adding the ability to shuffle pins for the same questions.
• Settings: allowing the user to set a minimum and maximum distance for the new pins.
• Improving the code: error handling, better user management.
• Private browsing!
Want to try it?
Email me! I might have a TestFlight link for you 🙂