TrailMate AI: I Built an AI That Turns Screen Time Into Outdoor Adventures
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
TrailMate AI is an AI-powered outdoor companion that turns your interests, available time, and preferred activities into personalized outdoor missions.
We spend a lot of time looking at screensโeven when we want to take a break. Sometimes, the hardest part of going outside is deciding what to do.
Go for a walk? Explore somewhere new? Take nature photographs? Spend an hour noticing things you usually overlook?
I built TrailMate AI to make that decision easier.
Instead of recommending another app to spend time in, TrailMate AI uses Google's open-weight Gemma model to help people discover things to do away from their screens.
How it works
- Tell TrailMate what you want. Enter your interests, choose an activity, and select how much time you have.
- Get a personalized mission. Gemma generates creative mission content tailored to your request, including a title, a reason the mission fits your preferences, and three activity steps.
- Head outside. Follow the mission, complete its steps, and try the nature challenge.
- Put your phone away. Start Phone-Free Mode to encourage a more intentional outdoor experience.
- Reflect on your progress. Complete your mission, earn a mission score, and revisit your saved mission history.
Activities include walking, hiking, cycling, nature exploration, photography, and a surprise-me option. Missions can be tailored to different time commitments, from one hour to longer adventures.
Features
- Personalized AI missions: Turn an idea or interest into an actionable outdoor adventure.
- Why this mission?: Understand how the generated mission matches your request, activity, and available time.
- Phone-Free Mode: Encourage yourself to stop checking your phone and focus on the experience.
- Mission completion score: Track progress through completed steps and mission milestones.
- Mission history: Review previous missions and see your accumulated outdoor and phone-free time.
- Responsive interface: Plan a mission before leaving and keep the experience simple while outdoors.
The goal isn't to maximize engagement with TrailMate AI. It's to help people use it, make a plan, and then leave their screens behind.
Demo
Try TrailMate AI: https://trailmate-ai.vercel.app/
Here are some screenshots of the application.
Home
Generated outdoor mission
Powered by Gemma
Mission history
Code
GitHub repository: https://github.com/shrutikotgire0129/Trailmate_AI
Live application: https://trailmate-ai.vercel.app/
The repository includes the application source code, AI mission-generation endpoint, mission types, interface, and mission-history implementation.
I'd welcome feedback, suggestions, and contributions that make TrailMate AI more useful, reliable, and effective at encouraging people to spend time outdoors.
How I Built It
I built TrailMate AI with Next.js, React, TypeScript, Tailwind CSS, and Google's open-weight Gemma model.
The project uses the gemma-4-26b-a4b-it model through Google's Gen AI SDK.
Technology stack
- Next.js App Router: Application structure and server-side API endpoint.
- React and TypeScript: Interactive UI, state management, and typed mission data.
- Tailwind CSS: Responsive styling and visual design.
- Gemma: Creative generation of personalized mission content.
- Browser local storage: Persistence of mission history and user progress without requiring a separate database.
- Vercel: Deployment of the application.
Why I didn't let the model generate everything
One of the biggest engineering lessons from this project was that asking an LLM to generate an entire deeply nested object can introduce unnecessary reliability problems.
My initial approach asked the model to produce the complete mission structure, including nested steps, durations, preparation, and safety information. That made the output harder to validate and more susceptible to malformed or inconsistent responses.
I changed the architecture.
Gemma generates the creative content; application code controls the structure.
The model generates a constrained set of short text fields, such as the mission title, explanation, summary, step descriptions, nature challenge, and phone-free tip. The application validates the generated content and constructs the final typed mission object.
The application determines structured fields such as step durations, difficulty, preparation guidance, and safety tips instead of relying on the model to generate every field correctly.
This separation makes the output more predictable and easier to maintain.
The generation flow is:
User preferences โ Gemma generation โ Output validation โ Application-controlled mission construction โ Outdoor mission
I also added validation and a limited retry mechanism to handle unsuitable or malformed model output.
Building for the actual goal
The AI generation is only one part of the product. I wanted the interface to encourage an action in the physical world rather than keep users interacting with the application.
That influenced several decisions:
- Missions have concrete steps instead of vague motivational suggestions.
- Phone-Free Mode encourages users to put their devices away.
- Completion tracking provides a clear endpoint to the experience.
- Mission history records progress locally.
- The mission score rewards completing the activity rather than spending more time in the app.
The application is designed around a simple principle: the best outcome is not more time on TrailMate AI; it is more meaningful time outdoors.
Why Does Open Innovation Matter?
Open innovation matters because AI should be useful beyond products designed to maximize screen time.
Using an open-weight model like Gemma gave this project a model choice that I could build around, experiment with, and integrate into a specific use case. Instead of treating AI as a generic chatbot, I could focus it on generating practical, personalized outdoor experiences.
It also encouraged me to think more carefully about the boundary between model-generated content and application-controlled logic.
The model handles creative personalization. The application handles validation, structure, and predictable behavior.
That separation is important when building AI products that people may use to make real-world plans. Generated suggestions should be helpful, but the application still needs to enforce sensible constraints and provide safety guidance.
Open-weight models also make experimentation more accessible to developers who want to explore AI-powered products and contribute to the ecosystem. They provide another path for building specialized applications without making every product decision depend on a single closed model API.
For TrailMate AI, Gemma makes the experience personal. The rest of the application turns that generated content into a structured mission that someone can actually follow.
Prize Categories
- Best Use of Gemma โ TrailMate AI uses Gemma as its core creative engine to personalize outdoor missions and support the project's screen-time-reduction goal.
Thanks for checking out TrailMate AI! I built this project for the Hacktoberfest Open-Source AI Challenge, and I hope it inspires more applications that use AI to help people do meaningful things beyond their screens.




Top comments (0)