πΏ Roamly: Turning Your Mood Into Real-World Adventures With Local AI | Hacktoberfest Week 1
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass. What I Built I spend quite a lot of time in front of my laptop, whether I'm studying, coding, or working on projects. S
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
I spend quite a lot of time in front of my laptop, whether I'm studying, coding, or working on projects. Sometimes, even when I want a break, I end up opening another app or scrolling through something.
That made me think: could I build something with AI that actually encourages people to spend less time on their screens?
That's how Roamly started.
Roamly is a mood-based outdoor discovery app. The idea is simple: you tell it how you're feeling, choose what kind of walk you want, and it helps you discover real places to explore.
For example, if I'm stressed because of studies or worried about my future, I might want a quiet place with some greenery rather than a crowded spot. Roamly takes that kind of preference into account when helping plan a walk.
Here's how the basic flow works:
- Choose a mood, such as stressed, bored, peaceful, or curious.
- Describe how you're feeling in your own words.
- Set preferences like distance, available time, and crowd level.
- Get help discovering nearby places and walking routes.
- Head outside and explore.
I'm also working on an βI Found Somethingβ feature for the walking experience. The idea is to let users share a photo of something they notice and use AI to understand or describe it.
I don't want Roamly to become another app that people spend hours using. Ideally, someone opens it, finds a place worth visiting, and then puts their phone away.
Demo
I recorded a walkthrough of Roamly so you can see the project in action.
π₯ Watch the Roamly demo:
The video shows the actual application and its walking experience.
Code
The project is available on GitHub:
Repository: Github
I'm building Roamly with Next.js, TypeScript, an Express backend, and MongoDB. The repository contains the application code and setup instructions.
If you're interested in local AI or applications that connect AI recommendations to real-world places, feel free to explore the code.
How I Built It
The part I was most interested in was getting a local AI model to work with real-world location data.
Using Gemma locally
Roamly uses Gemma 3 4B through Ollama for its AI functionality.
I chose this setup because I wanted to experiment with an open-weight model running on my own machine rather than depending on a paid hosted AI API for every request.
The model helps interpret what the user says and their preferences. The actual places and routes come from separate geographic services.
Connecting AI to real places
For place discovery and navigation, I'm using:
- OpenStreetMap for geographic data.
- Overpass API to query nearby places.
- OSRM to request walking routes.
- Mapbox to display the map and route.
One thing I learned while testing is that connecting these services isn't always straightforward. A backend can be running correctly while an external provider still fails to return places.
I encountered this with place discovery. Instead of treating an AI-generated suggestion as a real destination, I want Roamly to use verified geographic results and show a clear error when those results aren't available.
That distinction matters to me. A nice-looking recommendation isn't useful if the place doesn't exist or the route can't be retrieved.
The tech stack
- Frontend: Next.js, React, TypeScript, Tailwind CSS
- Backend: Node.js and Express
- Database: MongoDB
- AI: Gemma 3 4B and Ollama
- Maps and geographic data: Mapbox, OpenStreetMap, Overpass API, and OSRM
I also worked on backend health checks, error handling, and tests. During one local stability check, 21 backend tests passed and the production build succeeded. However, a live place-discovery request still returned an external-provider error, so I know there is more work to do.
Why Does Open Innovation Matter?
For a project like Roamly, open innovation made experimentation much more accessible.
I can run Gemma locally, inspect how the model fits into my application, and change the way I use it without relying on a hosted AI API. It also gives me a chance to learn about model setup, inference, and the practical limitations of running AI on local hardware.
OpenStreetMap is another important part of the project. Without access to openly available geographic data, experimenting with real-world place discovery could be more difficult or expensive.
I also like that other developers can inspect the project and suggest improvements. Someone might have a better way to filter public places, handle routing failures, or design the walking experience.
For me, open innovation isn't just about using free tools. It's about being able to learn from the technology, understand how it works, and build something of my own with it.
My Agent Session
I used AI-assisted development while building and debugging Roamly, including investigating errors and checking how the frontend, backend, and AI services work together.
I haven't added a shareable DevRelay session here yet. This section is optional, so I'll add a session link if I publish one.
Prize Categories
I'll add the applicable partner prize categories after checking the official challenge requirements.
What's Next?
Roamly is still a work in progress. My next priorities are improving the reliability of place discovery, testing the full walking experience, and making image discovery work smoothly without disappearing from the walking interface.
I also want to improve how destinations are filtered so that recommendations are relevant, genuinely public, and useful for the kind of walk someone wants.
This project has taught me that getting an AI model to respond is only one part of building an AI application. Connecting that response to reliable services and making the whole experience work is a different challenge.
I'm building Roamly because I wanted to try a different use for AIβsomething that helps people explore their surroundings instead of giving them another reason to stay online.
Sometimes, the best thing an app can do is help you put your phone away. πΏ

I used AI-assisted development while building and debugging Roamly, including investigating errors and checking how the frontend, backend, and AI services work together.
I haven't added a shareable DevRelay session here yet. This section is optional, so I'll add a session link if I publish one.
Prize Categories
I'll add the applicable partner prize categories after checking the official challenge requirements.
What's Next?
Roamly is still a work in progress. My next priorities are improving the reliability of place discovery, testing the full walking experience, and making image discovery work smoothly without disappearing from the walking interface.
I also want to improve how destinations are filtered so that recommendations are relevant, genuinely public, and useful for the kind of walk someone wants.
This project has taught me that getting an AI model to respond is only one part of building an AI application. Connecting that response to reliable services and making the whole experience work is a different challenge.
I'm building Roamly because I wanted to try a different use for AIβsomething that helps people explore their surroundings instead of giving them another reason to stay online.
Sometimes, the best thing an app can do is help you put your phone away. πΏ
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.