TrailMate AI
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 pe

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
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.
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.
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.
Try TrailMate AI: https://trailmate-ai.vercel.app/
Here are some screenshots of the application.
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.
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.
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.
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.
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.
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.
The application is designed around a simple principle: the best outcome is not more time on TrailMate AI; it is more meaningful time outdoors.
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.
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.